diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 0c83cbc..09658e4 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -9,22 +9,70 @@ import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMa import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards'; import { LineChart, Target, TrendingUp, Zap } from "lucide-react"; import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +import { useState, useEffect } from "react"; + +const translations = { + en: { + tag: "Performance Marketing Agency", + title: "Scale your brand with data and strategy", + description: "We combine creativity, analytics, and performance marketing to grow your business with measurable results. From campaign strategy to conversion optimization, every decision is backed by data.", + primaryBtn: "Start Now", + secondaryBtn: "View Pricing" + }, + es: { + tag: "Agencia de Performance Marketing", + title: "Escala tu marca con datos y estrategia", + description: "Combinamos creatividad, analítica y marketing de resultados para hacer crecer tu negocio con resultados medibles. Desde la estrategia de campaña hasta la optimización de conversiones, cada decisión está respaldada por datos.", + primaryBtn: "Empezar Ahora", + secondaryBtn: "Ver Precios" + } +}; export default function HomePage() { + const [lang, setLang] = useState<"en" | "es">("es"); + const [isTransitioning, setIsTransitioning] = useState(false); + + useEffect(() => { + const storedRegion = localStorage.getItem("selectedRegion"); + if (storedRegion) { + try { + const region = JSON.parse(storedRegion); + setLang(region.lang === "en" ? "en" : "es"); + } catch (e) {} + } + + const handleRegionChange = (e: Event) => { + const customEvent = e as CustomEvent; + if (customEvent.detail && customEvent.detail.lang) { + setIsTransitioning(true); + setTimeout(() => { + setLang(customEvent.detail.lang === "en" ? "en" : "es"); + setIsTransitioning(false); + }, 300); + } + }; + + window.addEventListener("regionChange", handleRegionChange); + return () => window.removeEventListener("regionChange", handleRegionChange); + }, []); + + const t = translations[lang]; + return ( <> -
+