Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 88abdca5de | |||
| 71d58b8227 | |||
| 5ac4d62ee3 | |||
| fd6faf3498 | |||
| 299aeb3a0f | |||
| 7f1b335b5d | |||
| cb042e2b4a | |||
| 28a607b06e | |||
| ea1d07f73e | |||
| c77106f8d2 | |||
| 8e2f7df429 | |||
| 1e2ca43ad8 |
@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||
import { Cormorant_Garamond, Jost } from "next/font/google";
|
||||
import { Libre_Baskerville } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +22,16 @@ export const metadata: Metadata = {
|
||||
},
|
||||
};
|
||||
|
||||
const cormorant = Cormorant_Garamond({ variable: "--font-cormorant", subsets: ["latin"], weight: ["400", "500", "600", "700"] });
|
||||
const jost = Jost({ variable: "--font-jost", subsets: ["latin"] });
|
||||
|
||||
const libreBaskerville = Libre_Baskerville({
|
||||
variable: "--font-libre-baskerville",
|
||||
subsets: ["latin"],
|
||||
weight: ["400", "700"],
|
||||
});
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
@@ -32,7 +41,7 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${cormorant.variable} ${jost.variable} antialiased`}>
|
||||
<body className={`${libreBaskerville.variable} ${inter.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
191
src/app/page.tsx
191
src/app/page.tsx
@@ -31,70 +31,41 @@ export default function LandingPage() {
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "About",
|
||||
id: "about",
|
||||
},
|
||||
name: "About", id: "about"},
|
||||
{
|
||||
name: "Menu",
|
||||
id: "menu",
|
||||
},
|
||||
name: "Menu", id: "menu"},
|
||||
{
|
||||
name: "Reviews",
|
||||
id: "reviews",
|
||||
},
|
||||
name: "Reviews", id: "reviews"},
|
||||
{
|
||||
name: "Reserve",
|
||||
id: "reserve",
|
||||
},
|
||||
name: "Reserve", id: "/reserve"},
|
||||
]}
|
||||
brandName="Saffron & Silk"
|
||||
brandName=""
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardRotatedCarousel
|
||||
background={{
|
||||
variant: "gradient-bars",
|
||||
}}
|
||||
title="A Symphony of Saffron & Silk"
|
||||
variant: "gradient-bars"}}
|
||||
title="Super Kitchen Corner"
|
||||
description="Experience the timeless elegance of traditional Indian cuisine, reimagined for the modern palate."
|
||||
buttons={[
|
||||
{
|
||||
text: "Reserve a Table",
|
||||
href: "#contact",
|
||||
},
|
||||
text: "Reserve a Table", href: "/reserve"},
|
||||
]}
|
||||
carouselItems={[
|
||||
{
|
||||
id: "1",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elegant-dessert-dark-plate-with-decorative-flowers_23-2151973716.jpg",
|
||||
imageAlt: "Luxurious dining",
|
||||
},
|
||||
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/elegant-dessert-dark-plate-with-decorative-flowers_23-2151973716.jpg", imageAlt: "Luxurious dining"},
|
||||
{
|
||||
id: "2",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cooking-pav-bhaji-street-food-stall_23-2151996245.jpg",
|
||||
imageAlt: "Culinary art",
|
||||
},
|
||||
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/cooking-pav-bhaji-street-food-stall_23-2151996245.jpg", imageAlt: "Culinary art"},
|
||||
{
|
||||
id: "3",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/restaurant-private-room-with-table-14-persons-wooden-ceiling-brick-walls-fireplace_140725-8452.jpg",
|
||||
imageAlt: "Ambience",
|
||||
},
|
||||
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/restaurant-private-room-with-table-14-persons-wooden-ceiling-brick-walls-fireplace_140725-8452.jpg", imageAlt: "Ambience"},
|
||||
{
|
||||
id: "4",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/massaman-curry-frying-pan-with-spices-cement-floor_1150-20782.jpg",
|
||||
imageAlt: "Cuisine detail",
|
||||
},
|
||||
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/massaman-curry-frying-pan-with-spices-cement-floor_1150-20782.jpg", imageAlt: "Cuisine detail"},
|
||||
{
|
||||
id: "5",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/plate-pickles-cabbage-tomatoes-eggplant_140725-2177.jpg",
|
||||
imageAlt: "Atmosphere",
|
||||
},
|
||||
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/plate-pickles-cabbage-tomatoes-eggplant_140725-2177.jpg", imageAlt: "Atmosphere"},
|
||||
{
|
||||
id: "6",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/teddy-bear-made-out-lights-building_181624-13564.jpg",
|
||||
imageAlt: "Entrance",
|
||||
},
|
||||
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/teddy-bear-made-out-lights-building_181624-13564.jpg", imageAlt: "Entrance"},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -120,47 +91,17 @@ export default function LandingPage() {
|
||||
useInvertedBackground={true}
|
||||
products={[
|
||||
{
|
||||
id: "p1",
|
||||
name: "Royal Saffron Biryani",
|
||||
price: "$28",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pakistan-meal-assortment_23-2148821516.jpg",
|
||||
imageAlt: "Signature Biryani",
|
||||
},
|
||||
id: "p1", name: "Royal Saffron Biryani", price: "$28", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-pakistan-meal-assortment_23-2148821516.jpg", imageAlt: "Signature Biryani"},
|
||||
{
|
||||
id: "p2",
|
||||
name: "Tandoori Medley",
|
||||
price: "$32",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-cooked-rice-with-seasonings-dark-surface-meal-dark-dish-east_140725-82272.jpg",
|
||||
imageAlt: "Tandoori",
|
||||
},
|
||||
id: "p2", name: "Tandoori Medley", price: "$32", imageSrc: "http://img.b2bpic.net/free-photo/top-view-cooked-rice-with-seasonings-dark-surface-meal-dark-dish-east_140725-82272.jpg", imageAlt: "Tandoori"},
|
||||
{
|
||||
id: "p3",
|
||||
name: "Butter Chicken Bliss",
|
||||
price: "$26",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/anise-board-near-rice-dish_23-2147894745.jpg",
|
||||
imageAlt: "Chicken",
|
||||
},
|
||||
id: "p3", name: "Butter Chicken Bliss", price: "$26", imageSrc: "http://img.b2bpic.net/free-photo/anise-board-near-rice-dish_23-2147894745.jpg", imageAlt: "Chicken"},
|
||||
{
|
||||
id: "p4",
|
||||
name: "Lamb Rogan Josh",
|
||||
price: "$30",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-cooked-plov-rice-with-different-raisins-inside-plate-dark-grey-surface_140725-90295.jpg",
|
||||
imageAlt: "Lamb",
|
||||
},
|
||||
id: "p4", name: "Lamb Rogan Josh", price: "$30", imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-cooked-plov-rice-with-different-raisins-inside-plate-dark-grey-surface_140725-90295.jpg", imageAlt: "Lamb"},
|
||||
{
|
||||
id: "p5",
|
||||
name: "Paneer Tikka Royale",
|
||||
price: "$24",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-famous-eastern-meal-consists-cooked-rice-different-raisins-dark_140725-36002.jpg",
|
||||
imageAlt: "Paneer",
|
||||
},
|
||||
id: "p5", name: "Paneer Tikka Royale", price: "$24", imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-famous-eastern-meal-consists-cooked-rice-different-raisins-dark_140725-36002.jpg", imageAlt: "Paneer"},
|
||||
{
|
||||
id: "p6",
|
||||
name: "Dal Makhani Heritage",
|
||||
price: "$20",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lime-near-rice-potatoes_23-2147894951.jpg",
|
||||
imageAlt: "Dal",
|
||||
},
|
||||
id: "p6", name: "Dal Makhani Heritage", price: "$20", imageSrc: "http://img.b2bpic.net/free-photo/lime-near-rice-potatoes_23-2147894951.jpg", imageAlt: "Dal"},
|
||||
]}
|
||||
title="Chef's Pride Selection"
|
||||
description="A curated journey through our most celebrated kitchen masterpieces."
|
||||
@@ -174,25 +115,13 @@ export default function LandingPage() {
|
||||
description="What makes our table the most sought-after in the city."
|
||||
accordionItems={[
|
||||
{
|
||||
id: "f1",
|
||||
title: "Farm-Fresh Ingredients",
|
||||
content: "We source the finest seasonal produce and exotic spices directly from local farmers.",
|
||||
},
|
||||
id: "f1", title: "Farm-Fresh Ingredients", content: "We source the finest seasonal produce and exotic spices directly from local farmers."},
|
||||
{
|
||||
id: "f2",
|
||||
title: "Rooftop Dining Views",
|
||||
content: "Enjoy panoramic city vistas while you dine in our tranquil rooftop garden setting.",
|
||||
},
|
||||
id: "f2", title: "Rooftop Dining Views", content: "Enjoy panoramic city vistas while you dine in our tranquil rooftop garden setting."},
|
||||
{
|
||||
id: "f3",
|
||||
title: "Family Style Service",
|
||||
content: "Warmth, generosity, and hospitality that makes you feel like an honored guest at home.",
|
||||
},
|
||||
id: "f3", title: "Family Style Service", content: "Warmth, generosity, and hospitality that makes you feel like an honored guest at home."},
|
||||
{
|
||||
id: "f4",
|
||||
title: "Traditional Methods",
|
||||
content: "Cooking over open flames and ancient clay ovens to preserve ancestral cooking techniques.",
|
||||
},
|
||||
id: "f4", title: "Traditional Methods", content: "Cooking over open flames and ancient clay ovens to preserve ancestral cooking techniques."},
|
||||
]}
|
||||
mediaAnimation="slide-up"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/restaurant-table-private-room-with-fireplace-wooden-ceilings-brick-walls_140725-8458.jpg"
|
||||
@@ -208,25 +137,15 @@ export default function LandingPage() {
|
||||
author="Divyanshu Sharma"
|
||||
avatars={[
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist-with-special-things-rituals_1157-41085.jpg",
|
||||
alt: "Divyanshu",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist-with-special-things-rituals_1157-41085.jpg", alt: "Divyanshu"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/meat-cutting-glass-champagne_140725-2149.jpg",
|
||||
alt: "KD Singh",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/meat-cutting-glass-champagne_140725-2149.jpg", alt: "KD Singh"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist-with-special-things-rituals_1157-41086.jpg",
|
||||
alt: "Sweta Tomar",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist-with-special-things-rituals_1157-41086.jpg", alt: "Sweta Tomar"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/man-wearing-chef-attire_23-2151217163.jpg",
|
||||
alt: "Guest 4",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/man-wearing-chef-attire_23-2151217163.jpg", alt: "Guest 4"},
|
||||
{
|
||||
src: "http://img.b2bpic.net/free-photo/high-angle-dining-table-assortment_23-2150312228.jpg",
|
||||
alt: "Guest 5",
|
||||
},
|
||||
src: "http://img.b2bpic.net/free-photo/high-angle-dining-table-assortment_23-2150312228.jpg", alt: "Guest 5"},
|
||||
]}
|
||||
ratingAnimation="slide-up"
|
||||
avatarsAnimation="slide-up"
|
||||
@@ -237,18 +156,13 @@ export default function LandingPage() {
|
||||
<ContactText
|
||||
useInvertedBackground={false}
|
||||
background={{
|
||||
variant: "gradient-bars",
|
||||
}}
|
||||
text="Join us for an unforgettable evening. Located at 123 Culinary Way. Open 5pm-11pm."
|
||||
variant: "gradient-bars"}}
|
||||
text="Join us for an unforgettable evening. Located at Jatheri Rd, Sector 35, Sonipat, Haryana 131001. Open 5pm-11pm."
|
||||
buttons={[
|
||||
{
|
||||
text: "Reserve Now",
|
||||
href: "tel:+1234567890",
|
||||
},
|
||||
text: "Reserve Now", href: "/reserve"},
|
||||
{
|
||||
text: "Order via Swiggy",
|
||||
href: "https://swiggy.com",
|
||||
},
|
||||
text: "Order via Swiggy", href: "https://swiggy.com"},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -258,46 +172,29 @@ export default function LandingPage() {
|
||||
logoText="Saffron & Silk"
|
||||
columns={[
|
||||
{
|
||||
title: "Navigation",
|
||||
items: [
|
||||
title: "Navigation", items: [
|
||||
{
|
||||
label: "About",
|
||||
href: "#about",
|
||||
},
|
||||
label: "About", href: "/#about"},
|
||||
{
|
||||
label: "Menu",
|
||||
href: "#menu",
|
||||
},
|
||||
label: "Menu", href: "/#menu"},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "#contact",
|
||||
},
|
||||
label: "Contact", href: "/#contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Social",
|
||||
items: [
|
||||
title: "Social", items: [
|
||||
{
|
||||
label: "Instagram",
|
||||
href: "#",
|
||||
},
|
||||
label: "Instagram", href: "#"},
|
||||
{
|
||||
label: "Facebook",
|
||||
href: "#",
|
||||
},
|
||||
label: "Facebook", href: "#"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Legal",
|
||||
items: [
|
||||
title: "Legal", items: [
|
||||
{
|
||||
label: "Privacy Policy",
|
||||
href: "#",
|
||||
},
|
||||
label: "Privacy Policy", href: "#"},
|
||||
{
|
||||
label: "Terms of Service",
|
||||
href: "#",
|
||||
},
|
||||
label: "Terms of Service", href: "#"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
@@ -306,4 +203,4 @@ export default function LandingPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
65
src/app/reserve/page.tsx
Normal file
65
src/app/reserve/page.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { useState } from "react";
|
||||
import ContactText from '@/components/sections/contact/ContactText';
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
|
||||
export default function ReservePage() {
|
||||
const [name, setName] = useState("");
|
||||
const [date, setDate] = useState("");
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="medium"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Reserve", id: "/reserve" }
|
||||
]}
|
||||
brandName="Saffron & Silk"
|
||||
/>
|
||||
</div>
|
||||
<main className="min-h-screen py-20 flex flex-col items-center justify-center">
|
||||
<div className="max-w-md w-full p-8 bg-card rounded-lg shadow-lg">
|
||||
<h1 className="text-3xl font-bold mb-6 text-foreground">Reserve a Table</h1>
|
||||
<form className="flex flex-col gap-4" onSubmit={(e) => { e.preventDefault(); alert("Reservation requested!"); }}>
|
||||
<input
|
||||
className="p-3 rounded border bg-background text-foreground"
|
||||
placeholder="Your Name"
|
||||
value={name}
|
||||
onChange={(e) => setName(e.target.value)}
|
||||
required
|
||||
/>
|
||||
<input
|
||||
type="date"
|
||||
className="p-3 rounded border bg-background text-foreground"
|
||||
value={date}
|
||||
onChange={(e) => setDate(e.target.value)}
|
||||
required
|
||||
/>
|
||||
<button type="submit" className="p-3 bg-primary-cta text-white rounded font-bold hover:opacity-90">Confirm Reservation</button>
|
||||
</form>
|
||||
</div>
|
||||
</main>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="Saffron & Silk"
|
||||
columns={[]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -11,7 +11,7 @@ html {
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: var(--font-cormorant-jost), sans-serif;
|
||||
font-family: var(--font-inter), sans-serif;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
overscroll-behavior: none;
|
||||
@@ -24,5 +24,5 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--font-cormorant-jost), sans-serif;
|
||||
font-family: var(--font-libre-baskerville), serif;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user