@@ -9,6 +9,7 @@ import { CvPageProps } from './page'
99import { filterEmptyLexicalNodes , formatDate , fromToYear , hasLexicalNodes } from './utilities'
1010import * as process from 'node:process'
1111import './default_page.scss'
12+ import { LinkWithIcon , OptionalLink } from './(lib)/components/link'
1213
1314const DefaultPage : React . FC < CvPageProps > = async ( {
1415 cv,
@@ -103,9 +104,7 @@ const DefaultPage: React.FC<CvPageProps> = async ({
103104 < h3 > { I18nCollection . fieldLabel . links [ locale ] } </ h3 >
104105 { cv . links ?. map ( ( link ) => (
105106 < div key = { link . id } >
106- < a href = { link . url } target = "_blank" >
107- { capitalize ( link . platform ) }
108- </ a >
107+ < LinkWithIcon name = { capitalize ( link . platform ) } url = { link . url } />
109108 </ div >
110109 ) ) }
111110 </ div >
@@ -134,12 +133,7 @@ const DefaultPage: React.FC<CvPageProps> = async ({
134133 < tr >
135134 < td className = { 'no-page-break' } >
136135 < p className = { 'font-normal' } >
137- { item . link && (
138- < a href = { item . link } target = "_blank" >
139- { item . institution }
140- </ a >
141- ) }
142- { ! item . link && item . institution }
136+ < OptionalLink url = { item . link } name = { item . institution } />
143137 </ p >
144138 < p className = { 'small' } >
145139 { fromToYear ( locale , item . fromYear , item . toYear ) }
@@ -164,12 +158,7 @@ const DefaultPage: React.FC<CvPageProps> = async ({
164158 < tr >
165159 < td className = { 'no-page-break' } >
166160 < p className = { 'font-normal' } >
167- { item . link && (
168- < a href = { item . link } target = "_blank" >
169- { item . name }
170- </ a >
171- ) }
172- { ! item . link && item . name }
161+ < OptionalLink url = { item . link } name = { item . name } />
173162 </ p >
174163 < p className = { 'small' } > { fromToYear ( locale , item . toYear , item . toYear ) } </ p >
175164 < div className = { 'space-y-1' } >
@@ -192,12 +181,7 @@ const DefaultPage: React.FC<CvPageProps> = async ({
192181 < tr >
193182 < td className = { 'no-page-break' } >
194183 < p className = { 'font-normal' } >
195- { item . link && (
196- < a href = { item . link } target = "_blank" >
197- { item . name }
198- </ a >
199- ) }
200- { ! item . link && item . name }
184+ < OptionalLink url = { item . link } name = { item . name } />
201185 </ p >
202186 < p className = { 'small' } > { fromToYear ( locale , item . toYear , item . toYear ) } </ p >
203187 < div className = { 'space-y-1' } >
@@ -356,12 +340,10 @@ const DefaultPage: React.FC<CvPageProps> = async ({
356340 < tr >
357341 < td className = { 'no-page-break' } >
358342 < p className = { 'mb-0.5 font-normal' } >
359- { ( item . project as Project ) . link && (
360- < a href = { ( item . project as Project ) . link || '' } target = "_blank" >
361- { ( item . project as Project ) . name }
362- </ a >
363- ) }
364- { ! ( item . project as Project ) . link && ( item . project as Project ) . name }
343+ < OptionalLink
344+ url = { ( item . project as Project ) . link }
345+ name = { ( item . project as Project ) . name || '' }
346+ />
365347 </ p >
366348 < p className = { 'small mb-0.5' } > { ( item . company as Company ) . name } </ p >
367349 < p className = { 'small mb-0.5' } >
0 commit comments