Merge version_5 into main #5

Merged
bender merged 3 commits from version_5 into main 2026-02-28 06:57:13 +00:00
3 changed files with 173 additions and 151 deletions

View File

@@ -1,15 +1,13 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import "./styles/variables.css";
import "./styles/base.css";
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
export const metadata: Metadata = {
title: "Baan Mu - Authentic Thai Cuisine", description: "Experience authentic Thai cuisine at Baan Mu in San Francisco"};
title: "Baan Mu - Authentic Thai Cuisine", description: "Experience the bold flavors and aromatic spices of traditional Thai cooking in an elegant setting."};
export default function RootLayout({
children,
@@ -18,7 +16,9 @@ export default function RootLayout({
}) {
return (
<html lang="en">
<body className={inter.variable}>{children}
<body className={inter.variable}>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1388,4 +1388,4 @@ export default function RootLayout({
</body>
</html>
);
}
}

View File

@@ -1,6 +1,6 @@
"use client"
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
@@ -21,11 +21,12 @@ export default function MenuPage() {
headingFontWeight="semibold"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
<NavbarLayoutFloatingOverlay
brandName="Baan Mu"
navItems={[
{ name: "Home", id: "/" },
{ name: "Menu", id: "/menu" },
{ name: "Gallery", id: "#gallery" },
{ name: "Contact", id: "contact" }
]}
button={{

View File

@@ -1,41 +1,69 @@
"use client"
"use client";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import TextAbout from '@/components/sections/about/TextAbout';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen';
import ContactText from '@/components/sections/contact/ContactText';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import HeroBillboardDashboard from '@/components/sections/hero/HeroBillboardDashboard';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import { Sparkles, Heart, ChefHat } from "lucide-react";
import { Sparkles, Mail, MapPin, Clock } from "lucide-react";
import Image from 'next/image';
export default function HomePage() {
const galleryImages = [
{
id: '1',
src: 'https://images.unsplash.com/photo-1504674900152-b8b27e3dcded?w=600&h=400&fit=crop',
alt: 'Restaurant interior ambiance'
},
{
id: '2',
src: 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=600&h=400&fit=crop',
alt: 'Signature dish plating'
},
{
id: '3',
src: 'https://images.unsplash.com/photo-1540189549336-e6e99c3679fe?w=600&h=400&fit=crop',
alt: 'Fine dining experience'
},
{
id: '4',
src: 'https://images.unsplash.com/photo-1495195134817-aeb325ef3c27?w=600&h=400&fit=crop',
alt: 'Chef preparing signature dishes'
},
{
id: '5',
src: 'https://images.unsplash.com/photo-1504674900152-b8b27e3dcded?w=600&h=400&fit=crop',
alt: 'Elegant table setting'
},
{
id: '6',
src: 'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=600&h=400&fit=crop',
alt: 'Appetizer showcase'
}
];
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="background-highlight"
borderRadius="soft"
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLarge"
background="floatingGradient"
sizing="medium"
background="aurora"
cardStyle="glass-elevated"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
<NavbarLayoutFloatingOverlay
brandName="Baan Mu"
navItems={[
{ name: "Menu", id: "products" },
{ name: "About", id: "about" },
{ name: "Reviews", id: "testimonial" },
{ name: "Contact", id: "contact" },
{ name: "Menu Page", id: "/menu" }
{ name: "Home", id: "/" },
{ name: "Menu", id: "/menu" },
{ name: "Gallery", id: "gallery" },
{ name: "Contact", id: "contact" }
]}
button={{
text: "Reserve Now", href: "https://www.opentable.com"
@@ -43,57 +71,97 @@ export default function LandingPage() {
/>
</div>
<div id="gallery" data-section="gallery" className="relative w-full py-16 md:py-24">
<div className="mx-auto px-4 md:px-8 max-w-7xl">
<div className="mb-12">
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">Gallery & Ambiance</h2>
<p className="text-lg text-foreground/75 max-w-2xl">Experience the warmth and elegance of our restaurant through our signature dishes and inviting atmosphere.</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{galleryImages.map((image) => (
<div key={image.id} className="relative overflow-hidden rounded-lg shadow-lg hover:shadow-xl transition-shadow duration-300 aspect-video group">
<img
src={image.src}
alt={image.alt}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300"
/>
<div className="absolute inset-0 bg-black/20 group-hover:bg-black/10 transition-colors duration-300" />
</div>
))}
</div>
</div>
</div>
<div id="hero" data-section="hero">
<HeroBillboard
title="Welcome to Baan Mu"
description="Discover authentic Thai cuisine crafted with passion in the heart of San Francisco. Experience bold flavors, warm hospitality, and culinary excellence."
background={{ variant: "sparkles-gradient" }}
tag="Since 2019"
<HeroBillboardDashboard
background={{ variant: 'radial-gradient' }}
tag="Welcome"
tagIcon={Sparkles}
tagAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/medium-fried-pieces-meat-fried-onions_140725-3560.jpg?_wi=1"
imageAlt="Baan Mu Restaurant Interior"
mediaAnimation="blur-reveal"
title="Authentic Thai Cuisine"
description="Experience the bold flavors and aromatic spices of traditional Thai cooking in an elegant setting."
buttons={[
{ text: "Reserve a Table", href: "https://www.opentable.com" },
{ text: "View Menu", href: "#products" }
{ text: "View Menu", href: "/menu" },
{ text: "Reserve Table", href: "https://www.opentable.com" }
]}
buttonAnimation="slide-up"
dashboard={{
title: "Today's Specials", logoIcon: Sparkles,
imageSrc: "https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=100&h=100&fit=crop", searchPlaceholder: "Search dishes...", buttons: [
{ text: "Make Reservation", href: "https://www.opentable.com" },
{ text: "Call Us", href: "tel:+1234567890" }
],
sidebarItems: [
{ icon: MapPin, active: true },
{ icon: Clock },
{ icon: Mail }
],
stats: [
{ title: "Dishes", values: [45, 52, 58], description: "In rotation" },
{ title: "Diners", values: [120, 180, 220], description: "Daily average" },
{ title: "Rating", values: [4.8, 4.9, 5.0], description: "Customer satisfaction" }
],
chartTitle: "Weekly Visitors", chartData: [
{ value: 65 },
{ value: 75 },
{ value: 85 },
{ value: 70 },
{ value: 90 }
],
listTitle: "Popular Orders", listItems: [
{ icon: Sparkles, title: "Pad Thai Supreme", status: "Most Popular" },
{ icon: Sparkles, title: "Green Curry Delight", status: "Chef's Pick" },
{ icon: Sparkles, title: "Tom Yum Sensation", status: "Trending" }
]
}}
/>
</div>
<div id="about" data-section="about">
<TextAbout
tag="Our Story"
tagIcon={Heart}
tagAnimation="slide-up"
title="Celebrating Thai culinary traditions with authentic recipes passed down through generations. At Baan Mu, every dish tells a story of Thailand's rich heritage and vibrant flavors."
useInvertedBackground={false}
buttons={[
{ text: "Learn More", href: "#" }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="products" data-section="products">
<ProductCardOne
title="Signature Dishes"
description="Explore our carefully curated selection of authentic Thai favorites, each prepared with fresh ingredients and traditional techniques."
<div id="featured" data-section="featured">
<ProductCardTwo
title="Featured Dishes"
description="Discover our carefully curated selection of signature dishes that showcase the heart of Thai cuisine."
tag="Chef's Selection"
tagIcon={ChefHat}
tagAnimation="slide-up"
textboxLayout="default"
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?_wi=1", imageAlt: "Pad Thai - Stir-fried noodles"
id: "1", brand: "Baan Mu", name: "Pad Thai", price: "$16.95", rating: 5,
reviewCount: "2.3k", imageSrc: "https://images.unsplash.com/photo-1569718212e3-3a95db8f5e6a?w=500&h=500&fit=crop", 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=1", imageAlt: "Green Curry with chicken"
id: "2", brand: "Baan Mu", name: "Green Curry", price: "$18.95", rating: 5,
reviewCount: "1.9k", imageSrc: "https://images.unsplash.com/photo-1609501676725-7186f017a4b7?w=500&h=500&fit=crop", 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=1", imageAlt: "Tom Yum - Hot and sour soup"
id: "3", brand: "Baan Mu", name: "Tom Yum Soup", price: "$14.95", rating: 5,
reviewCount: "1.7k", imageSrc: "https://images.unsplash.com/photo-1567299886990-51e3b2db2a57?w=500&h=500&fit=crop", imageAlt: "Tom Yum - Hot and sour soup"
},
{
id: "4", brand: "Baan Mu", name: "Massaman Curry", price: "$17.95", rating: 4,
reviewCount: "1.5k", imageSrc: "https://images.unsplash.com/photo-1535519227936-287u8e78c40f?w=500&h=500&fit=crop", imageAlt: "Massaman Curry with beef"
}
]}
gridVariant="three-columns-all-equal-width"
@@ -105,101 +173,54 @@ export default function LandingPage() {
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardFourteen
title="Trusted by San Francisco"
tag="Baan Mu"
tagAnimation="slide-up"
metrics={[
{
id: "1", value: "5.0★", description: "Average rating across all platforms from over 800+ reviews"
},
{
id: "2", value: "2,000+", description: "Satisfied customers who trust and return to Baan Mu"
}
]}
metricsAnimation="slide-up"
useInvertedBackground={false}
/>
</div>
<div id="socialproof" data-section="socialproof">
<SocialProofOne
title="Trusted by Over 2000 Customers"
description="Join thousands of food lovers who've experienced the authentic flavors and warm hospitality of Baan Mu"
names={[
"Food Critics Choice", "Best Thai 2024", "5-Star Rated", "Local Favorite", "Award Winner"
]}
textboxLayout="default"
useInvertedBackground={false}
showCard={true}
speed={40}
/>
</div>
<div id="testimonial" data-section="testimonial">
<TestimonialCardTen
title="Guest Stories"
description="Hear from our valued guests about their Baan Mu experience"
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1", title: "Authentic Thai in San Francisco", quote: "The flavors are incredible and transport you straight to Bangkok. Every dish is prepared with such care and authenticity. This is now our favorite Thai restaurant in the city.", name: "Sarah Chen", role: "Food Blogger", imageSrc: "http://img.b2bpic.net/free-photo/closeup-young-female-professional-making-eye-contact-against-colored-background_662251-651.jpg?_wi=1", imageAlt: "Sarah Chen"
},
{
id: "2", title: "Outstanding Service & Atmosphere", quote: "From the warm welcome at the door to the final dessert course, everything about Baan Mu is exceptional. The staff really knows their dishes and makes great recommendations.", name: "Michael Torres", role: "Restaurant Critic", imageSrc: "http://img.b2bpic.net/free-photo/pensive-person-alone-corridor-serious_1262-1042.jpg?_wi=1", imageAlt: "Michael Torres"
},
{
id: "3", title: "Perfect for Special Occasions", quote: "We celebrated our anniversary at Baan Mu and it was absolutely perfect. The intimate setting, incredible food, and attentive service made it a night we'll never forget.", name: "Emma Rodriguez", role: "Event Planner", imageSrc: "http://img.b2bpic.net/free-photo/headshot-charismatic-pleasant-friendly-european-woman-short-chestnut-haircut-smiling-positive-feeling-happy-upbeat-enjoying-lifes-casually-talking-friends-amused-cheerful-standing-white-background_176420-34680.jpg?_wi=1", imageAlt: "Emma Rodriguez"
},
{
id: "4", title: "Best Curry in the Bay Area", quote: "The curries here are genuinely some of the best I've had anywhere. The balance of flavors, the heat level, the creamy coconut base - everything is perfectly executed.", name: "James Park", role: "Culinary Chef", imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-handsome-guy-wearing-green-shirt_141793-122624.jpg?_wi=1", imageAlt: "James Park"
}
]}
/>
</div>
<div id="features" data-section="features">
<FeatureCardSixteen
title="Why Choose Baan Mu"
description="Experience the difference of authentic Thai cuisine combined with modern hospitality"
textboxLayout="default"
useInvertedBackground={false}
animationType="slide-up"
negativeCard={{
items: [
"Mass-produced frozen ingredients", "One-size-fits-all menu", "Impersonal dining experience", "Limited customization options"
]
}}
positiveCard={{
items: [
"Fresh, locally-sourced ingredients", "Authentic recipes from Thai masters", "Personalized service and attention", "Customizable spice levels and preferences"
]
}}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
text="Ready to experience authentic Thai cuisine? Reserve your table at Baan Mu today and discover why San Francisco's food lovers choose us."
animationType="background-highlight"
background={{ variant: "plain" }}
useInvertedBackground={false}
<ContactCTA
tag="Get in Touch"
tagIcon={Mail}
tagAnimation="slide-up"
title="Ready to Experience Authentic Thai Cuisine?"
description="Reserve your table today and join us for an unforgettable dining experience. Our team looks forward to welcoming you."
buttons={[
{ text: "Make a Reservation", href: "https://www.opentable.com" },
{ text: "Order Online", href: "https://www.doordash.com" }
{ text: "Reserve Now", href: "https://www.opentable.com" },
{ text: "Contact Us", href: "mailto:hello@baanmu.com" }
]}
buttonAnimation="slide-up"
background={{ variant: 'radial-gradient' }}
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
<FooterMedia
imageSrc="https://images.unsplash.com/photo-1504674900152-b8b27e3dcded?w=1920&h=400&fit=crop"
imageAlt="Restaurant ambiance"
columns={[
{
title: "Restaurant", items: [
{ label: "About Us", href: "#" },
{ label: "Our Menu", href: "/menu" },
{ label: "Gallery", href: "#gallery" }
]
},
{
title: "Dining", items: [
{ label: "Reserve Table", href: "https://www.opentable.com" },
{ label: "Private Events", href: "#" },
{ label: "Catering", href: "#" }
]
},
{
title: "Connect", items: [
{ label: "Contact Us", href: "mailto:hello@baanmu.com" },
{ label: "Hours", href: "#" },
{ label: "Location", href: "#" }
]
}
]}
logoText="Baan Mu"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Us", href: "mailto:hello@baanmu.com" }}
copyrightText="© 2025 Baan Mu. All rights reserved."
/>
</div>
</ThemeProvider>
);
}
}