4 Commits

Author SHA1 Message Date
bebf2f4c1d Bob AI: Add a video as the background for the about us section (Medi 2026-02-27 00:06:19 +02:00
5679063b68 Merge version_3 into main
Merge version_3 into main
2026-02-26 22:03:57 +00:00
97ac8e7f7b Bob AI: i dont like this hero section 2026-02-27 00:03:49 +02:00
8a452dad97 Merge version_2 into main
Merge version_2 into main
2026-02-26 22:01:52 +00:00
2 changed files with 39 additions and 14 deletions

View File

@@ -2,7 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import HeroCentered from '@/components/sections/hero/HeroCentered';
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import MediaAbout from '@/components/sections/about/MediaAbout';
import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern';
import PricingCardOne from '@/components/sections/pricing/PricingCardOne';
@@ -41,21 +41,41 @@ export default function LandingPage() {
</div>
<div id="hero" data-section="hero">
<HeroCentered
title="Welcome to Artisan Bakery"
description="Experience the warmth of freshly baked bread, pastries, and cakes made with love and premium ingredients. From sourdough to croissants, every bite tells a story of craftsmanship."
background={{ variant: "plain" }}
avatars={[
{ src: "http://img.b2bpic.net/free-photo/tablet-mobile-female-using-phone_1303-2074.jpg", alt: "Happy customer enjoying fresh bread" },
{ src: "http://img.b2bpic.net/free-photo/cook-accurately-breaks-egg-make-dough-ingredients-cooking-flour-products-dough-bread-muffins-pie-pizza-dough-copy-space_639032-453.jpg", alt: "Artisan baker at work" },
{ src: "http://img.b2bpic.net/free-photo/various-baking-supermarket-shelves-sale_627829-7384.jpg", alt: "Golden pastries fresh from the oven" }
]}
avatarText="Trusted by thousands of families"
<HeroBillboardRotatedCarousel
title="Artisan Bakery"
description="Discover our rotating selection of freshly baked masterpieces. From traditional sourdough to delicate French pastries, each creation is crafted with passion and premium ingredients."
background={{ variant: "radial-gradient" }}
tag="Freshly Baked Daily"
buttons={[
{ text: "Order Now", href: "pricing" },
{ text: "Learn Our Story", href: "about" }
{ label: "Order Now", href: "#order", dataWebildId: "hero_order_btn" },
{ label: "View Menu", href: "#menu", dataWebildId: "hero_menu_btn" }
]}
buttonAnimation="slide-up"
carouselItems={[
{
id: "item-1",
imageSrc: "https://img.b2bpic.net/free-photo/close-up-delicious-croissants_23-2149199145.jpg",
imageAlt: "Golden croissants fresh from the oven"
},
{
id: "item-2",
imageSrc: "https://img.b2bpic.net/free-photo/artisan-sourdough-bread-rustic-table_23-2149199234.jpg",
imageAlt: "Rustic sourdough loaf with perfect crust"
},
{
id: "item-3",
imageSrc: "https://img.b2bpic.net/free-photo/assorted-pastries-display-bakery-case_23-2149199312.jpg",
imageAlt: "Assorted pastries and cakes"
},
{
id: "item-4",
imageSrc: "https://img.b2bpic.net/free-photo/chocolate-eclairs-elegant-presentation_23-2149199401.jpg",
imageAlt: "Elegant chocolate eclairs"
}
]}
autoPlay={true}
autoPlayInterval={5000}
ariaLabel="Artisan Bakery hero section with rotating product carousel"
/>
</div>

View File

@@ -1,6 +1,5 @@
"use client";
import MediaContent from "@/components/shared/MediaContent";
import TextBox from "@/components/Textbox";
import { cls } from "@/lib/utils";
@@ -31,6 +30,8 @@ interface MediaAboutProps {
buttonTextClassName?: string;
mediaWrapperClassName?: string;
mediaClassName?: string;
backgroundVideoSrc?: string;
backgroundVideoAriaLabel?: string;
}
const MediaAbout = ({
@@ -57,11 +58,15 @@ const MediaAbout = ({
buttonTextClassName = "",
mediaWrapperClassName = "",
mediaClassName = "",
backgroundVideoSrc,
backgroundVideoAriaLabel,
}: MediaAboutProps) => {
return (
<section
aria-label={ariaLabel}
style={backgroundVideoSrc ? { position: "relative" } : undefined}
className={cls("relative", backgroundVideoSrc && "overflow-hidden")}
className={cls("relative py-20 w-full", useInvertedBackground && "bg-foreground", className)}
>
<div className={cls("relative w-content-width mx-auto aspect-auto min-h-70 md:aspect-video md:min-h-0 rounded-theme-capped overflow-hidden", mediaWrapperClassName)}>