From 1afe59b4b22199074f510ef1dce4dcda4ce2bc9e Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Tue, 16 Jun 2026 01:07:24 +0000 Subject: [PATCH] Bob AI (stub): add a customer testimonial section to build social proof and --- src/pages/HomePage.tsx | 201 +++---------------- src/pages/HomePage/sections/Contact.tsx | 27 +++ src/pages/HomePage/sections/Faq.tsx | 42 ++++ src/pages/HomePage/sections/Hero.tsx | 38 ++++ src/pages/HomePage/sections/Metrics.tsx | 42 ++++ src/pages/HomePage/sections/Pricing.tsx | 76 +++++++ src/pages/HomePage/sections/Testimonials.tsx | 81 ++++++++ 7 files changed, 329 insertions(+), 178 deletions(-) create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Faq.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/Pricing.tsx create mode 100644 src/pages/HomePage/sections/Testimonials.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index e230cac..7abc03d 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,187 +1,32 @@ -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn'; -import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee'; -import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards'; -import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards'; -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 PricingSection from './HomePage/sections/Pricing'; +import MetricsSection from './HomePage/sections/Metrics'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; + + + +{/* webild-stub @2026-06-16T01:07:23.104Z: add a customer testimonial section to build social proof and reinforce the trust established by your 'Nuestros Números' metrics. */} + +import TestimonialsSection from './HomePage/sections/Testimonials';export default function HomePage(): 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..46a372c --- /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..d5d2fb3 --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,42 @@ +// 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 FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn'; +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..52fd6a5 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,38 @@ +// 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..dd68a8b --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,42 @@ +// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Pricing.tsx b/src/pages/HomePage/sections/Pricing.tsx new file mode 100644 index 0000000..6cfcc4c --- /dev/null +++ b/src/pages/HomePage/sections/Pricing.tsx @@ -0,0 +1,76 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "pricing" section. + +import React from 'react'; +import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function PricingSection(): 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..d5e79a5 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -0,0 +1,81 @@ +import { motion } from "motion/react" +import ScrollReveal from "@/components/ui/ScrollReveal" +import TextAnimation from "@/components/ui/TextAnimation" +import RatingStars from "@/components/ui/RatingStars" +import Tag from "@/components/ui/Tag" +import ImageOrVideo from "@/components/ui/ImageOrVideo" + +export default function TestimonialsSection() { + const testimonials = [ + { + name: "Carlos M.", + role: "Jugador de Free Fire", + quote: "¡Excelente servicio! Los diamantes llegaron en menos de 5 minutos. Totalmente recomendado.", + rating: 5, + imageSrc: "https://images.unsplash.com/photo-1566492031523-87d281758a56?auto=format&fit=crop&w=150&h=150" + }, + { + name: "Lucía G.", + role: "Jugadora de Clash Royale", + quote: "Siempre recargo aquí. Los precios son los mejores y la atención por WhatsApp es súper rápida.", + rating: 5, + imageSrc: "https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=150&h=150" + }, + { + name: "Marcos T.", + role: "Jugador de Roblox", + quote: "Muy confiable. Al principio tenía dudas pero todo salió perfecto. Ya soy cliente fijo.", + rating: 5, + imageSrc: "https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?auto=format&fit=crop&w=150&h=150" + } + ] + + return ( +
+
+
+ + + + + +

+ Miles de jugadores ya confían en nosotros para recargar sus diamantes de forma rápida y segura. +

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

+ "{testimonial.quote}" +

+
+
+ +
+
+

{testimonial.name}

+

{testimonial.role}

+
+
+
+
+ ))} +
+
+
+ ) +} \ No newline at end of file -- 2.49.1