Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ef617d593 | |||
| 1f8f69cb10 |
114
src/app/page.tsx
114
src/app/page.tsx
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user