2 Commits

Author SHA1 Message Date
3ef617d593 Update src/app/page.tsx 2026-03-27 11:51:18 +00:00
1f8f69cb10 Merge version_1 into main
Merge version_1 into main
2026-03-27 11:47:06 +00:00

View File

@@ -9,9 +9,12 @@ import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloating
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard'; import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen'; import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import { Award } from "lucide-react"; import { Award, Phone } from "lucide-react";
import { useState } from "react";
export default function LandingPage() { export default function LandingPage() {
const [selectedProduct, setSelectedProduct] = useState<any | null>(null);
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-magnetic" defaultButtonVariant="hover-magnetic"
@@ -30,42 +33,29 @@ export default function LandingPage() {
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ {
name: "Home", name: "Home", id: "hero"},
id: "hero",
},
{ {
name: "Il Menu", name: "Il Menu", id: "menu"},
id: "menu",
},
{ {
name: "Prenota", name: "Prenota", id: "contact"},
id: "contact",
},
]} ]}
brandName="Ristorante Elegance" brandName="Ristorante Elegance"
button={{ button={{
text: "Prenota Ora", text: "Prenota Ora", href: "#contact"}}
href: "#contact",
}}
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboard <HeroBillboard
background={{ background={{
variant: "radial-gradient", variant: "radial-gradient"}}
}}
title="Un'esperienza gastronomica senza tempo" title="Un'esperienza gastronomica senza tempo"
description="Lasciati avvolgere dall'atmosfera unica del nostro ristorante, dove la tradizione culinaria incontra il design contemporaneo in un abbraccio di pietra." description="Lasciati avvolgere dall'atmosfera unica del nostro ristorante, dove la tradizione culinaria incontra il design contemporaneo in un abbraccio di pietra."
buttons={[ buttons={[
{ {
text: "Scopri il Menu", text: "Scopri il Menu", href: "#menu"},
href: "#menu",
},
{ {
text: "Prenota un Tavolo", text: "Prenota un Tavolo", href: "#contact"},
href: "#contact",
},
]} ]}
imageSrc="http://img.b2bpic.net/free-photo/brick-wall-textures_1203-6681.jpg" imageSrc="http://img.b2bpic.net/free-photo/brick-wall-textures_1203-6681.jpg"
/> />
@@ -92,27 +82,27 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[
{ {
id: "1", id: "1", name: "Risotto allo Zafferano e Oro", price: "24€", imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-food-concept-arrangement_23-2148510910.jpg", onProductClick: () => setSelectedProduct({ name: "Risotto allo Zafferano e Oro", ingredients: "Riso Carnaroli, Zafferano in pistilli, Oro alimentare, Brodo vegetale" })
name: "Risotto allo Zafferano e Oro",
price: "24€",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-food-concept-arrangement_23-2148510910.jpg",
}, },
{ {
id: "2", id: "2", name: "Filetto in Crosta di Erbe", price: "32€", imageSrc: "http://img.b2bpic.net/free-photo/served-delicious-tuna-dish-with-lemon-slice-sauce_8353-10585.jpg", onProductClick: () => setSelectedProduct({ name: "Filetto in Crosta di Erbe", ingredients: "Filetto di manzo, Erbe aromatiche, Burro chiarificato, Sale Maldon" })
name: "Filetto in Crosta di Erbe",
price: "32€",
imageSrc: "http://img.b2bpic.net/free-photo/served-delicious-tuna-dish-with-lemon-slice-sauce_8353-10585.jpg",
}, },
{ {
id: "3", id: "3", name: "Dolce Fondente al Cioccolato", price: "14€", imageSrc: "http://img.b2bpic.net/free-photo/view-food-professional-kitchen_23-2149728021.jpg", onProductClick: () => setSelectedProduct({ name: "Dolce Fondente al Cioccolato", ingredients: "Cioccolato fondente 70%, Uova, Zucchero, Burro, Farina" })
name: "Dolce Fondente al Cioccolato",
price: "14€",
imageSrc: "http://img.b2bpic.net/free-photo/view-food-professional-kitchen_23-2149728021.jpg",
}, },
]} ]}
title="Il Nostro Menu" title="Il Nostro Menu"
description="Una selezione curata di piatti che raccontano la storia della nostra terra, reinterpretati con maestria e passione." description="Una selezione curata di piatti. Clicca su un piatto per visualizzare gli ingredienti."
/> />
{selectedProduct && (
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4" onClick={() => setSelectedProduct(null)}>
<div className="bg-[var(--card)] p-6 rounded-lg max-w-sm w-full" onClick={e => e.stopPropagation()}>
<h3 className="text-xl font-bold mb-2">{selectedProduct.name}</h3>
<p><strong>Ingredienti:</strong> {selectedProduct.ingredients}</p>
<button onClick={() => setSelectedProduct(null)} className="mt-4 w-full py-2 bg-[var(--primary-cta)] text-[var(--primary-cta-text)] rounded">Chiudi</button>
</div>
</div>
)}
</div> </div>
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
@@ -121,37 +111,13 @@ export default function LandingPage() {
useInvertedBackground={false} useInvertedBackground={false}
testimonials={[ testimonials={[
{ {
id: "1", id: "1", title: "Incredibile!", quote: "Una cena indimenticabile, il design in pietra crea un'atmosfera magica che non ho mai visto altrove.", name: "Giulia B.", role: "Food Blogger", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=1"},
title: "Incredibile!",
quote: "Una cena indimenticabile, il design in pietra crea un'atmosfera magica che non ho mai visto altrove.",
name: "Giulia B.",
role: "Food Blogger",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=1",
},
{ {
id: "2", id: "2", title: "Eccellente", quote: "Servizio impeccabile e cucina di altissimo livello. Un must per gli amanti della cucina raffinata.", name: "Luca R.", role: "Imprenditore", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=2"},
title: "Eccellente",
quote: "Servizio impeccabile e cucina di altissimo livello. Un must per gli amanti della cucina raffinata.",
name: "Luca R.",
role: "Imprenditore",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=2",
},
{ {
id: "3", id: "3", title: "Posto unico", quote: "Più che un ristorante, un vero tempio del gusto. Torneremo sicuramente.", name: "Elena V.", role: "Architetto", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=3"},
title: "Posto unico",
quote: "Più che un ristorante, un vero tempio del gusto. Torneremo sicuramente.",
name: "Elena V.",
role: "Architetto",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=3",
},
{ {
id: "4", id: "4", title: "Ottima scelta", quote: "Se cercate eleganza e qualità, questo è il posto giusto. I piatti sono vere opere d'arte.", name: "Stefano M.", role: "Medico", imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=4"},
title: "Ottima scelta",
quote: "Se cercate eleganza e qualità, questo è il posto giusto. I piatti sono vere opere d'arte.",
name: "Stefano M.",
role: "Medico",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081873.jpg?_wi=4",
},
]} ]}
title="Cosa dicono i nostri ospiti" title="Cosa dicono i nostri ospiti"
description="Ogni esperienza nel nostro ristorante è una storia che vale la pena raccontare." description="Ogni esperienza nel nostro ristorante è una storia che vale la pena raccontare."
@@ -162,31 +128,31 @@ export default function LandingPage() {
<ContactCTA <ContactCTA
useInvertedBackground={false} useInvertedBackground={false}
background={{ background={{
variant: "plain", variant: "plain"}}
}}
tag="Prenotazioni" tag="Prenotazioni"
title="Prenota il tuo tavolo" title="Prenota il tuo tavolo"
description="Siamo pronti ad accoglierti per una serata indimenticabile. Prenota online o contattaci telefonicamente per richieste particolari." description="Inserisci il tuo numero di telefono per essere ricontattato o chiamaci direttamente."
buttons={[ buttons={[
{ {
text: "Prenota ora", text: "Prenota ora (tel)", href: "tel:+39000000000"},
href: "tel:+39000000000",
},
]} ]}
/> />
<div className="flex justify-center p-6">
<input
type="tel"
placeholder="Il tuo numero di telefono"
className="border p-3 rounded w-full max-w-sm bg-[var(--card)]"
/>
</div>
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterLogoReveal
logoText="Ristorante Elegance" logoText="Ristorante Elegance"
leftLink={{ leftLink={{
text: "Privacy Policy", text: "Privacy Policy", href: "#"}}
href: "#",
}}
rightLink={{ rightLink={{
text: "Instagram", text: "Instagram", href: "https://instagram.com"}}
href: "https://instagram.com",
}}
/> />
</div> </div>
</ReactLenis> </ReactLenis>