49 lines
2.3 KiB
TypeScript
49 lines
2.3 KiB
TypeScript
import React from 'react';
|
|
import { useTranslations } from 'next-intl';
|
|
import { Container, Button, Section, Heading } from '@/components/ui';
|
|
import Scribble from '@/components/Scribble';
|
|
import HeroIllustration from './HeroIllustration';
|
|
|
|
export default function Hero() {
|
|
const t = useTranslations('Home.hero');
|
|
|
|
return (
|
|
<Section className="relative h-[70vh] md:h-[90vh] flex items-center justify-center overflow-hidden bg-primary-dark py-0 md:py-0 lg:py-0">
|
|
<HeroIllustration />
|
|
|
|
<Container className="relative z-10 text-left text-white w-full">
|
|
<div className="max-w-5xl animate-slide-up">
|
|
<Heading level={1} className="mb-4 md:mb-8 tracking-tight leading-[1.05] max-w-[15ch] md:max-w-none">
|
|
{t.rich('title', {
|
|
green: (chunks) => (
|
|
<span className="relative inline-block">
|
|
<span className="relative z-10 text-accent italic">{chunks}</span>
|
|
<Scribble variant="circle" className="w-[140%] h-[140%] -top-[20%] -left-[20%] text-accent/30 hidden md:block" />
|
|
</span>
|
|
)
|
|
})}
|
|
</Heading>
|
|
<p className="text-lg md:text-2xl text-white/70 leading-relaxed max-w-2xl mb-8 md:mb-12 line-clamp-2 md:line-clamp-none">
|
|
{t('subtitle')}
|
|
</p>
|
|
<div className="flex flex-col md:flex-row gap-3 md:gap-6">
|
|
<Button href="/contact" variant="accent" size="lg" className="group w-full md:w-auto md:h-16 md:px-10 md:text-xl">
|
|
{t('cta')}
|
|
<span className="ml-3 transition-transform group-hover:translate-x-1">→</span>
|
|
</Button>
|
|
<Button href="/products" variant="ghost" size="lg" className="group w-full md:w-auto text-white hover:bg-white/10 md:bg-white md:text-primary md:hover:bg-neutral-light md:h-16 md:px-10 md:text-xl">
|
|
{t('exploreProducts')}
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</Container>
|
|
|
|
<div className="absolute bottom-6 md:bottom-10 left-1/2 -translate-x-1/2 animate-bounce hidden sm:block">
|
|
<div className="w-6 h-10 border-2 border-white/30 rounded-full flex justify-center p-1">
|
|
<div className="w-1 h-2 bg-white rounded-full" />
|
|
</div>
|
|
</div>
|
|
</Section>
|
|
);
|
|
}
|