Compare commits
58 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 770daaa27c | |||
| 2aa9fa6f85 | |||
| 5fda2d3fef | |||
| d980828de9 | |||
| eae4aad4d2 | |||
| a0a51cdd95 | |||
| e03d042c45 | |||
| 012fd9b227 | |||
| 2fe29e15c4 | |||
| 42d92ee84f | |||
| 4019a354d5 | |||
| 57bcfd5767 | |||
| f553f73a85 | |||
| 80b191598b | |||
| f2f9edb973 | |||
| 2c315fc62e | |||
| 4a912b8ab1 | |||
| e52b6d22c3 | |||
| 227c7da0d1 | |||
| c47eaecc55 | |||
| 87315ea325 | |||
| d6f69a3f17 | |||
| 7c6cc552fe | |||
| c1f705e08b | |||
| fc04a4a7f8 | |||
| 9080a8aeaf | |||
| 308e897742 | |||
| 6eb66ab19e | |||
| 2c2b9dda22 | |||
| ca3a419dfa | |||
| d412b4ff32 | |||
| e4f87fbecc | |||
| 4b252e98e1 | |||
| d5c72a2d29 | |||
| 6d5596463c | |||
| 68d17896f6 | |||
| 9e86db3742 | |||
| 89d6ad8ef1 | |||
| 41b8337236 | |||
| da4c5a8c28 | |||
| 8d0a9b6649 | |||
| 185a15e194 | |||
| 70ae6de928 | |||
| bf3865c405 | |||
| 96fe286842 | |||
| 52ca21bcfb | |||
| fe915489ab | |||
| 87acfa593e | |||
| 3d28f7a71c | |||
| 99a799e740 | |||
| 1dd170b2ac | |||
| 44fb889f9e | |||
| 51db06e73a | |||
| f47f445871 | |||
| 88a061fccb | |||
| ba73b942f4 | |||
| 9e8349bd55 | |||
| b71344c38a |
@@ -29,7 +29,7 @@ export default function BlogPage() {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "products" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "testimonial" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
@@ -67,4 +67,4 @@ export default function BlogPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Montserrat } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import "./styles/variables.css";
|
||||
import "./styles/base.css";
|
||||
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Baan Mu - Authentic Thai Restaurant in San Francisco", description: "Discover authentic Thai cuisine at Baan Mu in San Francisco. Fresh ingredients, traditional recipes, and warm hospitality. Reserve your table today.", keywords: "thai restaurant San Francisco, authentic thai food, pad thai, green curry, thai cuisine, fine dining", metadataBase: new URL("https://baanmu.com"),
|
||||
alternates: {
|
||||
canonical: "https://baanmu.com"
|
||||
},
|
||||
openGraph: {
|
||||
title: "Baan Mu - Authentic Thai Restaurant in San Francisco", description: "Experience bold flavors and warm hospitality at Baan Mu. The best Thai restaurant in San Francisco with traditional recipes and fresh ingredients.", url: "https://baanmu.com", siteName: "Baan Mu", type: "website", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/medium-fried-pieces-meat-fried-onions_140725-3560.jpg", alt: "Baan Mu Restaurant"
|
||||
}
|
||||
]
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Baan Mu - Authentic Thai Restaurant in San Francisco", description: "Experience authentic Thai cuisine in the heart of San Francisco. Discover our signature dishes and warm hospitality.", images: ["http://img.b2bpic.net/free-photo/medium-fried-pieces-meat-fried-onions_140725-3560.jpg"]
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true
|
||||
}
|
||||
};
|
||||
title: "Baan Mu - Authentic Thai Cuisine", description: "Discover authentic Thai cuisine at Baan Mu in San Francisco"};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${montserrat.variable} ${inter.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1415,7 +1384,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
109
src/app/menu/page.tsx
Normal file
109
src/app/menu/page.tsx
Normal file
@@ -0,0 +1,109 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { ChefHat } from "lucide-react";
|
||||
|
||||
export default function MenuPage() {
|
||||
const menuItems = [
|
||||
{
|
||||
id: "1", name: "Pad Thai", price: "$16.95", imageSrc: "http://img.b2bpic.net/free-photo/stir-noodles-fry-green-chinese_1203-5877.jpg?_wi=2", imageAlt: "Pad Thai - Stir-fried noodles"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Green Curry", price: "$18.95", imageSrc: "http://img.b2bpic.net/free-photo/curry-pork-spicy_1388-222.jpg?_wi=2", imageAlt: "Green Curry with chicken"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Tom Yum Soup", price: "$14.95", imageSrc: "http://img.b2bpic.net/free-photo/tom-yum-kung-thai-hot-spicy-soup-shrimp-with-lemon-grass-lemon-galangal-chilli-wooden-table-thailand-food_1150-21062.jpg?_wi=2", imageAlt: "Tom Yum - Hot and sour soup"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Pad Krapow Moo", price: "$17.95", imageSrc: "http://img.b2bpic.net/free-photo/stir-fried-meat-with-basil-leaves-thai-food_1203-5877.jpg", imageAlt: "Pad Krapow Moo - Basil pork stir-fry"
|
||||
},
|
||||
{
|
||||
id: "5", name: "Massaman Curry", price: "$19.95", imageSrc: "http://img.b2bpic.net/free-photo/thai-massaman-curry-with-beef-peanuts_1203-5877.jpg", imageAlt: "Massaman Curry - Rich and aromatic"
|
||||
},
|
||||
{
|
||||
id: "6", name: "Pad See Ew", price: "$16.95", imageSrc: "http://img.b2bpic.net/free-photo/dark-soy-noodles-thai-stir-fry_1203-5877.jpg", imageAlt: "Pad See Ew - Dark soy noodles"
|
||||
},
|
||||
{
|
||||
id: "7", name: "Larb Gai", price: "$15.95", imageSrc: "http://img.b2bpic.net/free-photo/spicy-minced-chicken-salad_1203-5877.jpg", imageAlt: "Larb Gai - Spicy minced chicken"
|
||||
},
|
||||
{
|
||||
id: "8", name: "Satay Skewers", price: "$12.95", imageSrc: "http://img.b2bpic.net/free-photo/grilled-meat-skewers-peanut-sauce_1203-5877.jpg", imageAlt: "Satay Skewers - Grilled with peanut sauce"
|
||||
},
|
||||
{
|
||||
id: "9", name: "Spring Rolls", price: "$8.95", imageSrc: "http://img.b2bpic.net/free-photo/crispy-spring-rolls-sweet-sauce_1203-5877.jpg", imageAlt: "Spring Rolls - Crispy appetizer"
|
||||
},
|
||||
{
|
||||
id: "10", name: "Green Papaya Salad", price: "$13.95", imageSrc: "http://img.b2bpic.net/free-photo/som-tam-green-papaya-salad_1203-5877.jpg", imageAlt: "Green Papaya Salad - Som Tam"
|
||||
},
|
||||
{
|
||||
id: "11", name: "Mango Sticky Rice", price: "$9.95", imageSrc: "http://img.b2bpic.net/free-photo/mango-sticky-rice-dessert_1203-5877.jpg", imageAlt: "Mango Sticky Rice - Thai dessert"
|
||||
},
|
||||
{
|
||||
id: "12", name: "Thai Iced Tea", price: "$5.95", imageSrc: "http://img.b2bpic.net/free-photo/thai-iced-tea-traditional_1203-5877.jpg", imageAlt: "Thai Iced Tea - Refreshing beverage"
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLarge"
|
||||
background="floatingGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "testimonial" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
button={{
|
||||
text: "Reserve Now", href: "https://www.opentable.com"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="menu" data-section="menu">
|
||||
<ProductCardOne
|
||||
title="Full Menu"
|
||||
description="Explore our complete selection of authentic Thai dishes, from traditional favorites to signature creations. Each item is carefully prepared with fresh ingredients and authentic techniques."
|
||||
tag="Chef's Selection"
|
||||
tagIcon={ChefHat}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
products={menuItems}
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
animationType="slide-up"
|
||||
buttons={[
|
||||
{ text: "Reserve a Table", href: "https://www.opentable.com" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Baan Mu"
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Contact Us", href: "mailto:hello@baanmu.com" }}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen
|
||||
import ContactText from '@/components/sections/contact/ContactText';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Sparkles, Heart, ChefHat } from "lucide-react";
|
||||
import { Sparkles, Heart, ChefHat, Users } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -31,7 +31,7 @@ export default function LandingPage() {
|
||||
<NavbarLayoutFloatingInline
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{ name: "Menu", id: "products" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Reviews", id: "testimonial" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
@@ -55,9 +55,16 @@ export default function LandingPage() {
|
||||
mediaAnimation="blur-reveal"
|
||||
buttons={[
|
||||
{ text: "Reserve a Table", href: "https://www.opentable.com" },
|
||||
{ text: "View Menu", href: "#products" }
|
||||
{ text: "View Menu", href: "/menu" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
marqueeItems={[
|
||||
{
|
||||
type: "text-icon", icon: Users,
|
||||
text: "Trusted by over 2000 customers"
|
||||
}
|
||||
]}
|
||||
showMarqueeCard={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -86,19 +93,19 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "Pad Thai", price: "$16.95", imageSrc: "http://img.b2bpic.net/free-photo/stir-noodles-fry-green-chinese_1203-5877.jpg", imageAlt: "Pad Thai - Stir-fried noodles"
|
||||
id: "1", name: "Pad Thai", price: "$16.95", imageSrc: "http://img.b2bpic.net/free-photo/stir-noodles-fry-green-chinese_1203-5877.jpg?_wi=1", imageAlt: "Pad Thai - Stir-fried noodles"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Green Curry", price: "$18.95", imageSrc: "http://img.b2bpic.net/free-photo/curry-pork-spicy_1388-222.jpg", imageAlt: "Green Curry with chicken"
|
||||
id: "2", name: "Green Curry", price: "$18.95", imageSrc: "http://img.b2bpic.net/free-photo/curry-pork-spicy_1388-222.jpg?_wi=1", imageAlt: "Green Curry with chicken"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Tom Yum Soup", price: "$14.95", imageSrc: "http://img.b2bpic.net/free-photo/tom-yum-kung-thai-hot-spicy-soup-shrimp-with-lemon-grass-lemon-galangal-chilli-wooden-table-thailand-food_1150-21062.jpg", imageAlt: "Tom Yum - Hot and sour soup"
|
||||
id: "3", name: "Tom Yum Soup", price: "$14.95", imageSrc: "http://img.b2bpic.net/free-photo/tom-yum-kung-thai-hot-spicy-soup-shrimp-with-lemon-grass-lemon-galangal-chilli-wooden-table-thailand-food_1150-21062.jpg?_wi=1", imageAlt: "Tom Yum - Hot and sour soup"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
buttons={[
|
||||
{ text: "View Full Menu", href: "#" }
|
||||
{ text: "View Full Menu", href: "/menu" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
|
||||
@@ -94,6 +94,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Menu","id":"/menu"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
@@ -134,6 +135,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Menu","id":"/menu"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
@@ -181,6 +183,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Menu","id":"/menu"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
@@ -232,4 +235,4 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ function ShopPageContent() {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Menu","id":"/menu"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
@@ -76,6 +77,7 @@ function ShopPageContent() {
|
||||
brandName="Baan Mu"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Menu","id":"/menu"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
button={{ text: "Cart", onClick: () => console.log("cart") }}
|
||||
@@ -110,4 +112,4 @@ export default function ShopPage() {
|
||||
<ShopPageContent />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user