4 Commits

Author SHA1 Message Date
kudinDmitriyUp
4fae7e7d26 feat: Reposition hero USP cards around the central image 2026-05-07 15:00:10 +00:00
ebdbfe95c9 Merge version_4_1778165801395 into main
Merge version_4_1778165801395 into main
2026-05-07 14:58:15 +00:00
kudinDmitriyUp
9dc8496763 feat: Add glassmorphic USP cards to hero section 2026-05-07 14:57:54 +00:00
f058cdfd5e Merge version_3_1778165673277 into main
Merge version_3_1778165673277 into main
2026-05-07 14:56:01 +00:00

View File

@@ -4,6 +4,7 @@ import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import AvatarGroup from "@/components/ui/AvatarGroup";
import { Clock, ShieldCheck, DollarSign } from "lucide-react";
type HeroBillboardProps = {
tag?: string;
@@ -26,6 +27,24 @@ const HeroBillboard = ({
imageSrc,
videoSrc,
}: HeroBillboardProps) => {
const usps = [
{
icon: Clock,
title: "24/7 Service",
description: "Always available for emergency repairs.",
},
{
icon: ShieldCheck,
title: "Certified Technicians",
description: "Expertise you can trust for every job.",
},
{
icon: DollarSign,
title: "Transparent Pricing",
description: "No hidden fees, just honest quotes.",
},
];
return (
<section aria-label="Hero section" className="relative pt-25 pb-20 md:py-30 mb-20">
<HeroBackgroundSlot />
@@ -59,8 +78,25 @@ const HeroBillboard = ({
</div>
</div>
<ScrollReveal variant="fade-blur" delay={0.2} className="w-full p-3 xl:p-4 2xl:p-5 card rounded overflow-hidden">
<ScrollReveal variant="fade-blur" delay={0.2} className="relative w-full p-3 xl:p-4 2xl:p-5 card rounded overflow-hidden">
<ImageOrVideo imageSrc={imageSrc} videoSrc={videoSrc} className="aspect-4/5 md:aspect-video" />
<div className="absolute inset-0 flex justify-center items-center">
{usps.map((usp, index) => (
<div
key={index}
className={`absolute bg-white/10 backdrop-blur-lg rounded-lg p-4 flex flex-col items-center justify-center text-center text-white border border-white/20
${index === 0 ? 'bottom-4 left-4' : ''}
${index === 1 ? 'top-4' : ''}
${index === 2 ? 'bottom-4 right-4' : ''}
`}
style={{ width: '200px', height: '150px' }}
>
<usp.icon className="w-8 h-8 mb-2" />
<h3 className="font-semibold text-lg">{usp.title}</h3>
<p className="text-sm">{usp.description}</p>
</div>
))}
</div>
</ScrollReveal>
</div>
</section>