Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ab0039445 | |||
| b316b8a3df | |||
| e521ebae9a | |||
| d4d640b0f0 | |||
| c1e15afde0 | |||
| af970e6085 | |||
| 179050d070 | |||
| 3a56d5fb1c | |||
| 4b0351f4f6 | |||
| aaca50b3b0 | |||
| fb04c1e967 | |||
| 1269d28c72 | |||
| bf78189f11 | |||
| f378442163 | |||
| 122c55e5eb | |||
| 62316a0686 |
50
src/app/about/page.tsx
Normal file
50
src/app/about/page.tsx
Normal file
@@ -0,0 +1,50 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import { Award } from "lucide-react";
|
||||
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "Order", id: "/order" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
</div>
|
||||
<div id="about" data-section="about">
|
||||
<TestimonialAboutCard
|
||||
tag="Our Story"
|
||||
title="Our History"
|
||||
description="Founded in 1950, LMB started with a small dream of bringing authentic flavors to everyone. Over the decades, we've stayed true to our roots."
|
||||
subdescription="From our family to yours, we believe that tradition is the best ingredient."
|
||||
icon={Award}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/male-cook-cuts-orange-into-pieces-marble-table_2831-7988.jpg?_wi=1"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "/menu" }, { label: "About", href: "/about" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
76
src/app/contact/page.tsx
Normal file
76
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,76 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
|
||||
export default function ContactPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="pill"
|
||||
contentWidth="medium"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/#about" },
|
||||
{ name: "Menu", id: "/#products" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
useInvertedBackground={false}
|
||||
title="Contact Us"
|
||||
description="We would love to hear from you. Reach out for bulk orders, inquiries, or just to say hello!"
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true },
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "How can we help you?", rows: 4, required: true }}
|
||||
buttonText="Submit Message"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/front-view-vintage-shop-window_141667-3.jpg"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="flex justify-center p-10">
|
||||
<a
|
||||
href="https://wa.me/1234567890"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="bg-green-500 text-white px-8 py-4 rounded-full font-bold shadow-lg hover:bg-green-600 transition-all"
|
||||
>
|
||||
Chat on WhatsApp
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "/#products" }, { label: "About", href: "/#about" }] },
|
||||
{ title: "Contact", items: [{ label: "Get in Touch", href: "/contact" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
copyrightText="© 2025 | LMB Sweets"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
54
src/app/gallery/page.tsx
Normal file
54
src/app/gallery/page.tsx
Normal file
@@ -0,0 +1,54 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
|
||||
export default function GalleryPage() {
|
||||
return (
|
||||
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "Order", id: "/order" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
</div>
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardThree
|
||||
title="Our Sweet Shop Gallery"
|
||||
description="A visual tour of our finest creations and store highlights."
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
animationType="slide-up"
|
||||
products={[
|
||||
{ id: "g1", name: "Artisan Sweets", price: "", imageSrc: "http://img.b2bpic.net/free-photo/indian-dessert-presentation-wedding_23-2151994688.jpg" },
|
||||
{ id: "g2", name: "Festive Collection", price: "", imageSrc: "http://img.b2bpic.net/free-photo/colorful-baskets-fresh-spices-sale-generated-by-ai_188544-9016.jpg?_wi=1" },
|
||||
{ id: "g3", name: "Traditional Savories", price: "", imageSrc: "http://img.b2bpic.net/free-photo/variety-salted-crackers-orange-bowl_114579-54041.jpg?_wi=1" },
|
||||
{ id: "g4", name: "Handcrafted Treats", price: "", imageSrc: "http://img.b2bpic.net/free-photo/orange-roll-barfee-barfi-sweet-mitlai_466689-71823.jpg?_wi=1" },
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "/menu" }, { label: "Gallery", href: "/gallery" }, { label: "Order", href: "/order" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
55
src/app/menu/page.tsx
Normal file
55
src/app/menu/page.tsx
Normal file
@@ -0,0 +1,55 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
|
||||
export default function MenuPage() {
|
||||
return (
|
||||
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "Order", id: "/order" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
</div>
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
products={[
|
||||
{ id: "1", name: "Classic Laddu", price: "$12.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-pepernoten-dessert-still-life_23-2149766704.jpg" },
|
||||
{ id: "2", name: "Gulab Jamun", price: "$15.00", imageSrc: "http://img.b2bpic.net/free-photo/baked-red-bean-paste-buns-place-brown-fabric-served-with-coffee_1150-35411.jpg" },
|
||||
{ id: "3", name: "Royal Barfi", price: "$18.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-pink-cakes-with-candies-cookies-white-desk-sweet-cake-biscuit-tea-pie-cookies_140725-64520.jpg" },
|
||||
{ id: "4", name: "Crispy Samosa", price: "$8.00", imageSrc: "http://img.b2bpic.net/free-photo/variety-salted-crackers-orange-bowl_114579-54041.jpg?_wi=2" },
|
||||
{ id: "5", name: "Fresh Jalebi", price: "$10.00", imageSrc: "http://img.b2bpic.net/free-photo/orange-roll-barfee-barfi-sweet-mitlai_466689-71823.jpg?_wi=2" },
|
||||
]}
|
||||
title="Our Menu"
|
||||
description="Discover our wide selection of sweets and savory treats."
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "/menu" }, { label: "About", href: "/about" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
53
src/app/order/page.tsx
Normal file
53
src/app/order/page.tsx
Normal file
@@ -0,0 +1,53 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
|
||||
export default function OrderPage() {
|
||||
return (
|
||||
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "Order", id: "/order" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
</div>
|
||||
<div id="order" data-section="order">
|
||||
<ContactSplitForm
|
||||
title="Place Your Order"
|
||||
description="Order your favorite sweets in bulk or individual portions using the form below."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Full Name" },
|
||||
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
||||
{ name: "email", type: "email", placeholder: "Email Address" },
|
||||
{ name: "quantity", type: "number", placeholder: "Quantity (in kgs for bulk)" },
|
||||
]}
|
||||
textarea={{ name: "details", placeholder: "Special instructions or bulk order details", rows: 4 }}
|
||||
buttonText="Send Order Request"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "/#products" }, { label: "Gallery", href: "/gallery" }, { label: "Order", href: "/order" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -35,7 +35,7 @@ export default function LandingPage() {
|
||||
{ name: "Home", id: "hero" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Menu", id: "products" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
]}
|
||||
brandName="LMB"
|
||||
/>
|
||||
@@ -146,26 +146,15 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
useInvertedBackground={false}
|
||||
title="Visit or Reach Out"
|
||||
description="Get in touch for orders or inquiries."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name" },
|
||||
{ name: "email", type: "email", placeholder: "Your Email" },
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/front-view-vintage-shop-window_141667-3.jpg"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="LMB"
|
||||
columns={[
|
||||
{ title: "Shop", items: [{ label: "Menu", href: "#products" }, { label: "About", href: "#about" }] },
|
||||
{ title: "Contact", items: [{ label: "Get in Touch", href: "/contact" }] },
|
||||
{ title: "Legal", items: [{ label: "Privacy Policy", href: "#" }, { label: "Terms of Service", href: "#" }] },
|
||||
]}
|
||||
copyrightText="© 2025 | LMB Sweets"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
--background: #f6f0e9;
|
||||
--card: #efe7dd;
|
||||
--foreground: #2b180a;
|
||||
--primary-cta: #2b180a;
|
||||
--primary-cta: #991b1b;
|
||||
--primary-cta-text: #f6f0e9;
|
||||
--secondary-cta: #efe7dd;
|
||||
--secondary-cta-text: #2b180a;
|
||||
--accent: #94877c;
|
||||
--background-accent: #afa094;
|
||||
--accent: #b8860b;
|
||||
--background-accent: #efe7dd;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user