Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cb60f58a32 | |||
| 6760ed7474 | |||
| 4b2ba42973 | |||
| 0d81f5e571 | |||
| aad6ac6650 | |||
| 4c53f1a08d | |||
| 8352d71eee | |||
| fa1fac08e8 | |||
| 678950b59b | |||
| e6944a8b08 | |||
| 9adccdd6d1 | |||
| 9043f398e6 | |||
| 7c90fefb3b |
@@ -1,51 +1,22 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from 'next';
|
||||||
import { Manrope } from "next/font/google";
|
import { Inter } from 'next/font/google';
|
||||||
import { DM_Sans } from "next/font/google";
|
import './globals.css';
|
||||||
import "./globals.css";
|
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const manrope = Manrope({
|
const inter = Inter({ subsets: ['latin'] });
|
||||||
variable: "--font-manrope", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const dmSans = DM_Sans({
|
|
||||||
variable: "--font-dm-sans", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Tortellino's Farm | Fresh Farm-to-Table Pasta Delivery", description: "Experience authentic Italian tortellini crafted from organic ingredients. Same-day delivery of farm-fresh pasta to your door.", keywords: "tortellini, pasta delivery, organic pasta, Italian food, farm fresh, local delivery", metadataBase: new URL("https://tortellinos-farm.com"),
|
title: 'Tortellino\'s Farm - Fresh Farm-to-Table Pasta Delivered Daily',
|
||||||
alternates: {
|
description: 'Experience authentic Italian tortellini crafted from the finest organic ingredients. From our farm to your table in minutes.',
|
||||||
canonical: "https://tortellinos-farm.com"},
|
|
||||||
openGraph: {
|
|
||||||
title: "Tortellino's Farm - Fresh Pasta Delivered Daily", description: "Authentic Italian tortellini from our farm to your table in minutes.", url: "https://tortellinos-farm.com", siteName: "Tortellino's Farm", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/arrangement-with-preserved-tomatoes_23-2148606772.jpg", alt: "Fresh tortellini from Tortellino's Farm"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Tortellino's Farm - Farm-to-Table Pasta", description: "Order fresh, organic Italian tortellini. Same-day delivery available.", images: ["http://img.b2bpic.net/free-photo/arrangement-with-preserved-tomatoes_23-2148606772.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={`${manrope.variable} ${dmSans.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1413,7 +1384,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCar
|
|||||||
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
||||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||||
import { Leaf, Sprout, Truck, Globe, Zap, UtensilsCrossed, Award, Package } from "lucide-react";
|
import { Leaf, Sprout, Truck, Globe, Zap, UtensilsCrossed, Award, Package, Calendar } from "lucide-react";
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -46,8 +46,8 @@ export default function LandingPage() {
|
|||||||
<HeroBillboard
|
<HeroBillboard
|
||||||
title="Fresh Farm-to-Table Pasta, Delivered Daily"
|
title="Fresh Farm-to-Table Pasta, Delivered Daily"
|
||||||
description="Experience authentic Italian tortellini crafted from the finest organic ingredients. From our farm to your table in minutes."
|
description="Experience authentic Italian tortellini crafted from the finest organic ingredients. From our farm to your table in minutes."
|
||||||
tag="Farm Fresh Quality"
|
tag="Monday Delivery Only"
|
||||||
tagIcon={Leaf}
|
tagIcon={Calendar}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
background={{ variant: "plain" }}
|
background={{ variant: "plain" }}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/arrangement-with-preserved-tomatoes_23-2148606772.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/arrangement-with-preserved-tomatoes_23-2148606772.jpg"
|
||||||
@@ -55,7 +55,7 @@ export default function LandingPage() {
|
|||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Order Now", href: "#products" },
|
{ text: "Order Now", href: "#products" },
|
||||||
{ text: "Learn More", href: "#about" },
|
{ text: "Browse Menu", href: "#pasta-fresca" },
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
avatars={[
|
avatars={[
|
||||||
@@ -76,15 +76,15 @@ export default function LandingPage() {
|
|||||||
tagIcon={Sprout}
|
tagIcon={Sprout}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
bulletPoints={[
|
bulletPoints={[
|
||||||
|
{
|
||||||
|
title: "Monday Delivery Only", description: "We deliver fresh pasta exclusively on Mondays to ensure optimal freshness and quality at your doorstep.", icon: Truck,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "100% Organic Ingredients", description: "All our pasta is made from certified organic ingredients sourced directly from sustainable farms.", icon: Leaf,
|
title: "100% Organic Ingredients", description: "All our pasta is made from certified organic ingredients sourced directly from sustainable farms.", icon: Leaf,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Handcrafted Excellence", description: "Every tortellini is carefully crafted using traditional Italian methods passed down through generations.", icon: Zap,
|
title: "Handcrafted Excellence", description: "Every tortellini is carefully crafted using traditional Italian methods passed down through generations.", icon: Zap,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "Monday Delivery Only", description: "We deliver fresh pasta exclusively on Mondays to ensure optimal freshness and quality at your doorstep.", icon: Truck,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Sustainable Practices", description: "We're committed to zero-waste packaging and carbon-neutral delivery options for a better future.", icon: Globe,
|
title: "Sustainable Practices", description: "We're committed to zero-waste packaging and carbon-neutral delivery options for a better future.", icon: Globe,
|
||||||
},
|
},
|
||||||
@@ -113,13 +113,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "pf1", name: "Classic Cheese Tortellini", price: "$12.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg", imageAlt: "Classic cheese tortellini"
|
id: "pf1", name: "Classic Cheese Tortellini", price: "$12.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg?_wi=1", imageAlt: "Classic cheese tortellini"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "pf2", name: "Spinach & Ricotta Blend", price: "$13.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg", imageAlt: "Spinach ricotta tortellini"
|
id: "pf2", name: "Spinach & Ricotta Blend", price: "$13.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg?_wi=1", imageAlt: "Spinach ricotta tortellini"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "pf3", name: "Herb Infused Tortellini", price: "$14.49", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg", imageAlt: "Herb infused tortellini"
|
id: "pf3", name: "Herb Infused Tortellini", price: "$14.49", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg?_wi=1", imageAlt: "Herb infused tortellini"
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
@@ -139,13 +139,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "g1", name: "Tortellini Al Tartufo", price: "$18.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg", imageAlt: "Tortellini al tartufo"
|
id: "g1", name: "Tortellini Al Tartufo", price: "$18.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg?_wi=2", imageAlt: "Tortellini al tartufo"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "g2", name: "Ravioli Burro e Salvia", price: "$17.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg", imageAlt: "Ravioli burro e salvia"
|
id: "g2", name: "Ravioli Burro e Salvia", price: "$17.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg?_wi=2", imageAlt: "Ravioli burro e salvia"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "g3", name: "Agnolotti Nera", price: "$19.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg", imageAlt: "Agnolotti nera"
|
id: "g3", name: "Agnolotti Nera", price: "$19.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg?_wi=2", imageAlt: "Agnolotti nera"
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
@@ -165,13 +165,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "c1", name: "Classic Trio Pack", price: "$34.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg", imageAlt: "Classic trio pack"
|
id: "c1", name: "Classic Trio Pack", price: "$34.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg?_wi=3", imageAlt: "Classic trio pack"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "c2", name: "Gourmet Duo Pack", price: "$32.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg", imageAlt: "Gourmet duo pack"
|
id: "c2", name: "Gourmet Duo Pack", price: "$32.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg?_wi=3", imageAlt: "Gourmet duo pack"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "c3", name: "Family Feast Bundle", price: "$49.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg", imageAlt: "Family feast bundle"
|
id: "c3", name: "Family Feast Bundle", price: "$49.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg?_wi=3", imageAlt: "Family feast bundle"
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
@@ -191,13 +191,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "d1", name: "Tiramisu Classico", price: "$8.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg", imageAlt: "Tiramisu classico"
|
id: "d1", name: "Tiramisu Classico", price: "$8.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg?_wi=4", imageAlt: "Tiramisu classico"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "d2", name: "Panna Cotta", price: "$7.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg", imageAlt: "Panna cotta"
|
id: "d2", name: "Panna Cotta", price: "$7.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg?_wi=4", imageAlt: "Panna cotta"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "d3", name: "Cannoli Siciliani", price: "$9.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg", imageAlt: "Cannoli siciliani"
|
id: "d3", name: "Cannoli Siciliani", price: "$9.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg?_wi=4", imageAlt: "Cannoli siciliani"
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
@@ -217,13 +217,13 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "r1", name: "Quick Lunch Box", price: "$11.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg", imageAlt: "Quick lunch box"
|
id: "r1", name: "Quick Lunch Box", price: "$11.99", imageSrc: "http://img.b2bpic.net/free-photo/ai-generated-pasta-food_23-2150664628.jpg?_wi=5", imageAlt: "Quick lunch box"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "r2", name: "Dinner Ready Meal", price: "$15.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg", imageAlt: "Dinner ready meal"
|
id: "r2", name: "Dinner Ready Meal", price: "$15.99", imageSrc: "http://img.b2bpic.net/free-photo/pasta-isolated-black-out-burlap-parcel_114579-16939.jpg?_wi=5", imageAlt: "Dinner ready meal"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "r3", name: "Party Platter To-Go", price: "$39.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg", imageAlt: "Party platter to-go"
|
id: "r3", name: "Party Platter To-Go", price: "$39.99", imageSrc: "http://img.b2bpic.net/free-psd/food-channel-template-design_23-2151383181.jpg?_wi=5", imageAlt: "Party platter to-go"
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
@@ -342,4 +342,4 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user