/** * @license * SPDX-License-Identifier: Apache-2.0 */ import { useState } from 'react'; import { motion, AnimatePresence } from 'motion/react'; import { Music, Zap, Sparkles, Phone, Disc, Users, PartyPopper, Menu, X, Facebook, Instagram, MessageCircle } from 'lucide-react'; import { PackageAnimatedBg } from './components/PackageAnimatedBg'; export default function App() { const [currentView, setCurrentView] = useState<'home' | 'dj' | 'batucada' | 'contacto'>('home'); return (
{/* Interactive Nightclub Moving Lights Background Shared Across All Screens */}
{/* Gold on top to Pink/Rose on bottom gradient backdrop */}
{/* Soft Ambient Moving Lights */}
{/* Nightclub Lasers Sweeping */}
{/* Dynamic strobe dots */}
{/* Shared Navigation Header */}
{/* Main Container */}
{currentView === 'home' && } {currentView === 'dj' && } {currentView === 'batucada' && } {currentView === 'contacto' && }
{/* Shared Footer */}
); } // --- Shared Header Component --- interface HeaderProps { currentView: 'home' | 'dj' | 'batucada' | 'contacto'; setView: (v: 'home' | 'dj' | 'batucada' | 'contacto') => void; } function Header({ currentView, setView }: HeaderProps) { const [isOpen, setIsOpen] = useState(false); const handleNav = (view: 'home' | 'dj' | 'batucada' | 'contacto') => { setView(view); setIsOpen(false); }; return (
{/* Brand Logo and Title */}
handleNav('home')}> DJ KIU
Hermosillo, Sonora
{/* Desktop Pill Capsule Menu */} {/* Mobile Hamburger Button */} {/* Mobile Dropdown Slide-out Overlay Menu */} {isOpen && (
Menú de Navegación
)}
); } // --- Shared Footer Component --- function Footer({ setView }: { setView: (v: 'home' | 'dj' | 'batucada' | 'contacto') => void }) { return ( ); } // --- Home View --- interface ViewProps { setView: (v: 'home' | 'dj' | 'batucada' | 'contacto') => void; key?: string; } function HomeView({ setView }: ViewProps) { return (
¡ DALE A TU EVENTO EL SHOW QUE SE MERECE !
setView('dj')} className="flex-1 w-full max-w-md lg:max-w-none group cursor-pointer relative overflow-hidden rounded-2xl border border-gold/30 bg-zinc-900/50 hover:border-gold transition-all duration-500 glow-gold min-h-[350px] lg:min-h-[400px]" >
Iluminación & Sonido

Servicio de DJ

{/* Logo inside the DJ card, centered and right above the button */}
DJ KIU
setView('batucada')} className="flex-1 w-full max-w-md lg:max-w-none group cursor-pointer relative overflow-hidden rounded-2xl border border-neon/30 bg-zinc-900/50 hover:border-neon transition-all duration-500 glow-neon min-h-[350px] lg:min-h-[400px]" >
Show & Animación

SERVICIO DE AMBIENTACIÓN

