13 Commits

Author SHA1 Message Date
4f67f88fe9 Merge version_17_1781899962954 into main
Merge version_17_1781899962954 into main
2026-06-19 20:12:57 +00:00
d2a08b0db6 Update src/pages/HomePage.tsx 2026-06-19 20:12:54 +00:00
dc8203b29e Merge version_16_1781899905774 into main
Merge version_16_1781899905774 into main
2026-06-19 20:11:59 +00:00
221cf402e4 Update src/pages/HomePage.tsx 2026-06-19 20:11:56 +00:00
2c23d616a0 Merge version_15_1781899804162 into main
Merge version_15_1781899804162 into main
2026-06-19 20:10:18 +00:00
5fbc04f3db Update src/pages/HomePage.tsx 2026-06-19 20:10:15 +00:00
b013574062 Merge version_14_1781899782756 into main
Merge version_14_1781899782756 into main
2026-06-19 20:09:57 +00:00
a0af40c187 Update src/pages/HomePage.tsx 2026-06-19 20:09:53 +00:00
65b72b8760 Merge version_13_1781893455342 into main
Merge version_13_1781893455342 into main
2026-06-19 18:26:52 +00:00
kudinDmitriyUp
aca83c620f Bob AI: fix build errors (attempt 1) 2026-06-19 18:26:16 +00:00
kudinDmitriyUp
f6765f6ed5 Bob AI: Populate src/pages/SpecialEventsPage.tsx (snippet builder, 3 sections) 2026-06-19 18:25:32 +00:00
kudinDmitriyUp
2605d8d928 Bob AI: Add special-events page 2026-06-19 18:24:57 +00:00
64d58f09c3 Merge version_12_1781891403647 into main
Merge version_12_1781891403647 into main
2026-06-19 17:53:22 +00:00
5 changed files with 28 additions and 4 deletions

View File

@@ -3,12 +3,14 @@ import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import ServiciosPage from "@/pages/ServiciosPage";
import SpecialEventsPage from "@/pages/SpecialEventsPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/servicios" element={<ServiciosPage />} />
<Route path="/special-events" element={<SpecialEventsPage />} />
</Route>
</Routes>
);

View File

@@ -36,6 +36,8 @@ export default function Layout() {
"href": "#faq"
},
{ name: "Servicios", href: "/servicios" },
{ name: "Special Events", href: "/special-events" },
];

View File

@@ -14,10 +14,10 @@ export default function HomePage() {
<SectionErrorBoundary name="hero">
<HeroBillboardCarousel
tag="Preservando tus recuerdos"
title="en Resina: Elegancia y Protección para tus Fotos"
description="Bodas,Fiestas Rosas, Graduacionescada momento especial en un Video (USB)Ampliaciones y Enmarcaciones en Resina: Disponibles en diferentes tamaños para tus Fotos con estilo y color que me te guste Contáctanos sin compromiso !sera un placer atenderte!"
title="Cuadros Cuadros en Resina: Elegancia y Protección para tus Fotos"
description="Servicios de Fotografia y Video Servicios de Fotografia y Video Bodas,Fiestas Rosas, Graduacionescada momento especial en un Video (USB)Ampliaciones y Enmarcaciones en Resina: Disponibles en diferentes tamaños para tus Fotos con estilo y color que me te guste Contáctanos sin compromiso !sera un placer atenderte!"
primaryButton={{
text: "Ver catálogo",
text: "Ver catálogo ",
href: "#products",
}}
secondaryButton={{
@@ -53,7 +53,7 @@ export default function HomePage() {
<AboutTextSplit
title="Nuestra Pasión por el Arte"
descriptions={[
"En VFL Video y Foto López, nos dedicamos a transformar tus fotografías en tesoros que durarán toda la vida. Entendemos que cada imagen cuenta una historia importante.",
"En VFL Video y Foto López, nos dedicamos a transformar tus fotografías en Momentos y Recuerdos que durarán toda la vida. Entendemos que cada imagen cuenta una historia importante.",
"Nuestro proceso de enmarcado en resina no solo añade un toque de elegancia superior, sino que también protege tus recuerdos contra el paso del tiempo, manteniéndolos vibrantes y brillantes.",
]}
/>

View File

@@ -0,0 +1,19 @@
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";
export default function SpecialEventsPage() {
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>Eventos Especiales</p></div><TextAnimation text="Recuerdos Inolvidables de tus Eventos" 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="Bodas, cumpleaños y graduaciones. Conserva tus memorias con ampliaciones en resina y servicios de video en 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="Ver Servicios" href="#servicios" 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-wedding-details-with-flowers_23-2149303541.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>Eventos Especiales</p></div><TextAnimation text="Recuerdos Inolvidables 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 bodas, cumpleaños y graduaciones con ampliaciones en resina y video en USB. Calidad premium para tus mejores momentos." 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="Escribir al WhatsApp" href="https://wa.me/77644014" variant="primary" /><Button text="Ver Servicios" href="#servicios" variant="secondary" animationDelay={0.1} /></div></div><ScrollReveal variant="fade-blur"><GridOrCarousel><div key="Bodas de Ensueño" 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-wedding-couple-posing-nature_1303-18151.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">Bodas de Ensueño</h3><p className="text-base leading-snug">Capturamos la magia de tu gran día con ampliaciones elegantes protegidas en resina.</p></div></div>
<div key="Cumpleaños y Fiestas" 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/friends-celebrating-birthday-party_23-2148118029.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">Cumpleaños y Fiestas</h3><p className="text-base leading-snug">Guarda la alegría de cada celebración con colores vibrantes y marcos duraderos.</p></div></div>
<div key="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/group-students-celebrating-graduation_23-2148201815.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">Graduaciones</h3><p className="text-base leading-snug">Celebra tus logros con cuadros en resina de alta calidad en varios tamaños.</p></div></div>
<div key="Video en 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-keyboard_1150-13725.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">Video en USB</h3><p className="text-base leading-snug">Revive cada instante con nuestros videos de alta definición entregados en formato USB.</p></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>Reserva tu Fecha</p></div><TextAnimation text="Inmortaliza tus eventos especiales hoy." 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 Servicios" href="#servicios" variant="secondary" animationDelay={0.1} /></div></div></div></ScrollReveal></div></section></div>
</>
);
}

View File

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