Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 59b9380f43 | |||
| 4fb02e224d |
@@ -1,57 +1,36 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Archivo } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant", subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const archivo = Archivo({
|
||||
variable: "--font-archivo", subsets: ["latin"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Lucky Treats | Artisanal Bakery & Fresh Pastries", description: "Handcrafted bakery goods made with premium ingredients. Fresh sourdough, pastries, custom cakes, and more. Order online for delivery today.", keywords: "artisanal bakery, sourdough bread, fresh pastries, custom cakes, cupcakes, cookies, local bakery", metadataBase: new URL("https://luckytreatsbakery.com"),
|
||||
alternates: {
|
||||
canonical: "https://luckytreatsbakery.com"},
|
||||
openGraph: {
|
||||
title: "Lucky Treats | Handcrafted Bakery", description: "Experience authentic artisanal baked goods made fresh daily with the finest ingredients.", url: "https://luckytreatsbakery.com", siteName: "Lucky Treats", type: "website", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/donut-tray_23-2147985155.jpg", alt: "Lucky Treats Bakery - Fresh Artisanal Goods"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Lucky Treats | Artisanal Bakery", description: "Handcrafted baked goods & pastries made fresh daily", images: ["http://img.b2bpic.net/free-photo/donut-tray_23-2147985155.jpg"],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
};
|
||||
title: "Lucky Treats - Artisanal Bakery", description: "Handcrafted bakery goods made with love and the finest ingredients. From artisanal sourdough to delicate pastries."};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${archivo.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<body className={inter.className}>
|
||||
{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
(function() {
|
||||
try {
|
||||
const theme = localStorage.getItem('theme') || 'light';
|
||||
if (theme === 'dark') {
|
||||
document.documentElement.classList.add('dark');
|
||||
}
|
||||
} catch (e) {}
|
||||
})();
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1419,7 +1398,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
117
src/app/page.tsx
117
src/app/page.tsx
@@ -29,13 +29,13 @@ export default function LandingPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
navItems={[
|
||||
{ name: "Home", id: "home" },
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Why Us", id: "features" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Orders", id: "orders" },
|
||||
]}
|
||||
button={{ text: "Order Now", href: "#contact" }}
|
||||
button={{ text: "Order Now", href: "contact" }}
|
||||
brandName="Lucky Treats"
|
||||
/>
|
||||
</div>
|
||||
@@ -46,8 +46,8 @@ export default function LandingPage() {
|
||||
description="Handcrafted bakery goods made with love and the finest ingredients. From artisanal sourdough to delicate pastries, every bite tells a story of tradition and passion."
|
||||
background={{ variant: "radial-gradient" }}
|
||||
buttons={[
|
||||
{ text: "Order Today", href: "#contact" },
|
||||
{ text: "Learn Our Story", href: "#about" },
|
||||
{ text: "Order Today", href: "contact" },
|
||||
{ text: "Learn Our Story", href: "about" },
|
||||
]}
|
||||
layoutOrder="default"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/donut-tray_23-2147985155.jpg"
|
||||
@@ -62,8 +62,9 @@ export default function LandingPage() {
|
||||
<TextSplitAbout
|
||||
title="About Lucky Treats"
|
||||
description={[
|
||||
"Lucky Treats began in our small kitchen with a dream to bring authentic, artisanal baked goods to our community. We believe that baking is both an art and a labor of love, and every product reflects our commitment to quality.", "We use only the finest ingredients sourced locally whenever possible. Our team of experienced bakers wakes up early every morning to ensure your treats are fresh, delicious, and made with care. From traditional recipes passed down through generations to innovative creations, we offer something for everyone.", "Whether you're looking for your daily bread, a celebration cake, or treats for a special occasion, Lucky Treats is here to make your moments sweeter."]}
|
||||
buttons={[{ text: "View Our Menu", href: "#products" }]}
|
||||
"Lucky Treats began in our small kitchen with a dream to bring authentic, artisanal baked goods to our community. We believe that baking is both an art and a labor of love, and every product reflects our commitment to quality.", "We use only the finest ingredients sourced locally whenever possible. Our team of experienced bakers wakes up early every morning to ensure your treats are fresh, delicious, and made with care. From traditional recipes passed down through generations to innovative creations, we offer something for everyone.", "Whether you're looking for your daily bread, a celebration cake, or treats for a special occasion, Lucky Treats is here to make your moments sweeter."
|
||||
]}
|
||||
buttons={[{ text: "View Our Menu", href: "products" }]}
|
||||
buttonAnimation="slide-up"
|
||||
showBorder={true}
|
||||
useInvertedBackground={false}
|
||||
@@ -78,13 +79,17 @@ export default function LandingPage() {
|
||||
tagIcon={Star}
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "Artisanal Sourdough", price: "$8.99", variant: "Classic Loaf • Whole Grain • Rosemary", imageSrc: "http://img.b2bpic.net/free-photo/round-white-bread-cloth-kitchen_23-2148438608.jpg", imageAlt: "Fresh sourdough bread loaf"},
|
||||
id: "1", name: "Artisanal Sourdough", price: "$8.99", variant: "Classic Loaf • Whole Grain • Rosemary", imageSrc: "http://img.b2bpic.net/free-photo/round-white-bread-cloth-kitchen_23-2148438608.jpg", imageAlt: "Fresh sourdough bread loaf"
|
||||
},
|
||||
{
|
||||
id: "2", name: "French Butter Croissants", price: "$5.99", variant: "Plain • Almond • Chocolate", imageSrc: "http://img.b2bpic.net/free-photo/delicious-croissant-flowers-plate_23-2149660917.jpg", imageAlt: "Golden butter croissants"},
|
||||
id: "2", name: "French Butter Croissants", price: "$5.99", variant: "Plain • Almond • Chocolate", imageSrc: "http://img.b2bpic.net/free-photo/delicious-croissant-flowers-plate_23-2149660917.jpg", imageAlt: "Golden butter croissants"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Gourmet Cupcakes", price: "$4.49", variant: "Vanilla • Chocolate • Red Velvet", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-vegan-baked-products-arrangement_23-2150251755.jpg", imageAlt: "Decorated gourmet cupcakes"},
|
||||
id: "3", name: "Gourmet Cupcakes", price: "$4.49", variant: "Vanilla • Chocolate • Red Velvet", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-vegan-baked-products-arrangement_23-2150251755.jpg", imageAlt: "Decorated gourmet cupcakes"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Artisan Cookies", price: "$3.99", variant: "Box of 6 • Chocolate Chip • Sugar Cookies", imageSrc: "http://img.b2bpic.net/free-photo/small-stack-cookies-marble-surface_114579-25515.jpg", imageAlt: "Assorted artisan cookies"},
|
||||
id: "4", name: "Artisan Cookies", price: "$3.99", variant: "Box of 6 • Chocolate Chip • Sugar Cookies", imageSrc: "http://img.b2bpic.net/free-photo/small-stack-cookies-marble-surface_114579-25515.jpg", imageAlt: "Assorted artisan cookies"
|
||||
}
|
||||
]}
|
||||
gridVariant="two-columns-alternating-heights"
|
||||
animationType="slide-up"
|
||||
@@ -102,34 +107,37 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Premium Ingredients", description: "We source the finest flour, butter, and ingredients from trusted suppliers. Every component of our bakes is carefully selected for quality and freshness.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-white-flour-heart-shape-with-nuts-dark-cake-fruit-sweet-pie-tea-dessert-biscuit-sugar-pastry_140725-145322.jpg"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-white-flour-heart-shape-with-nuts-dark-cake-fruit-sweet-pie-tea-dessert-biscuit-sugar-pastry_140725-145322.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: CheckCircle, text: "Organic and non-GMO where possible" },
|
||||
{ icon: CheckCircle, text: "No artificial preservatives" },
|
||||
{ icon: CheckCircle, text: "Locally sourced when available" },
|
||||
{ icon: CheckCircle, text: "Locally sourced when available" }
|
||||
],
|
||||
reverse: false,
|
||||
reverse: false
|
||||
},
|
||||
{
|
||||
id: "2", title: "Custom Orders", description: "Need something special for your event? Our talented bakers create custom cakes, cookies, and pastries tailored to your vision and dietary needs.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/female-confectioner-with-chocolate-cake-pastry-shop_23-2150360212.jpg"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/female-confectioner-with-chocolate-cake-pastry-shop_23-2150360212.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: CheckCircle, text: "Personalized designs for celebrations" },
|
||||
{ icon: CheckCircle, text: "Dietary accommodations available" },
|
||||
{ icon: CheckCircle, text: "Professional consultation included" },
|
||||
{ icon: CheckCircle, text: "Professional consultation included" }
|
||||
],
|
||||
reverse: true,
|
||||
reverse: true
|
||||
},
|
||||
{
|
||||
id: "3", title: "Fresh Delivery", description: "Order online and have our fresh-baked treats delivered to your door. We ensure every box arrives in perfect condition, ready to enjoy.", media: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/loaf-bread-tied-with-rope-marble-surface_114579-72132.jpg"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/loaf-bread-tied-with-rope-marble-surface_114579-72132.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: CheckCircle, text: "Same-day delivery available" },
|
||||
{ icon: CheckCircle, text: "Careful packaging and handling" },
|
||||
{ icon: CheckCircle, text: "Track your order in real-time" },
|
||||
{ icon: CheckCircle, text: "Track your order in real-time" }
|
||||
],
|
||||
reverse: false,
|
||||
},
|
||||
reverse: false
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
@@ -147,30 +155,33 @@ export default function LandingPage() {
|
||||
{
|
||||
id: "1", badge: "Weekly Special", badgeIcon: TrendingUp,
|
||||
price: "$24.99", subtitle: "Perfect for weekly treats", buttons: [
|
||||
{ text: "Subscribe Now", href: "#contact" },
|
||||
{ text: "Learn More", href: "#" },
|
||||
{ text: "Subscribe Now", href: "contact" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"Fresh baked goods every Friday", "25% discount on regular prices", "Free delivery", "Customization options", "Cancel anytime"],
|
||||
"Fresh baked goods every Friday", "25% discount on regular prices", "Free delivery", "Customization options", "Cancel anytime"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "2", badge: "Party Bundle", badgeIcon: Gift,
|
||||
price: "$69.99", subtitle: "For celebrations and gatherings", buttons: [
|
||||
{ text: "Order Now", href: "#contact" },
|
||||
{ text: "Customize", href: "#" },
|
||||
{ text: "Order Now", href: "contact" },
|
||||
{ text: "Customize", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"Assorted pastries and breads", "Custom cake included", "Serves 15-20 people", "Free delivery", "Professional setup guidance"],
|
||||
"Assorted pastries and breads", "Custom cake included", "Serves 15-20 people", "Free delivery", "Professional setup guidance"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "3", badge: "Corporate Catering", badgeIcon: Briefcase,
|
||||
price: "Custom Quote", subtitle: "For corporate events", buttons: [
|
||||
{ text: "Get Quote", href: "#contact" },
|
||||
{ text: "Menu", href: "#" },
|
||||
{ text: "Get Quote", href: "contact" },
|
||||
{ text: "Menu", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"Unlimited quantity options", "Dedicated baker consultation", "Custom branding available", "Professional delivery", "Volume discounts available"],
|
||||
},
|
||||
"Unlimited quantity options", "Dedicated baker consultation", "Custom branding available", "Professional delivery", "Volume discounts available"
|
||||
]
|
||||
}
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
@@ -182,13 +193,17 @@ export default function LandingPage() {
|
||||
<TestimonialCardTwelve
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Johnson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-afro-american-woman_23-2148332136.jpg", imageAlt: "Sarah Johnson"},
|
||||
id: "1", name: "Sarah Johnson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-afro-american-woman_23-2148332136.jpg", imageAlt: "Sarah Johnson"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Michael Chen", imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Michael Chen"},
|
||||
id: "2", name: "Michael Chen", imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Michael Chen"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Emma Rodriguez", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-image-beautiful-stylish-young-woman-with-long-loose-hair-posing-arch-wearing-white-shirt-having-serious-look-bright-summer-street-background_343059-2163.jpg", imageAlt: "Emma Rodriguez"},
|
||||
id: "3", name: "Emma Rodriguez", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-image-beautiful-stylish-young-woman-with-long-loose-hair-posing-arch-wearing-white-shirt-having-serious-look-bright-summer-street-background_343059-2163.jpg", imageAlt: "Emma Rodriguez"
|
||||
},
|
||||
{
|
||||
id: "4", name: "David Kim", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-bearded-man-white-shirt-jacket-posing-camera-with-broad-smile-isolated-gray_171337-629.jpg", imageAlt: "David Kim"},
|
||||
id: "4", name: "David Kim", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-bearded-man-white-shirt-jacket-posing-camera-with-broad-smile-isolated-gray_171337-629.jpg", imageAlt: "David Kim"
|
||||
}
|
||||
]}
|
||||
cardTitle="Over 2,000 satisfied customers trust Lucky Treats for their daily treats and special occasions"
|
||||
cardTag="Customer Love"
|
||||
@@ -222,36 +237,36 @@ export default function LandingPage() {
|
||||
columns={[
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Our Story", href: "#about" },
|
||||
{ label: "About Us", href: "about" },
|
||||
{ label: "Our Story", href: "about" },
|
||||
{ label: "Careers", href: "#" },
|
||||
{ label: "Blog", href: "#" },
|
||||
],
|
||||
{ label: "Blog", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Products", items: [
|
||||
{ label: "Breads", href: "#products" },
|
||||
{ label: "Pastries", href: "#products" },
|
||||
{ label: "Custom Orders", href: "#contact" },
|
||||
{ label: "Catering", href: "#pricing" },
|
||||
],
|
||||
{ label: "Breads", href: "products" },
|
||||
{ label: "Pastries", href: "products" },
|
||||
{ label: "Custom Orders", href: "contact" },
|
||||
{ label: "Catering", href: "pricing" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "Contact Us", href: "contact" },
|
||||
{ label: "FAQ", href: "#" },
|
||||
{ label: "Delivery Info", href: "#" },
|
||||
{ label: "Track Order", href: "#" },
|
||||
],
|
||||
{ label: "Track Order", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Refund Policy", href: "#" },
|
||||
{ label: "Accessibility", href: "#" },
|
||||
],
|
||||
},
|
||||
{ label: "Accessibility", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
bottomLeftText="© 2025 Lucky Treats. All rights reserved."
|
||||
bottomRightText="Made with love and flour"
|
||||
@@ -259,4 +274,4 @@ export default function LandingPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user