{/* Logo/Image inside the Ambientación card, centered and right above the button */}
Batucada & Ambientación
); } // --- Deluxe Electric Border Component for glowing electric current effect --- function DeluxeElectricBorder() { return (
{/* Layer 1: Strong neon blur outline */} {/* Layer 2: Speeding white core stroke representing hot electric arc */} {/* Layer 3: Secondary hot orange current */} {/* Sparks floating along borders dynamically to simulate electricity leakage */} {[...Array(8)].map((_, i) => { let positionStyle = {}; if (i === 0) positionStyle = { top: '-2px', left: '15%' }; else if (i === 1) positionStyle = { top: '-2px', left: '60%' }; else if (i === 2) positionStyle = { bottom: '-2px', left: '35%' }; else if (i === 3) positionStyle = { bottom: '-2px', left: '80%' }; else if (i === 4) positionStyle = { top: '30%', right: '-2px' }; else if (i === 5) positionStyle = { top: '75%', right: '-2px' }; else if (i === 6) positionStyle = { top: '20%', left: '-2px' }; else positionStyle = { top: '65%', left: '-2px' }; return ( ); })}
); } // --- DJ View --- function DjView({ setView }: ViewProps) { const packages = [ { title: 'Karaoke', desc: 'Ideal para cantar y disfrutar en grupos íntimos de amigos.', includes: [ '1 BAJO DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', '4 LUCES MULTICOLOR', '1 TRIPIE T (SOPORTE PARA LUCES)', '1 PANTALLA DE 43"', '4 MICROFONOS INALAMBRICOS', '5 HORAS DE SERVICIO' ], price: '$3,500 MXN' }, { title: 'Silver', desc: 'Excelente para reuniones medianas y celebraciones de cumpleaños.', includes: [ '2 BAJOS DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', 'CABINA ILUMINADA', '2 MÁQUINA DE HUMO (1500w.)', '4 LUCES MULTICOLOR', '2 LÁSER STEELPRO', '2 CABEZAS LED MOVILES', '2 LUZ SPYDER', '1 BARRA DE LUZ ROBOTICA', '2 TRIPIE TIPO T PARA LUCES', '5 HORAS DE SERVICIO' ], price: '$4,500 MXN' }, { title: 'Gold', desc: 'El estándar perfecto para bodas y eventos de XV años.', includes: [ '2 BAJOS DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', 'CABINA LED C/ 6 MODULOS', '2 MÁQUINA DE HUMO (1500 w.)', '4 LUCES MULTICOLOR', '2 LÁSER STEELPRO', '5 CABEZAS LED MOVILES', '2 LUZ SPYDER', 'ESTRUCTURA DE ALUMINIO PARA LUCES', '5 HORAS DE SERVICIO' ], price: '$6,500 MXN' }, { title: 'Disco', desc: 'La experiencia retro de club nocturno llevada a tu evento.', includes: [ '2 BAJOS DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', 'CABINA LED C/ 6 MODULOS Y 2 PERIMETRALES', 'BOLA DISCO', '2 MAQUINAS DE HUMO (1500w.)', '4 LUCES MULTICOLOR', '2 LÁSER STEELPRO', '6 CABEZAS LED MOVILES', '2 LUZ SPYDER', 'ESTRUCTURA DE ALUMINIO PARA LUCES', '5 HORAS DE SERVICIO' ], price: '$7,800 MXN', promos: [ { type: 'REGALO', title: '¡DE REGALO!', content: 'SHOW DE ROBOT LED (30 MIN.) O CABINA FOTOGRAFICA 360° (1 HR.)', note: 'NOTA: + $1,200 MXN. LLEVATE LOS 2' }, { type: 'EXTRA', title: '¡ PROMOCIÓN EXTRA !', content: 'SHOW DE 4 ANIMADORES (40 MIN.) (MONKEY MAFIA, ALIENS O BOTARGAS)', priceDetail: '+ $2,600 MXN.' } ] }, { title: 'Platino', desc: 'Impacto visual superior y potencia extrema para gran volumen.', includes: [ '2 BAJOS DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', 'CABINA LED C/ 6 MODULOS Y 2 PERIMETRALES', '2 MAQUINAS DE HUMO (1500w.)', '4 LUCES MULTICOLOR', '2 LÁSER STEELPRO', '2 LANZALLAMAS', '7 CABEZAS LED MOVILES', '2 PANTALLAS 43"', '2 LUZ SPYDER', 'ESTRUCTURA DE ALUMINIO PARA LUCES', '5 HORAS DE SERVICIO' ], price: '$7,800 MXN', promos: [ { type: 'REGALO', title: '¡DE REGALO!', content: 'SHOW DE ROBOT LED (30 MIN.) O CABINA FOTOGRAFICA 360° (1 HR.)', note: 'NOTA: + $1,200 MXN. LLEVATE LOS 2' }, { type: 'EXTRA', title: '¡ PROMOCIÓN EXTRA !', content: 'SHOW DE 4 ANIMADORES (40 MIN.) (MONKEY MAFIA, ALIENS O BOTARGAS)', priceDetail: '+ $2,600 MXN.' } ] }, { title: 'Deluxe', desc: 'Sin límites. La experiencia premium completa para grandes recintos.', includes: [ '4 BAJOS DE 18" QSC (1000 w.)', '2 BOCINAS DE 12" QSC (2000 w.)', 'CABINA LED C/ 6 MODULOS Y 2 PERIMETRALES', '2 MAQUINAS DE HUMO (1500w.)', '8 LUCES MULTICOLOR', '2 LÁSER STEELPRO', '2 LANZALLAMAS', '9 CABEZAS LED MOVILES', '2 PANTALLAS 43"', '2 LUZ SPYDER', 'ESTRUCTURA DE ALUMINIO PARA LUCES', '5 HORAS DE SERVICIO' ], price: '$12,300 MXN', promos: [ { type: 'REGALO', title: '¡DE REGALO!', content: 'SHOW DE ROBOT LED (30 MIN.) + CABINA FOTOGRAFICA 360° (1 HORA) + 4 CHISPEROS + VIDEOS CON DRON', note: 'NOTA: ¡TODO COMPLETAMENTE INCLUIDO EN TU SHOW!' }, { type: 'EXTRA', title: '¡ PROMOCIÓN EXTRA !', content: 'SHOW DE 4 ANIMADORES (40 MIN.) (MONKEY MAFIA, ALIENS O BOTARGAS)', priceDetail: '+ $2,600 MXN.' } ] }, ]; const getPackageStyle = (title: string) => { const name = title.toLowerCase(); if (name.includes('karaoke')) { return { border: 'border-pink-500/20 hover:border-pink-500/50 hover:shadow-[0_0_35px_rgba(244,63,94,0.25)] bg-[#1e111a]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-pink-500 via-[#FF2E93] to-rose-400 drop-shadow-[0_0_12px_rgba(255,0,127,0.4)]', bullet: 'bg-[#A020F0] shadow-[0_0_8px_rgba(160,32,240,0.8)]', sparkle: 'text-[#A020F0] drop-shadow-[0_0_6px_rgba(160,32,240,0.5)]', promoHeading: 'text-[#A020F0]', priceGradient: 'from-pink-400 via-[#A020F0] to-rose-400', dividerStyle: 'border-pink-500/10' }; } if (name.includes('silver')) { return { border: 'border-slate-400/20 hover:border-slate-300/60 hover:shadow-[0_0_35px_rgba(226,232,240,0.15)] bg-slate-900/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-slate-200 via-white to-zinc-400 drop-shadow-[0_0_8px_rgba(226,232,240,0.2)]', bullet: 'bg-[#E6E6FA] shadow-[0_0_8px_rgba(230,230,250,0.85)]', sparkle: 'text-zinc-300 drop-shadow-[0_0_6px_rgba(226,232,240,0.4)]', promoHeading: 'text-zinc-400', priceGradient: 'from-slate-200 via-zinc-400 to-slate-400', dividerStyle: 'border-zinc-500/10' }; } if (name.includes('gold')) { return { border: 'border-amber-500/25 hover:border-[#D4AF37]/60 hover:shadow-[0_0_35px_rgba(212,175,55,0.25)] bg-[#1c160c]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-[#FFD700] via-[#F1C40F] to-[#D4AF37] drop-shadow-[0_0_10px_rgba(212,175,55,0.4)]', bullet: 'bg-[#FFDF00] shadow-[0_0_8px_rgba(255,223,0,0.8)]', sparkle: 'text-[#D4AF37] drop-shadow-[0_0_6px_rgba(212,175,55,0.5)]', promoHeading: 'text-[#D4AF37]', priceGradient: 'from-[#FFD700] via-[#FFDF00] to-[#D4AF37]', dividerStyle: 'border-amber-500/10' }; } if (name.includes('disco')) { return { border: 'border-purple-500/25 hover:border-[#F355DA]/50 hover:shadow-[0_0_35px_rgba(243,85,218,0.25)] bg-[#150f1f]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 via-pink-400 via-[#F355DA] to-yellow-300 drop-shadow-[0_0_12px_rgba(243,85,218,0.35)]', bullet: 'bg-gradient-to-r from-cyan-400 to-[#F355DA] shadow-[0_0_10px_rgba(243,85,218,0.8)]', sparkle: 'text-[#F355DA] drop-shadow-[0_0_6px_rgba(243,85,218,0.5)]', promoHeading: 'text-[#F355DA]', priceGradient: 'from-cyan-400 via-[#F355DA] to-yellow-400', dividerStyle: 'border-[#F355DA]/10' }; } if (name.includes('platino')) { return { border: 'border-blue-500/20 hover:border-cyan-500/50 hover:shadow-[0_0_35px_rgba(0,229,255,0.25)] bg-[#091522]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-sky-300 via-[#8EC5FC] to-cyan-300 drop-shadow-[0_0_10px_rgba(142,197,252,0.3)]', bullet: 'bg-[#00E5FF] shadow-[0_0_8px_rgba(0,229,255,0.8)]', sparkle: 'text-cyan-400 drop-shadow-[0_0_6px_rgba(0,229,255,0.5)]', promoHeading: 'text-sky-400', priceGradient: 'from-[#8EC5FC] via-blue-400 to-[#00E5FF]', dividerStyle: 'border-blue-500/10' }; } if (name.includes('deluxe')) { return { border: 'border-rose-600/25 hover:border-red-500/60 hover:shadow-[0_0_35px_rgba(239,68,68,0.25)] bg-[#200b0d]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-[#FF0000] via-[#FF4D4D] to-[#B30000] drop-shadow-[0_0_12px_rgba(255,0,0,0.4)]', bullet: 'bg-[#FF0000] shadow-[0_0_8px_rgba(255,0,0,0.8)]', sparkle: 'text-rose-500 drop-shadow-[0_0_6px_rgba(239,68,68,0.5)]', promoHeading: 'text-rose-500', priceGradient: 'from-[#FF0000] via-[#FF4D4D] to-red-400', dividerStyle: 'border-rose-500/10' }; } return { border: 'border-gold/15 hover:border-gold/30 hover:shadow-lg bg-zinc-900/40', title: 'text-white', bullet: 'bg-gold', sparkle: 'text-gold', promoHeading: 'text-gold', priceGradient: 'from-[#D4AF37] to-[#F1C40F]', dividerStyle: 'border-white/5' }; }; return (
{/* DJ KIU Image above philosophy */}
DJ KIU

