diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index ff6948c..6bc2a23 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,213 +1,32 @@ -import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion'; -import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps'; -import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; -import HeroBrand from '@/components/sections/hero/HeroBrand'; -import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; -import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; -import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards'; -import { Award, Cake, Heart, Truck, Users, Wheat } from "lucide-react"; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in .//sections/.tsx. Edit the section +// files directly; this shell only fixes render order. -export default function HomePage() { +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import ProductsSection from './HomePage/sections/Products'; +import HowItWorksSection from './HomePage/sections/HowItWorks'; +import MetricsSection from './HomePage/sections/Metrics'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import SocialProofSection from './HomePage/sections/SocialProof'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; + + +import AboutCustomSection from './HomePage/sections/AboutCustom'; +import AboutSection from './HomePage/sections/About';export default function HomePage(): React.JSX.Element { return ( <> -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
+ + + + + + + + + + ); } diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..be308ae --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -0,0 +1,95 @@ +import React, { useState, useEffect } from 'react'; +import { Wheat, Heart, Truck, Clock } from "lucide-react"; +import Tag from "@/components/ui/Tag"; +import ImageOrVideo from "@/components/ui/ImageOrVideo"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +export default function AboutSection() { + const [timeLeft, setTimeLeft] = useState(5 * 60); + + useEffect(() => { + const timer = setInterval(() => { + setTimeLeft((prev) => (prev > 0 ? prev - 1 : 0)); + }, 1000); + return () => clearInterval(timer); + }, []); + + const minutes = Math.floor(timeLeft / 60); + const seconds = timeLeft % 60; + + return ( +
+
+
+ +
+ +
+ +
+

+ Crafting Joy, One Bake at a Time +

+

+ At Sweet Delights Bakery, we believe in the magic of fresh ingredients and traditional techniques. Every pastry, cake, and bread is baked with passion and precision, ensuring a delightful experience with every bite. From our family kitchen to your table, we bring you the taste of homemade perfection. +

+
+ +
+ {[ + { + icon: Wheat, + title: "Premium Ingredients", + description: "Sourced locally and globally for the finest quality and flavor." + }, + { + icon: Heart, + title: "Handcrafted with Love", + description: "Each item is carefully prepared by our skilled bakers." + }, + { + icon: Truck, + title: "Convenient Delivery", + description: "Freshness brought directly to your home or office." + } + ].map((item, idx) => ( +
+
+ +
+
+

{item.title}

+

{item.description}

+
+
+ ))} +
+
+ + +
+ + + {/* Countdown Timer Overlay */} +
+
+ + Today's Offer Ends +
+
+ {String(minutes).padStart(2, '0')}:{String(seconds).padStart(2, '0')} +
+ +
+
+
+
+
+
+ ); +} diff --git a/src/pages/HomePage/sections/AboutCustom.tsx b/src/pages/HomePage/sections/AboutCustom.tsx new file mode 100644 index 0000000..e691fa7 --- /dev/null +++ b/src/pages/HomePage/sections/AboutCustom.tsx @@ -0,0 +1,86 @@ +// Created by create_section tool. + +import React from 'react'; +import { useState, useEffect } from 'react'; +import { Wheat, Heart, Truck, Clock } from "lucide-react"; +import Tag from "@/components/ui/Tag"; +import ImageOrVideo from "@/components/ui/ImageOrVideo"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +export default function AboutCustomSection(): React.JSX.Element { + return ( +
+
+
+ +
+ +
+ +
+

+ Crafting Joy, One Bake at a Time +

+

+ At Sweet Delights Bakery, we believe in the magic of fresh ingredients and traditional techniques. Every pastry, cake, and bread is baked with passion and precision, ensuring a delightful experience with every bite. From our family kitchen to your table, we bring you the taste of homemade perfection. +

+
+ +
+ {[ + { + icon: Wheat, + title: "Premium Ingredients", + description: "Sourced locally and globally for the finest quality and flavor." + }, + { + icon: Heart, + title: "Handcrafted with Love", + description: "Each item is carefully prepared by our skilled bakers." + }, + { + icon: Truck, + title: "Convenient Delivery", + description: "Freshness brought directly to your home or office." + } + ].map((item, idx) => ( +
+
+ +
+
+

{item.title}

+

{item.description}

+
+
+ ))} +
+
+ + +
+ + + {/* Countdown Timer Overlay */} +
+
+ + Today's Offer Ends +
+
+ 05:00 +
+ +
+
+
+
+
+
+ ); +} diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..42714ca --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -0,0 +1,23 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "contact" section. + +import React from 'react'; +import ContactCta from '@/components/sections/contact/ContactCta'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ContactSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..02125ad --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,50 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "faq" section. + +import React from 'react'; +import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function FaqSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..8c3817b --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,24 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "hero" section. + +import React from 'react'; +import HeroBrand from '@/components/sections/hero/HeroBrand'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/HowItWorks.tsx b/src/pages/HomePage/sections/HowItWorks.tsx new file mode 100644 index 0000000..efe7d4d --- /dev/null +++ b/src/pages/HomePage/sections/HowItWorks.tsx @@ -0,0 +1,28 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "how-it-works" section. + +import React from 'react'; +import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HowItWorksSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Metrics.tsx b/src/pages/HomePage/sections/Metrics.tsx new file mode 100644 index 0000000..5defa55 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,32 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "metrics" section. + +import React from 'react'; +import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; +import { Award, Cake, Heart, Truck, Users, Wheat } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Products.tsx b/src/pages/HomePage/sections/Products.tsx new file mode 100644 index 0000000..825123a --- /dev/null +++ b/src/pages/HomePage/sections/Products.tsx @@ -0,0 +1,36 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "products" section. + +import React from 'react'; +import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ProductsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/SocialProof.tsx b/src/pages/HomePage/sections/SocialProof.tsx new file mode 100644 index 0000000..81c2a9a --- /dev/null +++ b/src/pages/HomePage/sections/SocialProof.tsx @@ -0,0 +1,22 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "social-proof" section. + +import React from 'react'; +import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function SocialProofSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Testimonials.tsx b/src/pages/HomePage/sections/Testimonials.tsx new file mode 100644 index 0000000..55ae8a1 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -0,0 +1,40 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "testimonials" section. + +import React from 'react'; +import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TestimonialsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +}