Files
klz-cables.com/components/home/Hero.tsx
2026-01-17 02:57:53 +01:00

58 lines
2.3 KiB
TypeScript

import React from 'react';
import { useTranslations } from 'next-intl';
import { Container, Button } from '@/components/ui';
import Scribble from '@/components/Scribble';
export default function Hero() {
const t = useTranslations('Home.hero');
return (
<section className="relative h-[90vh] flex items-center justify-center overflow-hidden bg-primary-dark">
<div className="absolute inset-0 z-0">
<video
className="w-full h-full object-cover scale-105 animate-slow-zoom"
autoPlay
muted
loop
playsInline
poster="/uploads/2025/02/Still-2025-02-10-104337_1.1.1.webp"
>
<source src="/uploads/2025/02/header.webm" type="video/webm" />
<source src="/uploads/2025/02/header.mp4" type="video/mp4" />
</video>
<div className="absolute inset-0 bg-gradient-to-b from-primary-dark/40 via-primary-dark/20 to-primary-dark/60" />
</div>
<Container className="relative z-10 text-left text-white w-full">
<div className="max-w-5xl animate-slide-up">
<h1 className="text-5xl md:text-7xl lg:text-8xl font-extrabold mb-8 tracking-tight leading-[1.05]">
{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" />
</span>
)
})}
</h1>
<div className="mt-12 flex flex-wrap gap-6">
<Button href="/contact" variant="accent" size="xl" className="group">
{t('cta')}
<span className="ml-3 transition-transform group-hover:translate-x-1">&rarr;</span>
</Button>
<Button href="/products" variant="white" size="xl" className="group">
Explore Products
</Button>
</div>
</div>
</Container>
<div className="absolute bottom-10 left-1/2 -translate-x-1/2 animate-bounce">
<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>
);
}