Merge version_5_1780865172191 into main #4

Merged
bender merged 1 commits from version_5_1780865172191 into main 2026-06-07 20:47:44 +00:00

View File

@@ -63,53 +63,108 @@ const ProductsInline = () => {
tag="p"
className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance"
/>
{(undefined || undefined) && (
<div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
{undefined && <Button text={undefined.text} href={undefined.href} variant="primary"/>}
{undefined && <Button text={undefined.text} href={undefined.href} variant="secondary" animationDelay={0.1} />}
</div>
)}
</div>
<div className="w-content-width mx-auto grid grid-cols-1 md:grid-cols-6 gap-3">
{[{"description":"Buttery, golden, and perfect with your morning coffee.","href":"#","buttonText":"Buy Now","title":"Flaky Croissants ⭐⭐⭐⭐⭐","imageSrc":"http://img.b2bpic.net/free-photo/freshly-baked-croissant-white-plate-with-black-coffee_181624-60129.jpg"},{"description":"Slow-fermented for a rich flavor and perfect crust.","href":"#","imageSrc":"http://img.b2bpic.net/free-photo/loaf-bread-tied-with-rope-wooden-board_114579-72178.jpg","buttonText":"Buy Now","title":"Artisan Sourdough ⭐⭐⭐⭐⭐"},{"description":"Beautifully decorated and bursting with flavor.","href":"#","imageSrc":"http://img.b2bpic.net/free-photo/delicious-rainbow-cupcake-still-life_23-2150423807.jpg","buttonText":"Buy Now","title":"Gourmet Cupcakes ⭐⭐⭐⭐⭐"},{"description":"Classic recipes with a homemade taste you'll love.","href":"#","buttonText":"Buy Now","title":"Signature Cookies ⭐⭐⭐⭐⭐","imageSrc":"http://img.b2bpic.net/free-photo/bunch-cookies-bundled-together-marble-background_114579-25950.jpg"},{"buttonText":"Buy Now","title":"Seasonal Fruit Pies ⭐⭐⭐⭐⭐","imageSrc":"http://img.b2bpic.net/free-photo/top-view-fruit-pie-arrangement_23-2148531646.jpg","href":"#","description":"Made with the freshest fruits of the season."},{"imageSrc":"http://img.b2bpic.net/free-photo/from-cake-table_23-2147783757.jpg","title":"Custom Celebration Cakes ⭐⭐⭐⭐⭐","buttonText":"Buy Now","description":"Designed to make your special moments unforgettable.","href":"#"},{"title":"Sweet Cinnamon Rolls ⭐⭐⭐⭐⭐","buttonText":"Buy Now","imageSrc":"http://img.b2bpic.net/free-photo/cinnamon-rolls-buns-wooden-table-kanelbulle-swedish-dessert_123827-22535.jpg","description":"Warm, gooey, and topped with decadent cream cheese frosting.","href":"#"}].map((item, index) => (
<ScrollReveal key={item.title} variant="slide-up" delay={staggerDelays[index]} className={cls("col-span-1 group", gridClasses[index])}>
<a href={item.href} className="block relative overflow-hidden rounded">
<div className="h-80 xl:h-100 2xl:h-120 overflow-hidden">
{[
{
description: "Buttery, golden, and perfect with your morning coffee.",
href: "#",
buttonText: "Buy Now",
title: "Flaky Croissants ⭐⭐⭐⭐⭐",
imageSrc: "http://img.b2bpic.net/free-photo/freshly-baked-croissant-white-plate-with-black-coffee_181624-60129.jpg"
},
{
description: "Slow-fermented for a rich flavor and perfect crust.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/loaf-bread-tied-with-rope-wooden-board_114579-72178.jpg",
buttonText: "Buy Now",
title: "Artisan Sourdough ⭐⭐⭐⭐⭐"
},
{
description: "Beautifully decorated and bursting with flavor.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-rainbow-cupcake-still-life_23-2150423807.jpg",
buttonText: "Buy Now",
title: "Gourmet Cupcakes ⭐⭐⭐⭐⭐"
},
{
description: "Classic recipes with a homemade taste you'll love.",
href: "#",
buttonText: "Buy Now",
title: "Signature Cookies ⭐⭐⭐⭐⭐",
imageSrc: "http://img.b2bpic.net/free-photo/bunch-cookies-bundled-together-marble-background_114579-25950.jpg"
},
{
buttonText: "Buy Now",
title: "Seasonal Fruit Pies ⭐⭐⭐⭐⭐",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-fruit-pie-arrangement_23-2148531646.jpg",
href: "#",
description: "Made with the freshest fruit and a flaky, buttery crust."
},
{
buttonText: "Buy Now",
title: "Decadent Brownies ⭐⭐⭐⭐⭐",
imageSrc: "http://img.b2bpic.net/free-photo/chocolate-brownie-cake-piece-with-walnuts-wooden-table_114579-33519.jpg",
href: "#",
description: "Fudgy, rich, and packed with premium chocolate chunks."
},
{
buttonText: "Buy Now",
title: "Red Velvet Cake ⭐⭐⭐⭐⭐",
imageSrc: "http://img.b2bpic.net/free-photo/slice-red-velvet-cake-with-cream-cheese-frosting_114579-33520.jpg",
href: "#",
description: "Moist layers of vibrant red cake with decadent cream cheese frosting."
}
].map((item, index) => {
const gridClasses = [
"md:col-span-2",
"md:col-span-4",
"md:col-span-3",
"md:col-span-3",
"md:col-span-2",
"md:col-span-2",
"md:col-span-2",
];
const staggerDelays = [0, 0.1, 0, 0.1, 0, 0.1, 0.2];
return (
<ScrollReveal
key={index}
variant="slide-up"
delay={staggerDelays[index]}
className={cls(
"relative group overflow-hidden rounded-xl card flex flex-col min-h-[300px] md:min-h-[400px]",
gridClasses[index]
)}
>
<div className="absolute inset-0 w-full h-full">
<ImageOrVideo
imageSrc={item.imageSrc}
videoSrc={item.videoSrc}
className="rounded group-hover:scale-105 transition-transform duration-500"
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
/>
<div className="absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent" />
</div>
<div className="relative z-10 flex flex-col justify-end h-full p-6 md:p-8">
<h3 className="text-2xl md:text-3xl font-semibold text-white mb-2">
{item.title}
</h3>
<p className="text-white/80 text-base md:text-lg mb-4 max-w-md">
{item.description}
</p>
<Button
text={item.buttonText}
href={item.href}
variant="primary"
className="w-fit"
/>
</div>
<div className="absolute -inset-x-px -bottom-px h-2/5 backdrop-blur-xl mask-fade-top-overlay" aria-hidden="true" />
<div className="absolute inset-x-3 bottom-3 2xl:inset-x-4 2xl:bottom-4 z-10">
<div className="relative flex flex-col gap-1 md:gap-0 md:group-hover:gap-1 p-3 2xl:p-4 transition-all duration-400">
<div className="absolute inset-0 -z-10 card rounded translate-y-0 opacity-100 md:translate-y-full md:opacity-0 transition-all duration-400 ease-out md:group-hover:translate-y-0 md:group-hover:opacity-100" />
<h3 className="text-2xl font-semibold leading-snug text-foreground md:text-white transition-colors duration-400 md:group-hover:text-foreground">
{item.title}
</h3>
<div className="grid grid-rows-[1fr] md:grid-rows-[0fr] transition-all duration-400 ease-out md:group-hover:grid-rows-[1fr]">
<p className="overflow-hidden text-base leading-snug text-foreground opacity-100 md:opacity-0 transition-opacity duration-400 md:group-hover:opacity-100">
{item.description}
</p>
</div>
</div>
</div>
</a>
</ScrollReveal>
))}
</ScrollReveal>
);
})}
</div>
</div>
</section>
);
};
export default function ProductsSection() {
return (
<div data-webild-section="products" id="products">
<ProductsInline />
</div>
);
}