|
1 | 1 | import Experience from './../Experience'; |
2 | | -import React from 'react'; |
| 2 | +import React, { useState } from 'react'; |
3 | 3 | import Button from '@/ui/button'; |
4 | 4 | import { Experience as ExpGenerated } from '../../generated/graphql'; |
| 5 | +import Link from 'next/link'; |
| 6 | +import { useTranslations } from '../../hooks'; |
| 7 | + |
| 8 | +type experienceCardProps = { |
| 9 | + cvUrl?: string; |
| 10 | + experiences: ExpGenerated[]; |
| 11 | +}; |
| 12 | + |
| 13 | +const ExperiencesCard = ({ cvUrl, experiences }: experienceCardProps) => { |
| 14 | + const translationsResponse = useTranslations('ExperiencesCard'); |
| 15 | + const [labels, setLabels] = useState(async () => { |
| 16 | + await translationsResponse.then((data) => { |
| 17 | + setLabels(data); |
| 18 | + }); |
| 19 | + }); |
5 | 20 |
|
6 | | -const ExperiencesCard = ({ experiences }: { experiences: ExpGenerated[] }) => { |
7 | 21 | return ( |
8 | | - <div className="w-auto md:w-96 h-auto p-4 border border-stone-600 rounded-xl flex flex-col justify-between justify-self-center bg-black/50"> |
9 | | - <> |
10 | | - <h2 className="font-montserrat font-bold text-carrara">Work</h2> |
11 | | - {experiences.map((experience) => { |
12 | | - return <Experience {...experience} />; |
13 | | - })} |
14 | | - <div className="mt-4"> |
15 | | - <Button primary size="full" text="Download CV" /> |
16 | | - </div> |
17 | | - </> |
| 22 | + <div className="w-full md:w-1/2 lg:w-1/3 flex items-center justify-center"> |
| 23 | + <div className="w-auto md:w-96 h-auto p-4 border border-stone-600 rounded-xl flex flex-col justify-between justify-self-center bg-black/50"> |
| 24 | + <> |
| 25 | + <h2 className="font-montserrat font-bold text-carrara">{labels['work']}</h2> |
| 26 | + {experiences.map((experience) => { |
| 27 | + return <Experience {...experience} />; |
| 28 | + })} |
| 29 | + <div className="mt-4"> |
| 30 | + {cvUrl?.length > 0 && ( |
| 31 | + <Link href={cvUrl} target="_blank"> |
| 32 | + <Button primary size="full" text={labels['downloadCV']} /> |
| 33 | + </Link> |
| 34 | + )} |
| 35 | + </div> |
| 36 | + </> |
| 37 | + </div> |
18 | 38 | </div> |
19 | 39 | ); |
20 | 40 | }; |
|
0 commit comments