Merge version_12_1781891403647 into main #12

Merged
bender merged 3 commits from version_12_1781891403647 into main 2026-06-19 17:53:22 +00:00
4 changed files with 40 additions and 1 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import ServiciosPage from "@/pages/ServiciosPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/servicios" element={<ServiciosPage />} />
</Route>
</Routes>
);

View File

@@ -34,7 +34,9 @@ export default function Layout() {
{
"name": "Faq",
"href": "#faq"
}
},
{ name: "Servicios", href: "/servicios" },
];
return (

View File

@@ -0,0 +1,34 @@
import Button from "@/components/ui/Button";
import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import GridOrCarousel from "@/components/ui/GridOrCarousel";
import { Check } from "lucide-react";
export default function ServiciosPage() {
return (
<>
<div data-webild-section="HeroSplit"><section aria-label="Hero section" className="relative flex items-center h-fit md:h-svh md:py-0"><HeroBackgroundSlot /><div className="flex flex-col md:flex-row items-center w-content-width mx-auto"><div className="w-full md:w-1/2"><div className="flex flex-col items-center md:items-start gap-3"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Servicios VFL</p></div><TextAnimation text="Ampliaciones en Resina: Elegancia y Protección para tus Fotos" variant="fade" gradientText={true} tag="h1" className="text-7xl 2xl:text-8xl leading-[1.15] font-semibold text-center md:text-left text-balance" /><TextAnimation text="Transformamos tus fotos de bodas, graduaciones y fiestas en elegantes cuadros de resina. Descubre nuestras ampliaciones y opciones con video USB." variant="fade" gradientText={false} tag="p" className="md:max-w-8/10 text-lg md:text-xl leading-snug text-center md:text-left text-balance" /><div className="flex flex-wrap max-md:justify-center gap-3 mt-2 md:mt-3"><Button text="WhatsApp 77644014" href="https://wa.me/77644014" variant="primary" /><Button text="Tamaños y Precios" href="#precios" variant="secondary" animationDelay={0.1} /></div></div></div><ScrollReveal variant="fade-blur" delay={0.2} className="w-full md:w-1/2 h-100 md:h-[65vh] md:max-h-[75svh] p-2 xl:p-3 2xl:p-4 card rounded overflow-hidden"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/beautiful-young-wedding-couple-posing-outdoor_23-2148816048.jpg" /></ScrollReveal></div></section></div>
<div data-webild-section="FeaturesMediaCards"><section aria-label="Features section" className=""><div className="flex flex-col gap-8"><div className="flex flex-col items-center w-content-width mx-auto gap-2"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Nuestros Servicios</p></div><TextAnimation text="Ampliaciones y Enmarcaciones en Resina" variant="fade-blur" gradientText={true} tag="h2" className="md:max-w-8/10 text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance" /><TextAnimation text="Inmortaliza tus momentos más preciados con nuestra elegante resina. Ideal para bodas, graduaciones, fiestas y recuerdos familiares." variant="fade-blur" gradientText={false} tag="p" className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance" /><div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3"><Button text="Contactar por WhatsApp" href="https://wa.me/77644014" variant="primary" /><Button text="Ver Precios" href="#precios" variant="secondary" animationDelay={0.1} /></div></div><ScrollReveal variant="fade-blur"><GridOrCarousel><div key="Recuerdos de Boda" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/bride-groom-having-their-wedding-with-guests_23-2149043955.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Recuerdos de Boda</h3><p className="text-base leading-snug">Conserva la magia de tu gran día con un acabado brillante y duradero.</p></div></div>
<div key="Logros y Graduaciones" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/students-knowing-their-grades-concept_23-2147669009.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Logros y Graduaciones</h3><p className="text-base leading-snug">Enmarca tu título o foto de graduación con la elegancia que merece.</p></div></div>
<div key="Momentos Familiares" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/happy-family-having-fun-together_23-2148983375.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Momentos Familiares</h3><p className="text-base leading-snug">Tus fotos familiares y de fiestas protegidas para siempre en resina.</p></div></div>
<div key="Rosas y Detalles" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/beautiful-red-roses-bouquet_23-2149050012.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Rosas y Detalles</h3><p className="text-base leading-snug">Encapsulamos rosas y pequeños detalles para que duren toda la vida.</p></div></div>
<div key="Opción de Video (USB)" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/usb-flash-drive-laptop_23-2148113401.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Opción de Video (USB)</h3><p className="text-base leading-snug">Incluye un USB con el video de tu evento integrado en el marco.</p></div></div>
<div key="Tamaños y Precios" className="flex flex-col gap-3 xl:gap-3.5 2xl:gap-4 p-3 xl:p-3.5 2xl:p-4 h-full card rounded"><div className="aspect-square rounded overflow-hidden button-secondary shadow shadow-foreground/5"><ImageOrVideo imageSrc="https://img.freepik.com/free-photo/blank-picture-frame-wall_53876-92942.jpg" /></div><div className="flex flex-col gap-1 p-3 xl:p-3.5 2xl:p-4"><h3 className="text-2xl font-semibold leading-snug">Tamaños y Precios</h3><p className="text-base leading-snug">Desde pequeños detalles hasta grandes impresiones. Consulta precios.</p></div></div></GridOrCarousel></ScrollReveal></div></section></div>
<div data-webild-section="PricingSimpleCards"><section aria-label="Pricing section" className=""><div className="flex flex-col gap-8"><div className="flex flex-col items-center w-content-width mx-auto gap-2"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Tamaños y Precios</p></div><TextAnimation text="El Tamaño Ideal para tus Recuerdos" variant="fade" gradientText={true} tag="h2" className="md:max-w-8/10 text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance" /><TextAnimation text="Desde pequeños detalles hasta grandes impresiones, tenemos el tamaño ideal para cada espacio. Opciones de ampliación y enmarcación en resina para bodas, graduaciones y fiestas." variant="fade" gradientText={false} tag="p" className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance" /><div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3"><Button text="Pedir por WhatsApp" href="https://wa.me/77644014" variant="primary" /><Button text="Más Información" href="#contacto" variant="secondary" animationDelay={0.1} /></div></div><ScrollReveal variant="fade"><GridOrCarousel><div key="Estándar" className="flex flex-col gap-4 xl:gap-5 2xl:gap-6 p-6 xl:p-7 2xl:p-8 h-full card rounded"><div className="px-3 py-1 text-sm card rounded w-fit"><p>Estándar</p></div><div className="flex flex-col gap-1"><span className="text-5xl md:text-6xl font-semibold">Desde $45</span><span className="text-base font-medium">Perfecto para retratos, rosas preservadas o pequeños recuerdos familiares.</span></div><div className="w-full h-px bg-foreground/20" /><div className="flex flex-col gap-3"><div key="Tamaño 8x10 pulgadas" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Tamaño 8x10 pulgadas</span></div>
<div key="Acabado en resina brillante" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Acabado en resina brillante</span></div>
<div key="Ideal para mesas o repisas" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Ideal para mesas o repisas</span></div>
<div key="Opción de video en USB" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Opción de video en USB</span></div></div></div>
<div key="Favorito" className="flex flex-col gap-4 xl:gap-5 2xl:gap-6 p-6 xl:p-7 2xl:p-8 h-full card rounded"><div className="px-3 py-1 text-sm card rounded w-fit"><p>Favorito</p></div><div className="flex flex-col gap-1"><span className="text-5xl md:text-6xl font-semibold">Desde $75</span><span className="text-base font-medium">El tamaño más popular para graduaciones y fiestas inolvidables.</span></div><div className="w-full h-px bg-foreground/20" /><div className="flex flex-col gap-3"><div key="Tamaño 11x14 pulgadas" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Tamaño 11x14 pulgadas</span></div>
<div key="Protección UV de alta calidad" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Protección UV de alta calidad</span></div>
<div key="Listo para colgar en pared" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Listo para colgar en pared</span></div>
<div key="Opción de video en USB" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Opción de video en USB</span></div></div></div>
<div key="Premium" className="flex flex-col gap-4 xl:gap-5 2xl:gap-6 p-6 xl:p-7 2xl:p-8 h-full card rounded"><div className="px-3 py-1 text-sm card rounded w-fit"><p>Premium</p></div><div className="flex flex-col gap-1"><span className="text-5xl md:text-6xl font-semibold">Desde $120</span><span className="text-base font-medium">Impactantes ampliaciones para bodas y grandes retratos familiares.</span></div><div className="w-full h-px bg-foreground/20" /><div className="flex flex-col gap-3"><div key="Desde 16x20 pulgadas" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Desde 16x20 pulgadas</span></div>
<div key="Resina de máxima durabilidad" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Resina de máxima durabilidad</span></div>
<div key="Marco elegante incluido" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Marco elegante incluido</span></div>
<div key="Opción de video en USB" className="flex items-start gap-3"><div className="flex items-center justify-center shrink-0 size-6 primary-button rounded"><Check className="size-3 text-primary-cta-text" strokeWidth={2} /></div><span className="text-base">Opción de video en USB</span></div></div></div></GridOrCarousel></ScrollReveal></div></section></div>
<div data-webild-section="ContactCta"><section aria-label="Contact section" className=""><div className="w-content-width mx-auto"><ScrollReveal variant="slide-up"><div className="flex flex-col items-center gap-8 px-8 rounded card"><div className="flex flex-col items-center gap-2"><div className="px-3 py-1 mb-1 text-sm card rounded w-fit"><p>Haz tu pedido hoy</p></div><TextAnimation text="Preserva la magia de tu boda o evento especial. Escríbenos al WhatsApp 77644014 y comencemos a crear tu recuerdo en resina." variant="fade" gradientText={true} tag="h2" className="md:max-w-8/10 text-5xl 2xl:text-6xl leading-[1.15] font-semibold text-center text-balance" /><div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3"><Button text="WhatsApp 77644014" href="https://wa.me/77644014" variant="primary" /><Button text="Ver precios" href="#precios" variant="secondary" animationDelay={0.1} /></div></div></div></ScrollReveal></div></section></div>
</>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/servicios', label: 'Servicios', pageFile: 'ServiciosPage' },
];