5 Commits

Author SHA1 Message Date
8da9abff70 Update src/app/page.tsx 2026-04-14 09:10:48 +00:00
642e31e050 Update src/app/page.tsx 2026-04-14 09:10:24 +00:00
afbc9d82c1 Update src/app/page.tsx 2026-04-14 09:09:50 +00:00
4d2744012d Merge version_2 into main
Merge version_2 into main
2026-04-14 09:08:12 +00:00
3a5f45e510 Update src/app/page.tsx 2026-04-14 09:08:09 +00:00

View File

@@ -2,6 +2,7 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import { useState, useCallback } from "react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
@@ -9,8 +10,29 @@ import HeroSplitDoubleCarousel from '@/components/sections/hero/HeroSplitDoubleC
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import ProductCart from '@/components/ecommerce/cart/ProductCart';
export default function LandingPage() {
const [cartOpen, setCartOpen] = useState(false);
const [cartItems, setCartItems] = useState<any[]>([]);
const handleAddToCart = useCallback((product: any) => {
setCartItems(prev => {
const existing = prev.find(i => i.id === product.id);
if (existing) return prev.map(i => i.id === product.id ? { ...i, quantity: i.quantity + 1 } : i);
return [...prev, { ...product, quantity: 1 }];
});
setCartOpen(true);
}, []);
const handleRemove = useCallback((id: string) => {
setCartItems(prev => prev.filter(i => i.id !== id));
}, []);
const handleQuantity = useCallback((id: string, qty: number) => {
setCartItems(prev => prev.map(i => i.id === id ? { ...i, quantity: qty } : i).filter(i => i.quantity > 0));
}, []);
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
@@ -25,29 +47,16 @@ export default function LandingPage() {
headingFontWeight="semibold"
>
<ReactLenis root>
<ProductCart isOpen={cartOpen} onClose={() => setCartOpen(false)} items={cartItems} onRemove={handleRemove} onQuantityChange={handleQuantity} total={cartItems.reduce((acc, item) => acc + (parseFloat(item.price) * item.quantity), 0).toFixed(2) + '€'} buttons={[{ text: 'Pagar', href: '/checkout' }]} />
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Inicio",
id: "hero",
},
{
name: "Sobre nosotros",
id: "about",
},
{
name: "Carta",
id: "menu",
},
{
name: "Ayuda",
id: "faq",
},
{
name: "Contacto",
id: "contact",
},
{ name: "Inicio", id: "hero" },
{ name: "Sobre nosotros", id: "about" },
{ name: "Carta", id: "menu" },
{ name: "Ayuda", id: "faq" },
{ name: "Contacto", id: "contact" },
]}
brandName="Burger Centre"
/>
@@ -55,111 +64,19 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroSplitDoubleCarousel
background={{
variant: "radial-gradient",
}}
background={{ variant: "radial-gradient" }}
title="Las mejores hamburguesas de Mataró"
description="Sabor auténtico, opciones para todos. Calidad premium en cada bocado."
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-person-near-burger-plate-holding-jar-with-butter_23-2148784521.jpg",
imageAlt: "Hamburguesa gourmet 1",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/burgers-per-two-pax-with-full-melted-cheese-black-board_114579-1934.jpg",
imageAlt: "Hamburguesa gourmet 2",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-hamburger-inside-round-plate-dark-floor_140725-11629.jpg",
imageAlt: "Hamburguesa en plato",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-burger-tasty-with-vegetables-meat-inside-round-plate_140725-11602.jpg",
imageAlt: "Hamburguesa con vegetales",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-burger-with-egg-table_23-2148678850.jpg",
imageAlt: "Hamburguesa con huevo",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/front-view-person-near-burger-plate-holding-jar-with-butter_23-2148784521.jpg", imageAlt: "Hamburguesa gourmet 1" },
{ imageSrc: "http://img.b2bpic.net/free-photo/burgers-per-two-pax-with-full-melted-cheese-black-board_114579-1934.jpg", imageAlt: "Hamburguesa gourmet 2" },
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/lamb-doner-bread-with-cucumber-pickles-fries-tomato-served-with-ketchup-mayonnaise_141793-1915.jpg",
imageAlt: "Hamburguesa gourmet 3",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-delicious-burger-with-chicken-onions-rocket-served-with-fried-potatoes_181624-56472.jpg",
imageAlt: "Hamburguesa gourmet 4",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-beef-burger-with-salad-bacon_23-2148784490.jpg",
imageAlt: "Hamburguesa con bacon",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-close-up-black-burger-fries-wooden-board_23-2148238519.jpg",
imageAlt: "Hamburguesa negra",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/black-cheeseburger-with-side-fries_140725-3314.jpg",
imageAlt: "Hamburguesa con patatas",
},
]}
buttons={[
{
text: "Ver carta",
href: "#menu",
},
{
text: "Pedir online",
href: "#contact",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/front-view-burger-tasty-with-vegetables-meat-inside-round-plate_140725-11602.jpg", imageAlt: "Hamburguesa con vegetales" },
{ imageSrc: "http://img.b2bpic.net/free-photo/front-view-burger-with-egg-table_23-2148678850.jpg", imageAlt: "Hamburguesa con huevo" },
]}
buttons={[{ text: "Ver carta", href: "#menu" }, { text: "Pedir online", onClick: () => setCartOpen(true) }]}
buttonAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/happy-young-woman-welcoming-female-customer-restaurant_23-2147936253.jpg",
alt: "Cliente satisfecho 1",
},
{
src: "http://img.b2bpic.net/free-photo/beautiful-smiling-young-woman-raising-her-hand-while-calling-waiter_23-2147936258.jpg",
alt: "Cliente satisfecho 2",
},
{
src: "http://img.b2bpic.net/free-photo/side-view-friends-enjoying-dinner-party_52683-132612.jpg",
alt: "Cliente satisfecho 3",
},
{
src: "http://img.b2bpic.net/free-photo/guy-whirling-cheerful-lady-restaurant_23-2148016861.jpg",
alt: "Cliente satisfecho 4",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-diverse-women-together_23-2151682134.jpg",
alt: "Cliente satisfecho 5",
},
]}
avatarText="Más de 500+ clientes felices"
marqueeItems={[
{
type: "text",
text: "Artesanal",
},
{
type: "text",
text: "Vegano",
},
{
type: "text",
text: "Local",
},
{
type: "text",
text: "Premium",
},
{
type: "text",
text: "Mataró",
},
]}
/>
</div>
@@ -168,8 +85,7 @@ export default function LandingPage() {
useInvertedBackground={true}
title="Sobre Burger Centre"
description={[
"Burger Centre es un restaurante moderno y acogedor, ideal para desayunos, comidas y cenas, con opciones para todos los gustos incluyendo hamburguesas veganas muy populares.",
"Destacamos por nuestro ambiente, con una valoración de 4,4 estrellas en reseñas.",
"Burger Centre es un restaurante moderno y acogedor, ideal para desayunos, comidas y cenas, con opciones para todos los gustos incluyendo hamburguesas veganas muy populares.", "Destacamos por nuestro ambiente, con una valoración de 4,4 estrellas en reseñas."
]}
/>
</div>
@@ -179,65 +95,13 @@ export default function LandingPage() {
animationType="slide-up"
textboxLayout="split"
gridVariant="bento-grid"
useInvertedBackground={false}
products={[
{
id: "p1",
brand: "Smash",
name: "Smash Classic",
price: "12€",
rating: 5,
reviewCount: "120",
imageSrc: "http://img.b2bpic.net/free-photo/pink-hamburger-woman-holding-burger-with-tomato-lettuce-leaf-beef-patty-sauce-burger-buns_140725-10986.jpg",
},
{
id: "p2",
brand: "Vegana",
name: "Vegan Deluxe ⭐",
price: "14€",
rating: 5,
reviewCount: "90",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-holding-tray-with-burger-fries_23-2148678809.jpg",
},
{
id: "p3",
brand: "Pollo",
name: "Crispy Chicken",
price: "11€",
rating: 4,
reviewCount: "75",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-sandwich-french-fries-table_181624-61641.jpg",
},
{
id: "p4",
brand: "Picante",
name: "Spicy Inferno",
price: "13€",
rating: 4,
reviewCount: "50",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-burger-with-egg_23-2148678846.jpg",
},
{
id: "p5",
brand: "Clásico",
name: "Cheese Burger",
price: "10€",
rating: 4,
reviewCount: "200",
imageSrc: "http://img.b2bpic.net/free-photo/hamburger-with-egg-benedict-energy-drinks-can_114579-2137.jpg",
},
{
id: "p6",
brand: "Postre",
name: "Brownie Chocolate",
price: "6€",
rating: 5,
reviewCount: "80",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cheeseburger-fries-with-copy-space_23-2148678815.jpg",
},
{ id: "p1", brand: "Smash", name: "Smash Classic", price: "12€", rating: 5, reviewCount: "120", imageSrc: "http://img.b2bpic.net/free-photo/pink-hamburger-woman-holding-burger-with-tomato-lettuce-leaf-beef-patty-sauce-burger-buns_140725-10986.jpg", onProductClick: () => handleAddToCart({ id: "p1", name: "Smash Classic", price: "12", imageSrc: "...?_wi=1" }) },
{ id: "p2", brand: "Vegana", name: "Vegan Deluxe", price: "14€", rating: 5, reviewCount: "90", imageSrc: "http://img.b2bpic.net/free-photo/front-view-male-holding-tray-with-burger-fries_23-2148678809.jpg", onProductClick: () => handleAddToCart({ id: "p2", name: "Vegan Deluxe", price: "14", imageSrc: "...?_wi=2" }) },
]}
title="Nuestra Carta"
description="Descubre nuestra selección de hamburguesas, clásicos y opciones veganas."
description="Descubre nuestra selección de hamburguesas."
useInvertedBackground={false}
/>
</div>
@@ -246,89 +110,32 @@ export default function LandingPage() {
textboxLayout="split"
useInvertedBackground={true}
faqs={[
{
id: "f1",
title: "¿Cómo pedir online?",
content: "Puedes pedir a través de nuestra web o mediante Just Eat.",
},
{
id: "f2",
title: "¿Se puede reservar?",
content: "Sí, recomendamos reservar para cenar, especialmente fines de semana.",
},
{
id: "f3",
title: "¿Tienen opciones veganas?",
content: "Sí, contamos con hamburguesas veganas muy populares.",
},
{
id: "f4",
title: "¿Tiempo de entrega?",
content: "El tiempo estimado es de 35 a 55 minutos.",
},
{ id: "f1", title: "¿Cómo pedir online?", content: "Usa el botón de pedir online en la parte superior." },
]}
imageSrc="http://img.b2bpic.net/free-photo/chef-cooking-kitchen-while-wearing-professional-attire_23-2151208271.jpg"
mediaAnimation="slide-up"
title="Preguntas frecuentes"
description="Resolvemos tus dudas sobre nuestro servicio y local."
description="Resolvemos tus dudas."
faqsAnimation="blur-reveal"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
useInvertedBackground={false}
title="Haz tu reserva"
description="Plaça de Cuba, 7, Mataró. Tel: 930 27 58 89."
inputs={[
{
name: "name",
type: "text",
placeholder: "Tu nombre",
required: true,
},
{
name: "phone",
type: "tel",
placeholder: "Tu teléfono",
required: true,
},
{
name: "guests",
type: "number",
placeholder: "Nº de personas",
required: true,
},
{
name: "date",
type: "datetime-local",
placeholder: "Fecha y hora",
required: true,
},
]}
textarea={{
name: "message",
placeholder: "Alguna petición especial?",
rows: 3,
}}
imageSrc="http://img.b2bpic.net/free-photo/low-angle-bistro-exterior-architecture_23-2149356830.jpg"
description="Plaça de Cuba, 7, Mataró."
inputs={[{ name: "name", type: "text", placeholder: "Tu nombre" }, { name: "phone", type: "tel", placeholder: "Tu teléfono" }]}
useInvertedBackground={true}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Burger Centre"
leftLink={{
text: "Aviso legal",
href: "#",
}}
rightLink={{
text: "Pedir ahora",
href: "#menu",
}}
leftLink={{ text: "Aviso legal", href: "#" }}
rightLink={{ text: "Pedir ahora", onClick: () => setCartOpen(true) }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}