diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 48e3822..3c52aff 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,195 +1,35 @@ -import AboutText from '@/components/sections/about/AboutText'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqSimple from '@/components/sections/faq/FaqSimple'; -import FeaturesComparison from '@/components/sections/features/FeaturesComparison'; -import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee'; -import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards'; -import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; -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 MetricsSection from './HomePage/sections/Metrics'; +import SocialSection from './HomePage/sections/Social'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; + + +import TestimonialSection from './HomePage/sections/Testimonial';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..b8eb560 --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -0,0 +1,22 @@ +// 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 AboutText from '@/components/sections/about/AboutText'; +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..55ddc6a --- /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/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..174e090 --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,34 @@ +// 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 FaqSimple from '@/components/sections/faq/FaqSimple'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function FaqSection(): 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..93bf0e1 --- /dev/null +++ b/src/pages/HomePage/sections/Features.tsx @@ -0,0 +1,31 @@ +// 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 FeaturesComparison from '@/components/sections/features/FeaturesComparison'; +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..5e58070 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,68 @@ +// 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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee'; +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..d7b2b6f --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,40 @@ +// 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/Social.tsx b/src/pages/HomePage/sections/Social.tsx new file mode 100644 index 0000000..95446af --- /dev/null +++ b/src/pages/HomePage/sections/Social.tsx @@ -0,0 +1,29 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "social" section. + +import React from 'react'; +import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function SocialSection(): 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..bdda2b1 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonial.tsx @@ -0,0 +1,75 @@ +import ScrollReveal from "@/components/ui/ScrollReveal"; +import TextAnimation from "@/components/ui/TextAnimation"; +import Card from "@/components/ui/Card"; +import RatingStars from "@/components/ui/RatingStars"; +import AvatarAuthor from "@/components/ui/AvatarAuthor"; + +export default function TestimonialSection() { + const testimonials = [ + { + name: "Marco R.", + role: "Imprenditore Edile", + quote: "Service Lines ci ha aiutato a recuperare crediti che consideravamo ormai persi. Professionali, veloci e sempre disponibili a chiarire ogni dubbio.", + rating: 5, + imageSrc: "https://images.unsplash.com/photo-1560250097-0b93528c311a?auto=format&fit=crop&w=800&q=80" + }, + { + name: "Laura B.", + role: "Titolare Agenzia di Servizi", + quote: "Un partner affidabile per la gestione degli insoluti. Hanno gestito le pratiche con grande delicatezza ma con estrema efficacia.", + rating: 5, + imageSrc: "https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?auto=format&fit=crop&w=800&q=80" + }, + { + name: "Giovanni T.", + role: "Amministratore di Condominio", + quote: "Ottimo servizio per il recupero delle quote condominiali non pagate. Risultati concreti in tempi molto più brevi rispetto alle vie legali tradizionali.", + rating: 4, + imageSrc: "https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?auto=format&fit=crop&w=800&q=80" + } + ]; + + return ( +
+
+
+ + + Testimonianze + + + + +

+ La nostra esperienza sul territorio ci ha permesso di aiutare numerose realtà locali a recuperare i propri crediti con successo e professionalità. +

+
+
+ +
+ {testimonials.map((testimonial, index) => ( + + + +

+ "{testimonial.quote}" +

+ +
+
+ ))} +
+
+
+ ); +} \ No newline at end of file