|
1 | 1 | import { Button } from '@/components/ui/button'; |
| 2 | +import type { SectionContent } from '@/lib/i18n'; |
2 | 3 | import Link from 'next/link'; |
3 | 4 |
|
4 | | -export function Hero() { |
| 5 | +type Props = { |
| 6 | + content: SectionContent; |
| 7 | +}; |
| 8 | + |
| 9 | +export function Hero({ content }: Props) { |
5 | 10 | return ( |
6 | 11 | <section id="hero" className="py-16 md:py-20"> |
7 | 12 | <div className="max-w-5xl mx-auto px-4 flex flex-col gap-6"> |
8 | | - <div className="inline-flex items-center gap-2 text-xs uppercase tracking-[0.2em] text-base-muted"> |
9 | | - <span className="h-2 w-2 rounded-full bg-accent-mint" aria-hidden /> |
10 | | - Disponible para colaborar en productos web y móviles |
11 | | - </div> |
12 | | - <h1 className="text-4xl md:text-5xl font-semibold font-display text-base-text"> |
13 | | - Full Stack Engineer enfocado en React, React Native, Node/Nest/Express y PostgreSQL. |
14 | | - </h1> |
15 | | - <p className="text-lg text-base-muted max-w-3xl"> |
16 | | - Diseño arquitecturas ligeras, optimizo performance y acelero equipos con buenas prácticas. Casos de estudio |
17 | | - privados con foco en logística, salud, medios y educación. |
18 | | - </p> |
| 13 | + {content.eyebrow ? ( |
| 14 | + <div className="inline-flex items-center gap-2 text-xs uppercase tracking-[0.2em] text-base-muted"> |
| 15 | + <span className="h-2 w-2 rounded-full bg-accent-mint" aria-hidden /> |
| 16 | + {content.eyebrow} |
| 17 | + </div> |
| 18 | + ) : null} |
| 19 | + <h1 className="text-4xl md:text-5xl font-semibold font-display text-base-text">{content.title}</h1> |
| 20 | + {content.description ? <p className="text-lg text-base-muted max-w-3xl">{content.description}</p> : null} |
19 | 21 | <div className="flex flex-wrap gap-4"> |
20 | 22 | <Link href="#contact" className="inline-flex"> |
21 | | - <Button size="lg">Hablemos</Button> |
22 | | - </Link> |
23 | | - <Link href="/cv.pdf" className="inline-flex"> |
24 | | - <Button variant="outline" size="lg"> |
25 | | - Descargar CV |
26 | | - </Button> |
| 23 | + <Button size="lg">{content.ctaPrimary}</Button> |
27 | 24 | </Link> |
| 25 | + {content.ctaSecondary ? ( |
| 26 | + <Link href="/cv.pdf" className="inline-flex"> |
| 27 | + <Button variant="outline" size="lg"> |
| 28 | + {content.ctaSecondary} |
| 29 | + </Button> |
| 30 | + </Link> |
| 31 | + ) : null} |
28 | 32 | </div> |
29 | 33 | </div> |
30 | 34 | </section> |
|
0 commit comments