From b398abf0bd5a967a99c533f04d8fb99de2f11dac Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sat, 13 Jun 2026 20:40:57 +0000 Subject: [PATCH] Bob AI (stub): create the Handwerker homepage design based on the professio --- src/pages/HomePage.tsx | 300 ++------------------ src/pages/HomePage/sections/About.tsx | 39 +++ src/pages/HomePage/sections/Contact.tsx | 27 ++ src/pages/HomePage/sections/Features.tsx | 37 +++ src/pages/HomePage/sections/Hero.tsx | 40 +++ src/pages/HomePage/sections/Metrics.tsx | 28 ++ src/pages/HomePage/sections/Product.tsx | 64 +++++ src/pages/HomePage/sections/Team.tsx | 59 ++++ src/pages/HomePage/sections/Testimonial.tsx | 57 ++++ 9 files changed, 378 insertions(+), 273 deletions(-) create mode 100644 src/pages/HomePage/sections/About.tsx create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Features.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Metrics.tsx create mode 100644 src/pages/HomePage/sections/Product.tsx create mode 100644 src/pages/HomePage/sections/Team.tsx create mode 100644 src/pages/HomePage/sections/Testimonial.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index f1c9dbf..f9bb1cc 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,285 +1,39 @@ -import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards'; -import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento'; -import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos'; -import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards'; -import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards'; -import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards'; -import { Clock, Phone, Shield, Wrench } 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. Non-block content (wrappers, non-inlinable sections) is +// preserved inline; extracted section blocks become refs. -export default function HomePage() { +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import AboutSection from './HomePage/sections/About'; +import FeaturesSection from './HomePage/sections/Features'; +import ProductSection from './HomePage/sections/Product'; +import MetricsSection from './HomePage/sections/Metrics'; +import TeamSection from './HomePage/sections/Team'; +import TestimonialSection from './HomePage/sections/Testimonial'; +import ContactSection from './HomePage/sections/Contact'; + + +{/* webild-stub @2026-06-13T20:40:56.128Z: create the Handwerker homepage design based on the professional design specifications previously discussed */} + +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..cc8052d --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -0,0 +1,39 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "about" section. + +import React from 'react'; +import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit'; +import { Clock, Phone, Shield, Wrench } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function AboutSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..2d59d1f --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -0,0 +1,27 @@ +// 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/Features.tsx b/src/pages/HomePage/sections/Features.tsx new file mode 100644 index 0000000..895c6b1 --- /dev/null +++ b/src/pages/HomePage/sections/Features.tsx @@ -0,0 +1,37 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "features" section. + +import React from 'react'; +import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function FeaturesSection(): 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..43ea809 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,40 @@ +// 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 HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): 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..415c352 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,28 @@ +// 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 MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Product.tsx b/src/pages/HomePage/sections/Product.tsx new file mode 100644 index 0000000..8b90e97 --- /dev/null +++ b/src/pages/HomePage/sections/Product.tsx @@ -0,0 +1,64 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "product" section. + +import React from 'react'; +import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ProductSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Team.tsx b/src/pages/HomePage/sections/Team.tsx new file mode 100644 index 0000000..b926c94 --- /dev/null +++ b/src/pages/HomePage/sections/Team.tsx @@ -0,0 +1,59 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "team" section. + +import React from 'react'; +import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards'; +import { Clock, Phone, Shield, Wrench } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TeamSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Testimonial.tsx b/src/pages/HomePage/sections/Testimonial.tsx new file mode 100644 index 0000000..a9ffaeb --- /dev/null +++ b/src/pages/HomePage/sections/Testimonial.tsx @@ -0,0 +1,57 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "testimonial" section. + +import React from 'react'; +import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TestimonialSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +}