Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c5f3016464 | |||
| dfcc20e6fc | |||
| 3cd71538cc | |||
| 5f3c4a494b | |||
| d6c47dff3b | |||
| 6e81fd71aa |
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
import BlogCardThree from '@/components/sections/blog/BlogCardThree';
|
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
||||||
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
@@ -54,7 +54,8 @@ export default function BlogPage() {
|
|||||||
const url = `${apiUrl}/posts/${projectId}`;
|
const url = `${apiUrl}/posts/${projectId}`;
|
||||||
const response = await fetch(url, {
|
const response = await fetch(url, {
|
||||||
method: "GET", headers: {
|
method: "GET", headers: {
|
||||||
"Content-Type": "application/json"},
|
"Content-Type": "application/json"
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
@@ -101,7 +102,7 @@ export default function BlogPage() {
|
|||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "hero" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Cuisine", id: "features" },
|
{ name: "Menu", id: "features" },
|
||||||
{ name: "Testimonials", id: "testimonial" },
|
{ name: "Testimonials", id: "testimonial" },
|
||||||
{ name: "Contact", id: "contact" }
|
{ name: "Contact", id: "contact" }
|
||||||
]}
|
]}
|
||||||
@@ -114,7 +115,7 @@ export default function BlogPage() {
|
|||||||
<p className="text-foreground">Loading posts...</p>
|
<p className="text-foreground">Loading posts...</p>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<BlogCardThree
|
<BlogCardOne
|
||||||
blogs={posts}
|
blogs={posts}
|
||||||
title="Culinary Chronicles"
|
title="Culinary Chronicles"
|
||||||
description="Discover the stories behind authentic Italian cuisine, culinary traditions, and the passion that drives our kitchen"
|
description="Discover the stories behind authentic Italian cuisine, culinary traditions, and the passion that drives our kitchen"
|
||||||
@@ -157,4 +158,4 @@ export default function BlogPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,46 +1,20 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Inter } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const inter = Inter({
|
const inter = Inter({ subsets: ["latin"] });
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "La Bella Italia - Authentic Italian Restaurant", description: "Experience authentic Italian cuisine in an elegant setting. Fresh ingredients, traditional recipes, and premium wines. Make your reservation today.", keywords: "Italian restaurant, authentic cuisine, fine dining, pasta, wine", metadataBase: new URL("https://labellaitalia.com"),
|
title: "La Bella Italia", description: "Experience Authentic Italian Cuisine"};
|
||||||
alternates: {
|
|
||||||
canonical: "https://labellaitalia.com"
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "La Bella Italia - Authentic Italian Restaurant", description: "Experience authentic Italian cuisine in an elegant setting. Fresh ingredients, traditional recipes, and premium wines.", type: "website", siteName: "La Bella Italia", images: [{
|
|
||||||
url: "https://img.b2bpic.net/free-photo/close-up-large-tube-pasta-with-chicken-cherry-tomato-with-chopped-parsley_141793-1840.jpg", alt: "La Bella Italia - Authentic Italian Cuisine"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "La Bella Italia - Authentic Italian Restaurant", description: "Experience authentic Italian cuisine. Fresh ingredients, traditional recipes, premium wines.", images: ["https://img.b2bpic.net/free-photo/close-up-large-tube-pasta-with-chicken-cherry-tomato-with-chopped-parsley_141793-1840.jpg"]
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={inter.className}>{children}
|
||||||
<body
|
|
||||||
className={`${inter.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1259,7 +1233,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
|||||||
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||||
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
|
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
|
||||||
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
||||||
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
|
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||||
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
|
||||||
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
|
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
|
||||||
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
||||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import { ChefHat, Clock, Heart, History, Leaf, Sparkles, Star, Wine } from 'lucide-react';
|
import { ChefHat, Clock, Heart, History, Leaf, Sparkles, Star, Wine, Package, UtensilsCrossed } from 'lucide-react';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -31,7 +31,7 @@ export default function LandingPage() {
|
|||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Home", id: "hero" },
|
{ name: "Home", id: "hero" },
|
||||||
{ name: "About", id: "about" },
|
{ name: "About", id: "about" },
|
||||||
{ name: "Cuisine", id: "features" },
|
{ name: "Menu", id: "features" },
|
||||||
{ name: "Testimonials", id: "testimonial" },
|
{ name: "Testimonials", id: "testimonial" },
|
||||||
{ name: "Contact", id: "contact" }
|
{ name: "Contact", id: "contact" }
|
||||||
]}
|
]}
|
||||||
@@ -78,27 +78,28 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="features" data-section="features">
|
<div id="features" data-section="features">
|
||||||
<FeatureBorderGlow
|
<ProductCardFour
|
||||||
title="What Makes Us Special"
|
title="Our Menu Selection"
|
||||||
description="Discover the culinary excellence that sets La Bella Italia apart"
|
description="Discover the culinary excellence in our carefully crafted menu items"
|
||||||
features={[
|
products={[
|
||||||
{
|
{
|
||||||
icon: Leaf,
|
id: "1", name: "Handmade Pasta", price: "Market Price", variant: "Traditional Italian pasta made fresh daily", imageSrc: "https://img.b2bpic.net/free-photo/close-up-large-tube-pasta-with-chicken-cherry-tomato-with-chopped-parsley_141793-1840.jpg", imageAlt: "Handmade fresh pasta"
|
||||||
title: "Fresh Ingredients", description: "Sourced daily from local farms and Italian importers. Every ingredient is selected for quality and authenticity to honor traditional recipes."
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: ChefHat,
|
id: "2", name: "Risotto Milanese", price: "$28.00", variant: "Classic creamy risotto with saffron and parmesan", imageSrc: "https://img.b2bpic.net/free-photo/chef-sitting-table_140725-5179.jpg", imageAlt: "Risotto Milanese"
|
||||||
title: "Master Chef Expertise", description: "Our executive chef trained in Rome and brings decades of culinary mastery. Traditional techniques meet modern presentation in every plate."
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: Wine,
|
id: "3", name: "Osso Buco", price: "$32.00", variant: "Braised veal shanks with white wine and vegetables", imageSrc: "https://img.b2bpic.net/free-photo/red-wine-glass-wooden-table_1139-868.jpg", imageAlt: "Osso Buco"
|
||||||
title: "Premium Wine Selection", description: "Curated collection of Italian wines from renowned vineyards. Sommelier-selected pairings for an unforgettable dining experience."
|
},
|
||||||
|
{
|
||||||
|
id: "4", name: "Tiramisu", price: "$12.00", variant: "Classic Italian dessert with mascarpone and espresso", imageSrc: "https://img.b2bpic.net/free-photo/wicker-gray-table-with-glass-gray-chairs_140725-3025.jpg", imageAlt: "Tiramisu dessert"
|
||||||
}
|
}
|
||||||
]}
|
]}
|
||||||
tag="Our Excellence"
|
tag="Chef's Selection"
|
||||||
tagIcon={Sparkles}
|
tagIcon={UtensilsCrossed}
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
|
animationType="slide-up"
|
||||||
|
gridVariant="uniform-all-items-equal"
|
||||||
useInvertedBackground="noInvert"
|
useInvertedBackground="noInvert"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -223,4 +224,4 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user