AUDIO DE ALTA POTENCIA Y CALIDAD, SHOW DE ILUMINACIÓN Y AMBIENTE ES LO QUE NOS DISTINGUE AL RESTO.
NO COMPETIMOS EN PRECIO, COMPETIMOS EN CALIDAD.

{/* Packages stacked vertically */}
{packages.map((pkg, index) => { const styles = getPackageStyle(pkg.title); return ( {/* Animated Backdrops related to package names */} {/* Glowing red electric current border specifically for Deluxe */} {pkg.title.toLowerCase().includes('deluxe') && }

{pkg.title.toUpperCase()}

{pkg.desc.toUpperCase()}

Qué incluye el paquete:

    {pkg.includes.map(item => (
  • {item}
  • ))}
{/* Foto de Demostración para Paquete Karaoke */} {pkg.title.toLowerCase().includes('karaoke') && (

Foto Demostrativa del Paquete:

{/* REGLA IMÁGENES GOOGLE DRIVE */} Set up Karaoke Show {/* Elegante firma/etiqueta premium sobre la foto */}
DISEÑO Y EQUIPAMIENTO PAQUETE KARAOKE
)} {/* Video de Demostración para Paquete Silver */} {pkg.title.toLowerCase().includes('silver') && (

Vídeo Demostrativo del Show:

{/* REGLA VIDEOS EN BUCLE (ALOJADOS EN CLOUDFLARE) */} {/* REGLA VIDEOS GOOGLE DRIVE (OPCIÓN ALTERNATIVA CON IFRAME): Para usar Google Drive, descomenta esto y comenta la etiqueta
)} {/* Video de Demostración para Paquete Gold */} {pkg.title.toLowerCase().includes('gold') && (

Vídeo Demostrativo del Show Gold:

{/* REGLA VIDEOS EN BUCLE (ALOJADOS EN CLOUDFLARE) */} {/* REGLA VIDEOS GOOGLE DRIVE (OPCIÓN ALTERNATIVA CON IFRAME): Para usar Google Drive, descomenta esto y comenta la etiqueta
)} {/* Video de Demostración para Paquete Disco */} {pkg.title.toLowerCase().includes('disco') && (

Vídeo Demostrativo del Show Disco:

{/* REGLA VIDEOS EN BUCLE (ALOJADOS EN CLOUDFLARE) */} {/* REGLA VIDEOS GOOGLE DRIVE (OPCIÓN ALTERNATIVA CON IFRAME): Para usar Google Drive, descomenta esto y comenta la etiqueta
)} {/* Video de Demostración para Paquete Platino */} {pkg.title.toLowerCase().includes('platino') && (

Vídeo Demostrativo del Show Platino:

{/* REGLA VIDEOS EN BUCLE (ALOJADOS EN CLOUDFLARE) */} {/* REGLA VIDEOS GOOGLE DRIVE (OPCIÓN ALTERNATIVA CON IFRAME): Para usar Google Drive, descomenta esto y comenta la etiqueta
)} {/* Video de Demostración para Paquete Deluxe */} {pkg.title.toLowerCase().includes('deluxe') && (

Vídeo Demostrativo del Show Deluxe:

{/* REGLA VIDEOS EN BUCLE (ALOJADOS EN CLOUDFLARE) */} {/* REGLA VIDEOS GOOGLE DRIVE (OPCIÓN ALTERNATIVA CON IFRAME): Para usar Google Drive, descomenta esto y comenta la etiqueta
)} {pkg.promos && (

¡Promoción Especial de Regalo!

{pkg.promos.map((promo, idx) => (
{promo.title}
{promo.priceDetail && (
{promo.priceDetail}
)}

{promo.content}

{/* Imágenes de Regalo para Disco, Platino y Deluxe */} {promo.type === 'REGALO' && (pkg.title.toLowerCase().includes('disco') || pkg.title.toLowerCase().includes('platino') || pkg.title.toLowerCase().includes('deluxe')) && (
{/* Cabina 360° */}
Cabina 360°
CABINA 360° 1 HORA INCLUIDA
{/* Robot LED */}
Robot LED
ROBOT LED 30 MIN SHOW
)} {/* Imágenes de Promoción Extra para Disco, Platino y Deluxe */} {promo.type === 'EXTRA' && (pkg.title.toLowerCase().includes('disco') || pkg.title.toLowerCase().includes('platino') || pkg.title.toLowerCase().includes('deluxe')) && (
{/* Aliens */}
Aliens
ALIENS
{/* Botargas */}
Botargas
BOTARGAS
{/* Monkey Mafia */}
Monkey Mafia
MONKEY MAFIA
)}
{promo.note && (
{promo.note}
)}
))}
)}
Precio {pkg.price}
); })}
); } // --- Batucada View --- function BatucadaView({ setView }: ViewProps) { const packages = [ { title: 'Animación Batucada', desc: 'Ritmo en vivo de percusiones y animadores profesionales para encender tu fiesta.', price: '$3,300 MXN', includes: [ '1 TAROLA', '1 TAMBORA', '1 BOTARGA', '2 ANIMADORES CON LIMBO LED, CUERDA LED, PASARELA Y 50 GLOBOS LARGOS', 'SHOW DE 35-40 MIN.' ] }, { title: 'Monkeys Mafia', desc: 'Desenfado, ritmo masivo y locura absoluta con nuestros simios mafiosos.', price: '$3,500 MXN', includes: [ '3 MONKEYS MAFIA', '2 ANIMADORES CON LIMBO LED, CUERDA LED, PASARELA, 50 GLOBOS LARGOS Y 50 ARTICULOS DE FIESTA', 'SHOW DE 35-40 MIN.' ] }, { title: 'Invasión', desc: 'La galaxia llega a tu pista con un show interactivo de aliens y aditamentos led.', price: '$3,500 MXN', includes: [ '3 ALIENS', '2 ANIMADORES CON LIMBO LED, CUERDA LED, PASARELA, 50 GLOBOS LARGOS Y 50 ARTICULOS DE FIESTA', 'SHOW DE 35-40 MIN.' ] }, ]; const getBatucadaStyle = (title: string) => { const name = title.toLowerCase(); if (name.includes('batucada')) { return { border: 'border-violet-500/20 hover:border-violet-500/50 hover:shadow-[0_0_35px_rgba(168,85,247,0.25)] bg-[#10031c]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-violet-400 via-[#A020F0] to-fuchsia-400 drop-shadow-[0_0_12px_rgba(168,85,247,0.4)]', bullet: 'bg-[#FFDF00] shadow-[0_0_8px_rgba(255,223,0,0.8)]', // Yellow details highlighted sparkle: 'text-violet-400 drop-shadow-[0_0_6px_rgba(168,85,247,0.5)]', dividerStyle: 'border-violet-500/10', buttonGradient: 'from-violet-600 to-fuchsia-600 hover:brightness-110 shadow-[0_0_20px_rgba(168,85,247,0.3)] hover:shadow-[0_0_25px_rgba(168,85,247,0.5)]', priceGradient: 'from-violet-300 via-fuchsia-400 to-pink-400' }; } if (name.includes('invasión') || name.includes('invasion')) { return { border: 'border-[#39FF14]/20 hover:border-[#39FF14]/50 hover:shadow-[0_0_35px_rgba(57,255,20,0.25)] bg-[#031d04]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-emerald-400 via-[#39FF14] to-[#7FFF00] drop-shadow-[0_0_12px_rgba(57,255,20,0.4)]', bullet: 'bg-[#39FF14] shadow-[0_0_8px_rgba(57,255,20,0.85)]', sparkle: 'text-[#39FF14] drop-shadow-[0_0_6px_rgba(57,255,20,0.5)]', dividerStyle: 'border-[#39FF14]/10', buttonGradient: 'from-[#39FF14] via-emerald-500 to-lime-500 text-black font-black hover:brightness-110 shadow-[0_0_20px_rgba(57,255,20,0.3)] hover:shadow-[0_0_25px_rgba(57,255,20,0.6)]', priceGradient: 'from-[#39FF14] via-[#7FFF00] to-emerald-300' }; } if (name.includes('monkeys') || name.includes('mafia')) { return { border: 'border-[#D4AF37]/20 hover:border-[#D4AF37]/50 hover:shadow-[0_0_35px_rgba(212,175,55,0.25)] bg-[#1e1503]/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-amber-400 via-[#D4AF37] to-yellow-400 drop-shadow-[0_0_12px_rgba(212,175,55,0.4)]', bullet: 'bg-[#D4AF37] shadow-[0_0_8px_rgba(212,175,55,0.85)]', sparkle: 'text-[#D4AF37] drop-shadow-[0_0_6px_rgba(212,175,55,0.5)]', dividerStyle: 'border-[#D4AF37]/10', buttonGradient: 'from-amber-600 via-[#D4AF37] to-yellow-500 text-black font-black hover:brightness-110 shadow-[0_0_20px_rgba(212,175,55,0.3)] hover:shadow-[0_0_25px_rgba(212,175,55,0.6)]', priceGradient: 'from-amber-300 via-yellow-400 to-[#D4AF37]' }; } return { border: 'border-purple-500/20 hover:border-purple-500/40 hover:shadow-lg bg-zinc-900/40', title: 'text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-pink-500', bullet: 'bg-purple-500', sparkle: 'text-purple-400', dividerStyle: 'border-white/5', buttonGradient: 'from-purple-600 to-pink-500', priceGradient: 'from-purple-400 to-pink-500' }; }; return (
{/* REGLA IMÁGENES GOOGLE DRIVE */} Invasión Fiestera

Somos la descarga de adrenalina que pone a todo el mundo a saltar, Globos, souvenirs, y una energía que se contagia desde el primer segundo. Si quieres que tu evento tenga ese momento épico del que todos van a estar hablando al día siguiente, necesitas la Invasión.

{/* Packages stacked vertically */}
{packages.map((pkg, index) => { const styles = getBatucadaStyle(pkg.title); return ( {/* Animated Backdrops related to package names */}

{pkg.title.toUpperCase()}

{pkg.desc.toUpperCase()}

Qué incluye el paquete:

    {pkg.includes.map(item => (
  • {item.toUpperCase()}
  • ))}
Precio {pkg.price}
); })}
{/* Group Photo Showcase */}
Grupo Invasión Fiestera
¡EL VERDADERO SHOW ESTÁ AQUÍ! NUESTRO STAFF EN ACCIÓN
); } // --- Contact View --- function ContactoView({ setView }: ViewProps) { return (

CONTACTO DIRECTO

Ponte en contacto directo con nuestro equipo para cotizaciones, reservaciones y contratación de servicios para tu gran evento.

{/* DJ Kiu Card */} {/* Subtle golden background glow */}
PRODUCCIONES

DJ KIU

{/* WhatsApp DJ KIU */} WHATSAPP {/* Instagram DJ KIU */} SÍGUENOS EN INSTAGRAM {/* Facebook DJ KIU */} SÍGUENOS EN FACEBOOK
{/* Invasion Fiestera Card */} {/* Subtle green background glow */}
BATUCADA & SHOWS

INVASIÓN FIESTERA

{/* WhatsApp INVASION */} WHATSAPP {/* Instagram INVASION */} SÍGUENOS EN INSTAGRAM
); }