diff --git a/src/app/page.tsx b/src/app/page.tsx index b042e32..c86527e 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -9,9 +9,38 @@ import ProductCardThree from "@/components/sections/product/ProductCardThree"; import TestimonialCardTwo from "@/components/sections/testimonial/TestimonialCardTwo"; import ContactText from "@/components/sections/contact/ContactText"; import FooterBase from "@/components/sections/footer/FooterBase"; -import { Award, Sparkles, BookOpen, Star } from "lucide-react"; +import { Award, Sparkles, BookOpen, Star, Phone, MessageCircle, MapPin } from "lucide-react"; +import { useState, useEffect } from "react"; export default function LandingPage() { + const [isSticky, setIsSticky] = useState(false); + const [showReservationModal, setShowReservationModal] = useState(false); + + useEffect(() => { + const handleScroll = () => { + setIsSticky(window.scrollY > 300); + }; + window.addEventListener('scroll', handleScroll); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + const handleClickToCall = () => { + window.location.href = 'tel:+34911234567'; + }; + + const handleWhatsAppBooking = () => { + const message = encodeURIComponent('Hola, me gustaría hacer una reserva en Restaurante Alabaster'); + window.open(`https://wa.me/34911234567?text=${message}`, '_blank'); + }; + + const handleGoogleMaps = () => { + window.open('https://maps.google.com/?q=Paseo+de+la+Castellana+123,+Madrid+28046', '_blank'); + }; + + const handleReservationOnline = () => { + setShowReservationModal(true); + }; + return ( + {isSticky && ( +
+ + + + +
+ )} + + {showReservationModal && ( +
+
+

Reservar Mesa

+

Elige tu forma de reservar:

+
+ + + + +
+
+
+ )} +
@@ -180,8 +295,10 @@ export default function LandingPage() { background={{ variant: "plain" }} useInvertedBackground={true} buttons={[ - { text: "Reservar Online", href: "#" }, - { text: "Llamar Ahora", href: "tel:+34911234567" } + { text: "Reservar Online", onClick: handleReservationOnline }, + { text: "Llamar Ahora", onClick: handleClickToCall }, + { text: "WhatsApp", onClick: handleWhatsAppBooking }, + { text: "Ver en Mapa", onClick: handleGoogleMaps } ]} ariaLabel="Sección de reservas" /> @@ -231,3 +348,13 @@ export default function LandingPage() {
); } + +// Calendar icon component (not from lucide-react to avoid import issues) +const Calendar = ({ size }: { size: number }) => ( + + + + + + +); \ No newline at end of file