diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index fa62fe9..f7eff65 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,105 +1,28 @@ -import HeroBillboard from '@/components/sections/hero/HeroBillboard'; -import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards'; -import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards'; -import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard'; -import AboutTestimonialParallax from '@/components/sections/about/AboutTestimonialParallax'; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in the sibling sections/ folder (one file per section). +// Edit those section files directly. Non-block content (wrappers, +// non-inlinable sections) is preserved inline; extracted section blocks +// become component refs. -export default function HomePage() { +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import MetricsSection from './HomePage/sections/Metrics'; +import TestimonialSection from './HomePage/sections/Testimonial'; +import AboutSection from './HomePage/sections/About'; + +export default function HomePage(): React.JSX.Element { return ( - <> -
- - - -
+<> + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ ); -} \ No newline at end of file +} diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..ea62972 --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -0,0 +1,23 @@ +// 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 AboutTestimonialParallax from '@/components/sections/about/AboutTestimonialParallax'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function AboutSection(): 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..c8f02be --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,25 @@ +// 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 HeroBillboard from '@/components/sections/hero/HeroBillboard'; +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..60b7ff4 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,35 @@ +// 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 MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): 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..5e9598a --- /dev/null +++ b/src/pages/HomePage/sections/Testimonial.tsx @@ -0,0 +1,31 @@ +// 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 TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TestimonialSection(): 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..e9fe4dc --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -0,0 +1,129 @@ +/* eslint-disable */ +// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body +import { Star } from "lucide-react"; +import { cls } from "@/lib/utils"; +import Button from "@/components/ui/Button"; +import TextAnimation from "@/components/ui/TextAnimation"; +import ImageOrVideo from "@/components/ui/ImageOrVideo"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +const testimonials = [ + { + name: "Magnus Ebbesen", + role: "Client Manager", + company: "Dentsu", + rating: 5 + }, + { + name: "Christian Petersson", + role: "Project Development Manager", + company: "Urban Partners", + rating: 5 + }, + { + name: "Søren Haunstrup", + role: "Administerende direktør", + company: "S2 consult", + rating: 5 + }, + { + name: "Kasper Højmann", + role: "Brand marketing manager", + company: "HISENSE", + rating: 5 + }, + { + name: "Stephan Koldbjerg", + role: "Media & Marketing manager", + company: "LIDL", + rating: 5 + } +]; + +type Testimonial = { + name: string; + role: string; + company: string; + rating: number; + imageSrc?: string; + videoSrc?: string; +}; + +const TestimonialsInline = () => { + const duplicated = [...testimonials, ...testimonials, ...testimonials, ...testimonials]; + + return ( +
+
+
+
+

{"Cases"}

+
+ + + + + + {(undefined || undefined) && ( +
+ {undefined &&
+ )} +
+ + +
+
+ {duplicated.map((testimonial, i) => ( +
+
+
+ {Array.from({ length: 5 }).map((_, index) => ( + + ))} +
+ + {testimonial.name} + +
+ {testimonial.role} + {testimonial.company} +
+
+
+ ))} +
+
+
+
+
+ ); +}; + +export default function TestimonialsSection() { + return ( +
+ +
+ ); +}