menus updated

This commit is contained in:
Selvi 2026-07-28 13:29:31 +05:30
parent 8046e0b073
commit 2a5083b911
95 changed files with 843 additions and 250 deletions

849
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -29,6 +29,7 @@
"@types/three": "^0.185.1", "@types/three": "^0.185.1",
"eslint": "^9", "eslint": "^9",
"eslint-config-next": "16.2.10", "eslint-config-next": "16.2.10",
"sharp": "^0.35.3",
"tailwindcss": "^4", "tailwindcss": "^4",
"typescript": "^5" "typescript": "^5"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -161,7 +161,7 @@ export default function ChefShowcase() {
</div> </div>
<h2 className="font-serif text-4xl sm:text-5xl lg:text-6xl font-bold tracking-wider text-white uppercase leading-tight mb-4 select-text"> <h2 className="font-serif text-4xl sm:text-5xl lg:text-6xl font-bold tracking-wider text-white uppercase leading-tight mb-4 select-text">
CHEFF <br /> CHEF <br />
<span className="text-[#bc9e65] flex items-center justify-center lg:justify-start gap-3"> <span className="text-[#bc9e65] flex items-center justify-center lg:justify-start gap-3">
Metro Metro
<svg className="w-7 h-7 text-[#bc9e65]/80 inline-block" viewBox="0 0 30 20" fill="none" stroke="currentColor" strokeWidth="1.2"> <svg className="w-7 h-7 text-[#bc9e65]/80 inline-block" viewBox="0 0 30 20" fill="none" stroke="currentColor" strokeWidth="1.2">
@ -179,7 +179,7 @@ export default function ChefShowcase() {
<StoryLotusDivider /> <StoryLotusDivider />
<p className="font-sans text-sm sm:text-base text-stone-200 leading-relaxed tracking-wider max-w-2xl mb-8"> <p className="font-sans text-sm sm:text-base text-stone-200 leading-relaxed tracking-wider max-w-2xl mb-8">
With three decades of culinary devotion, Cheff Metro has traversed the villages of Tamil Nadu, uncovering regional temple recipes and masterfully blending heritage masalas. He believes that true gastronomy is a spiritual act, uniting soil, tradition, and warm wood fire. With three decades of culinary devotion, Chef Metro has traversed the villages of Tamil Nadu, uncovering regional temple recipes and masterfully blending heritage masalas. He believes that true gastronomy is a spiritual act, uniting soil, tradition, and warm wood fire.
</p> </p>
{/* Cursive Signature */} {/* Cursive Signature */}
@ -188,7 +188,7 @@ export default function ChefShowcase() {
className="text-[#bc9e65] text-3xl md:text-4xl pointer-events-none select-none" className="text-[#bc9e65] text-3xl md:text-4xl pointer-events-none select-none"
style={{ fontFamily: '"Playball", "Great Vibes", "Brush Script MT", cursive' }} style={{ fontFamily: '"Playball", "Great Vibes", "Brush Script MT", cursive' }}
> >
Cheff Metro Chef Metro
</span> </span>
</div> </div>
@ -211,7 +211,7 @@ export default function ChefShowcase() {
{/* Portrait Image */} {/* Portrait Image */}
{/* <Image {/* <Image
src="/images/home/chef/chef-right-img.webp" src="/images/home/chef/chef-right-img.webp"
alt="Cheff Metro Cooking with Fire" alt="Chef Metro Cooking with Fire"
fill fill
priority priority
sizes="(max-width: 768px) 100vw, 35vw" sizes="(max-width: 768px) 100vw, 35vw"

View File

@ -68,9 +68,9 @@ function LoaderNotifier({ onLoad }: { onLoad: () => void }) {
// 3D Cinematic flight renderer // 3D Cinematic flight renderer
function CinematicFlight({ progress }: { progress: number }) { function CinematicFlight({ progress }: { progress: number }) {
const exteriorTex = useTexture("/images/home/hero/banner-1.png"); const exteriorTex = useTexture("/images/home/hero/banner-1.webp");
const interiorTex = useTexture("/images/home/hero/banner-2.png"); const interiorTex = useTexture("/images/home/hero/banner-2.webp");
const foodTex = useTexture("/images/home/hero/banner-3.png"); const foodTex = useTexture("/images/home/hero/banner-3.webp");
const leftDoorRef = useRef<THREE.Group>(null); const leftDoorRef = useRef<THREE.Group>(null);
const rightDoorRef = useRef<THREE.Group>(null); const rightDoorRef = useRef<THREE.Group>(null);

View File

@ -6,151 +6,159 @@ import { useState } from "react";
import AnimatedSection from "@/components/AnimatedSection"; import AnimatedSection from "@/components/AnimatedSection";
const TABS = [ const TABS = [
{ id: "all", label: "ALL ITEMS", noIcon: true }, { id: "all", label: "ALL ITEMS", noIcon: true },
{ id: "classics", label: "CLASSICS", icon: "classics.png" }, { id: "idly_vada",label: "IDLY & VADA", icon: "classics.png" },
{ id: "dosa", label: "DOSA", icon: "dosa.png" }, { id: "breads", label: "BREADS", icon: "bread.png" },
{ id: "rava", label: "RAVA SPL", icon: "rava.png" }, { id: "tiffin", label: "TIFFIN SPECIALS", icon: "tiffin.png" },
{ id: "uttapam", label: "UTTAPAM", icon: "uttappam.png" }, { id: "dosa", label: "SIGNATURE DOSAS", icon: "dosa.png" },
{ id: "breads", label: "BREADS", icon: "bread.png" }, { id: "combos", label: "COMBOS", icon: "classics.png" },
{ id: "appetizers", label: "APPETIZERS", icon: "appetizer.png" }, { id: "sides", label: "SIDES", icon: "sides.png" },
{ id: "tiffin", label: "TIFFIN SPL", icon: "tiffin.png" }, { id: "chef_dosa",label: "CHEF'S SPECIALTY", icon: "dosa.png" },
{ id: "rice", label: "RICE", icon: "rice.png" }, { id: "rava", label: "RAVA SPECIALS", icon: "rava.png" },
{ id: "beverages", label: "BEVERAGES", icon: "beverages.png" }, { id: "uttapam", label: "UTTHAPPAM", icon: "uttappam.png" },
{ id: "weekend", label: "WEEKEND SPL", icon: "weekend.png" }, { id: "appetizers",label: "APPETIZERS", icon: "appetizer.png" },
{ id: "sides", label: "SIDES", icon: "sides.png" }, { id: "rice", label: "RICE DISHES", icon: "rice.png" },
{ id: "desserts", label: "DESSERTS", icon: "dessert.png" }, { id: "weekend", label: "WEEKEND SPECIAL", icon: "weekend.png" },
{ id: "desserts", label: "DESSERTS", icon: "dessert.png" },
{ id: "beverages",label: "BEVERAGES", icon: "beverages.png" },
]; ];
const MENU_ITEMS = [ const MENU_ITEMS = [
// ── CLASSICS ────────────────────────────────────────────────────────── // ── IDLY & VADA ───────────────────────────────────────────────────────
{ id: 1, name: "IDLY (6 PCS)", desc: "Steamed fluffy rice & lentil cakes served with sambar & chutneys.", price: "$10.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-idly-6.webp" }, { id: 1, name: "IDLY (2 PCS)", desc: "Soft steamed rice-lentil cakes served with chutney and sambar.", price: "$10.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-idly-6.webp", icon: "classics/icons/idly.png" },
{ id: 2, name: "THATTU IDLY (1 PC)", desc: "Plate-style idly served with sambar & fresh chutneys.", price: "$10.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-thattu-idly-1.webp" }, { id: 2, name: "THATTU IDLY (1 PC)", desc: "Plate-style fluffy idly with a homestyle South Indian touch.", price: "$10.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-thattu-idly-1.webp", icon: "classics/icons/thattu-idly-1.png" },
{ id: 3, name: "THATTU IDLY (2 PCS)", desc: "Two plate-style idlies with sambar & fresh chutneys.", price: "$14.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-thattu-idly-2.webp" }, { id: 3, name: "THATTU IDLY (2 PCS)", desc: "Extra serving of soft thattu idly for hearty appetites.", price: "$14.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-thattu-idly-2.webp", icon: "classics/icons/thattu-idly-2.png" },
{ id: 4, name: "GHEE PODI IDLY", desc: "Soft idlies tossed in aromatic gunpowder podi with ghee.", price: "$14.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-ghee-podi-idli.webp" }, { id: 4, name: "GHEE PODI IDLY", desc: "Idly tossed with ghee and signature podi for bold flavour.", price: "$14.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-ghee-podi-idli.webp", icon: "classics/icons/ghee-podi-idli.png" },
{ id: 5, name: "MINI SAMBAR IDLY", desc: "Bite-sized idlies immersed in rich, spiced sambar.", price: "$13.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-mini-sambar-idly.webp" }, { id: 5, name: "MINI SAMBAR IDLY", desc: "Bite-sized idlies soaked in hot aromatic sambar.", price: "$13.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-mini-sambar-idly.webp", icon: "classics/icons/mini-sambar-idli.png" },
{ id: 6, name: "SAMBAR IDLY", desc: "Classic idly dunked in hot, tangy sambar.", price: "$9.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-sambar-idli.webp" }, { id: 6, name: "SAMBAR IDLY", desc: "Classic idly dipped in comforting house-made sambar.", price: "$13.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-sambar-idli.webp", icon: "classics/icons/sambar-idli.png" },
{ id: 7, name: "MEDHU VADA", desc: "Crispy golden lentil donuts served with sambar & chutney.", price: "$13.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-medhu-vada.webp" }, { id: 7, name: "MEDHU VADA", desc: "Golden lentil doughnuts, crisp outside and soft inside.", price: "$9.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-medhu-vada.webp", icon: "classics/icons/medhu-vada.png" },
{ id: 8, name: "SAMBAR VADA", desc: "Crispy vadas soaked in hearty sambar.", price: "$13.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-sambar-vada.webp" }, { id: 8, name: "SAMBAR VADA", desc: "Crispy medhu vada soaked in warm, flavourful sambar.", price: "$13.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-sambar-vada.webp", icon: "classics/icons/sambar-vada.png" },
{ id: 9, name: "DAHI VADA", desc: "Soft vadas topped with creamy yogurt & spiced chutneys.", price: "$13.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-dahi-vada.webp" }, { id: 9, name: "DAHI VADA", desc: "Soft vada topped with creamy yogurt and sweet-spiced chutneys.", price: "$13.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-dahi-vada.webp", icon: "classics/icons/dahi-vada.png" },
{ id: 10, name: "1 IDLY 1 VADA COMBO", desc: "One fluffy idly and one crispy vada with sambar & chutney.", price: "$11.99", tag: "CLASSICS", bg: "green" , img: "classics/classics-1-idli-1-vada.webp" }, { id: 13, name: "RASAM VADA", desc: "Savoury vada immersed in peppery, tangy rasam.", price: "$13.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-rasa-vada.webp", icon: "classics/icons/rasa.png" },
{ id: 11, name: "2 IDLY 1 VADA COMBO", desc: "Two soft idlies and one crispy vada with sambar & chutney.", price: "$12.99", tag: "CLASSICS", bg: "green" , img: "classics/classics-2-idli-1-vada.webp" }, { id: 14, name: "PARUPPU VADA", desc: "Crispy chana-dal fritters with onion, herbs, and spices.", price: "$11.99", tag: "IDLY & VADA", bg: "light" , img: "classics/classics-paruppu-vada.webp", icon: "classics/icons/paruppu.png" },
{ id: 12, name: "1 IDLY 2 VADA COMBO", desc: "One fluffy idly and two crispy vadas with sambar & chutney.", price: "$13.99", tag: "CLASSICS", bg: "green" , img: "classics/classics-1-idli-2-vada.webp" },
{ id: 13, name: "RASA VADA", desc: "Crispy vadas soaked in tangy, peppery rasam.", price: "$13.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-rasa-vada.webp" },
{ id: 14, name: "PARUPPU VADA", desc: "Crispy deep-fried lentil patties seasoned with spices.", price: "$11.99", tag: "CLASSICS", bg: "light" , img: "classics/classics-paruppu-vada.webp" },
// ── DOSA ────────────────────────────────────────────────────────────── // ── COMBOS ────────────────────────────────────────────────────────────
{ id: 20, name: "PLAIN DOSA", desc: "Thin, crispy fermented rice & lentil crepe served with chutneys.", price: "$10.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-plain.webp" }, { id: 10, name: "1 IDLY 1 VADA COMBO", desc: "One fluffy idly and one crispy vada with sambar & chutney.", price: "$11.99", tag: "COMBOS", bg: "green" , img: "classics/classics-1-idli-1-vada.webp", icon: "classics/icons/1-1.png" },
{ id: 21, name: "MASALA DOSA", desc: "Crispy dosa stuffed with spiced potato masala.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-masala.webp" }, { id: 11, name: "2 IDLY 1 VADA COMBO", desc: "Two soft idlies and one crispy vada with sambar & chutney.", price: "$12.99", tag: "COMBOS", bg: "green" , img: "classics/classics-2-idli-1-vada.webp", icon: "classics/icons/2-1.png" },
{ id: 22, name: "MYSORE DOSA", desc: "Crispy dosa spread with fiery Mysore chutney.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-mysore-dosa.webp" }, { id: 12, name: "1 IDLY 2 VADA COMBO", desc: "One fluffy idly and two crispy vadas with sambar & chutney.", price: "$13.99", tag: "COMBOS", bg: "green" , img: "classics/classics-1-idli-2-vada.webp", icon: "classics/icons/1-2.png" },
{ id: 23, name: "MYSORE MASALA", desc: "Spicy Mysore chutney spread dosa with potato masala filling.", price: "$14.99", tag: "DOSA", bg: "dark" , img: "dosa/dosa-mysore-masala.webp" },
{ id: 24, name: "GHEE ROAST", desc: "Dosa cooked in rich ghee till golden & irresistibly crisp.", price: "$14.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-ghee.webp" }, // ── SIGNATURE DOSAS ───────────────────────────────────────────────────
{ id: 25, name: "GHEE MASALA", desc: "Ghee-roasted dosa generously filled with potato masala.", price: "$15.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-ghee-masala.webp" }, { id: 20, name: "PLAIN DOSA", desc: "Classic golden crisp dosa served with chutneys and sambar.", price: "$10.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-plain.webp", icon: "dosa/icons/plain.png" },
{ id: 26, name: "ONION DOSA", desc: "Classic dosa loaded with caramelised onions & spices.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-onion.webp" }, { id: 21, name: "MASALA DOSA", desc: "Thin dosa filled with seasoned potato masala.", price: "$13.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-masala.webp", icon: "dosa/icons/masala.png" },
{ id: 27, name: "ONION MASALA", desc: "Onion dosa with a hearty spiced potato filling.", price: "$14.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-onion-masala.webp" }, { id: 22, name: "MYSORE DOSA", desc: "Crisp dosa spread with Mysore-style spicy chutney.", price: "$13.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-mysore-dosa.webp", icon: "dosa/icons/mysore.png" },
{ id: 28, name: "PODI MASALA", desc: "Dosa smeared with spicy gunpowder podi & stuffed with masala.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-podi-masala.webp" }, { id: 23, name: "MYSORE MASALA DOSA", desc: "Mysore dosa with hearty potato filling.", price: "$14.99", tag: "SIGNATURE DOSAS", bg: "dark" , img: "dosa/dosa-mysore-masala.webp", icon: "dosa/icons/mysore-masala.png" },
{ id: 29, name: "GHEE PODI MASALA", desc: "Ghee-laced dosa with gunpowder podi and potato masala.", price: "$15.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-ghee-podi-masala.webp" }, { id: 24, name: "GHEE ROAST", desc: "Paper-thin roast dosa enriched with fragrant ghee.", price: "$14.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-ghee.webp", icon: "dosa/icons/ghee.png" },
{ id: 30, name: "GHEE PODI", desc: "Dosa drizzled with ghee and fragrant gunpowder podi.", price: "$14.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-ghee-podi.webp" }, { id: 25, name: "GHEE MASALA DOSA", desc: "Ghee roast finished with comforting masala filling.", price: "$15.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-ghee-masala.webp", icon: "dosa/icons/ghee-masala.png" },
{ id: 31, name: "PAV BHAJI DOSA", desc: "Crispy dosa topped with spiced Mumbai-style pav bhaji.", price: "$16.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-pav.webp" }, { id: 26, name: "ONION DOSA", desc: "Crisp dosa topped with finely chopped onions.", price: "$13.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-onion.webp", icon: "dosa/icons/onion.png" },
{ id: 32, name: "BUTTER MASALA", desc: "Dosa slathered in butter with a spiced masala filling.", price: "$15.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-butter-masala.webp" }, { id: 27, name: "ONION MASALA DOSA", desc: "Onion dosa layered with savoury potato masala.", price: "$14.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-onion-masala.webp", icon: "dosa/icons/onion-masala.png" },
{ id: 33, name: "CHZ DOSA", desc: "Dosa filled with gooey melted cheese & spices.", price: "$14.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-cheese-dosa.webp" }, { id: 28, name: "PODI MASALA DOSA", desc: "Spiced podi dosa with a classic masala filling.", price: "$13.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-podi-masala.webp", icon: "dosa/icons/podi-masala.png" },
{ id: 34, name: "CHETTINAD MASALA", desc: "Aromatic Chettinad spiced dosa with potato filling.", price: "$16.99", tag: "DOSA", bg: "dark" , img: "dosa/dosa-chettinad-masala.webp" }, { id: 29, name: "GHEE PODI MASALA DOSA", desc: "A rich fusion of ghee, podi, and masala.", price: "$15.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-ghee-podi-masala.webp", icon: "dosa/icons/ghee-podi-masala.png" },
{ id: 35, name: "ANDHRA CHARA", desc: "Fiery Andhra-style spiced dosa, bold & robust.", price: "$15.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-andhra-kara.webp" }, { id: 30, name: "GHEE PODI DOSA", desc: "Crisp dosa brushed with aromatic ghee and sprinkled with spicy house podi.", price: "$14.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-ghee-podi.webp", icon: "dosa/icons/ghee-podi.png" },
{ id: 36, name: "ANDHRA KARA MASALA", desc: "Spicy Andhra kara chutney dosa with masala filling.", price: "$16.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-andhra-kara-masala.webp" }, { id: 31, name: "BUTTER MASALA DOSA", desc: "Buttery crisp dosa stuffed with comforting masala.", price: "$15.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-butter-masala.webp", icon: "dosa/icons/butter-masala.png" },
{ id: 37, name: "KARA DOSA", desc: "Dosa with spicy kara chutney spread.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-kara-dosa.webp" }, { id: 32, name: "KAL DOSA", desc: "Soft, thick village-style dosa with a light, fluffy texture.", price: "$13.99", tag: "SIGNATURE DOSAS", bg: "light" , img: "dosa/dosa-plain.webp" },
{ id: 38, name: "BUTTER GARLIC", desc: "Dosa cooked with butter and roasted garlic.", price: "$14.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-butter-garlic.webp" },
{ id: 39, name: "BUTTER GARLIC MASALA", desc: "Butter garlic dosa filled with spiced potato masala.", price: "$15.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-butter-garlic-masala.webp" }, // ── CHEF'S SPECIALTY DOSAS ────────────────────────────────────────────
{ id: 40, name: "PANEER BUTTER (BURJI)", desc: "Dosa with crumbled paneer cooked in butter & spices.", price: "$17.99", tag: "DOSA", bg: "dark" , img: "dosa/dosa-paneer-bhurji.webp" }, { id: 39, name: "PANEER BUTTER/BHURJI DOSA",desc: "Dosa filled with creamy paneer butter bhurji.", price: "$17.99", tag: "CHEF'S SPECIALTY", bg: "dark" , img: "dosa/dosa-paneer-bhurji.webp", icon: "dosa/icons/bhurji.png" },
{ id: 41, name: "BUTTER DOSA", desc: "Simple crispy dosa lavishly spread with fresh butter.", price: "$13.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-butter-dosa.webp" }, { id: 40, name: "PAV BHAJI DOSA", desc: "Crisp dosa filled with Mumbai-style spiced pav bhaji masala.", price: "$16.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-pav.webp", icon: "dosa/icons/pav.png" },
{ id: 42, name: "KIDS DOSA", desc: "A small, soft & mild dosa perfect for little ones.", price: "$9.99", tag: "DOSA", bg: "light" , img: "dosa/dosa-kids-dosa.webp" }, { id: 34, name: "CHETTINAD MASALA DOSA", desc: "Bold Chettinad spices bring heat and depth.", price: "$16.99", tag: "CHEF'S SPECIALTY", bg: "dark" , img: "dosa/dosa-chettinad-masala.webp", icon: "dosa/icons/chettinad.png" },
{ id: 35, name: "ANDHRA KARAM DOSA", desc: "Fiery Andhra-style karam spread on a crisp dosa.", price: "$15.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-andhra-kara.webp", icon: "dosa/icons/andhra-kara.png" },
{ id: 36, name: "ANDHRA KARAM MASALA", desc: "Karam dosa finished with a delicious masala centre.", price: "$16.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-andhra-kara-masala.webp", icon: "dosa/icons/andhra-kara-masala.png" },
{ id: 37, name: "BUTTER GARLIC DOSA", desc: "Buttery dosa infused with toasted garlic flavour.", price: "$14.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-butter-garlic.webp", icon: "dosa/icons/butter-garlic.png" },
{ id: 38, name: "BUTTER GARLIC MASALA DOSA",desc: "Crisp dosa layered with buttery garlic and filled with savoury potato masala.", price: "$15.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-butter-garlic-masala.webp", icon: "dosa/icons/butter-garlic-masala.png" },
{ id: 41, name: "BUTTER DOSA", desc: "Simple, crisp dosa finished with rich melted butter.", price: "$13.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-butter-dosa.webp", icon: "dosa/icons/butter.png" },
{ id: 33, name: "CHEESE DOSA", desc: "Golden crisp dosa generously filled with melted cheese for a rich, creamy bite.", price: "$14.99", tag: "CHEF'S SPECIALTY", bg: "light", img: "dosa/dosa-cheese-dosa.webp", icon: "dosa/icons/cheese.png" },
{ id: 42, name: "KIDS DOSA", desc: "Mild, simple dosa made especially for little food lovers.", price: "$9.99", tag: "CHEF'S SPECIALTY", bg: "light" , img: "dosa/dosa-kids-dosa.webp", icon: "dosa/icons/kids.png" },
// ── RAVA SPL ────────────────────────────────────────────────────────── // ── RAVA SPL ──────────────────────────────────────────────────────────
{ id: 50, name: "RAVA DOSA", desc: "Thin, lacy & crispy semolina crepe served with chutneys.", price: "$13.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-rava-dosa.webp" }, { id: 50, name: "RAVA DOSA", desc: "Lace-thin semolina dosa with a crisp delicate texture.", price: "$13.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-rava-dosa.webp", icon: "rava/icons/rava.png" },
{ id: 51, name: "RAVA MASALA", desc: "Crispy rava dosa filled with spiced potato masala.", price: "$14.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-rava-masala.webp" }, { id: 51, name: "RAVA MASALA DOSA", desc: "Rava dosa packed with classic masala filling.", price: "$14.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-rava-masala.webp", icon: "rava/icons/rava-masala.png" },
{ id: 52, name: "ONION RAVA", desc: "Lacy semolina crepe loaded with onions & herbs.", price: "$15.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-onion-rava.webp" }, { id: 52, name: "ONION RAVA DOSA", desc: "Crisp rava dosa layered with fresh onion.", price: "$15.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-onion-rava.webp", icon: "rava/icons/onion-rava.png" },
{ id: 53, name: "ONION RAVA MASALA", desc: "Onion rava dosa generously stuffed with potato masala.", price: "$16.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-onion-rava-masala.webp" }, { id: 53, name: "ONION RAVA MASALA", desc: "Onion rava dosa finished with spiced potato masala.", price: "$16.99", tag: "RAVA SPL", bg: "light" , img: "rava/rava-onion-rava-masala.webp", icon: "rava/icons/onion-rava-masala.png" },
// ── UTTAPAM ─────────────────────────────────────────────────────────── // ── UTTAPAM ───────────────────────────────────────────────────────────
{ id: 60, name: "PLAIN UTTAPAM", desc: "Thick, soft rice pancake served with sambar & chutneys.", price: "$10.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-plain.webp" }, { id: 60, name: "PLAIN UTTAPAM", desc: "Thick, soft rice-lentil pancake with a gentle tang.", price: "$10.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-plain.webp", icon: "uttapam/icons/plain.png" },
{ id: 61, name: "ONION UTTAPAM", desc: "Fluffy uttapam generously topped with fresh onions.", price: "$12.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion.webp" }, { id: 61, name: "ONION UTTAPAM", desc: "Fluffy uttapam topped with fresh onion.", price: "$12.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion.webp", icon: "uttapam/icons/onion.png" },
{ id: 62, name: "GHEE PODI UTTAPAM", desc: "Uttapam drizzled with ghee & aromatic gunpowder podi.", price: "$14.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-ghee-podi.webp" }, { id: 62, name: "ONION CHILLI UTTAPAM", desc: "Onion uttapam with a mild chilli kick.", price: "$13.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion-chiilli.webp", icon: "uttapam/icons/onion-chilli.png" },
{ id: 63, name: "MIX VEG UTTAPAM", desc: "Uttapam loaded with a colourful medley of fresh vegetables.", price: "$16.99", tag: "UTTAPAM", bg: "green" , img: "uttapam/uttapam-mix.webp" }, { id: 63, name: "ONION TOMATO UTTAPAM", desc: "Juicy tomato and onion on a soft utthappam base.", price: "$13.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion-tomato.webp", icon: "uttapam/icons/onion-tomato.png" },
{ id: 64, name: "ONION TOMATO UTTAPAM", desc: "Classic uttapam with onion and ripe tomato topping.", price: "$13.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion-tomato.webp" }, { id: 64, name: "GHEE PODI UTTAPAM", desc: "Soft uttapam finished with ghee and podi.", price: "$14.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-ghee-podi.webp", icon: "uttapam/icons/ghee-podi.png" },
{ id: 65, name: "ONION CHILLI UTTAPAM", desc: "Spiced uttapam topped with onions and green chillies.", price: "$13.99", tag: "UTTAPAM", bg: "light" , img: "uttapam/uttapam-onion-chiilli.webp" }, { id: 65, name: "MIXED VEG UTTAPAM", desc: "Colourful vegetables over a hearty uttapam.", price: "$16.99", tag: "UTTAPAM", bg: "green" , img: "uttapam/uttapam-mix.webp", icon: "uttapam/icons/mix.png" },
// ── BREADS ──────────────────────────────────────────────────────────── // ── BREADS ────────────────────────────────────────────────────────────
{ id: 70, name: "CHAPPATHI KADALA", desc: "Soft wheat flatbread served with spiced black chickpea curry.", price: "$13.99", tag: "BREADS", bg: "light" , img: "breads/breads-chappathi.webp" }, { id: 70, name: "CHAPATHI KURMA", desc: "Soft whole-wheat chapathis with flavourful kurma.", price: "$13.99", tag: "BREADS", bg: "light" , img: "breads/breads-chappathi.webp", icon: "breads/icons/chappathi.png" },
{ id: 71, name: "PAROTTA KADALA", desc: "Flaky layered parotta paired with rich kadala curry.", price: "$14.99", tag: "BREADS", bg: "light" , img: "breads/breads-parota.webp" }, { id: 71, name: "PAROTTA KURMA", desc: "Flaky layered parotta paired with rich kurma.", price: "$14.99", tag: "BREADS", bg: "light" , img: "breads/breads-parota.webp", icon: "breads/icons/parota.png" },
{ id: 72, name: "POORI MASALA", desc: "Deep-fried fluffy poori served with spiced potato masala.", price: "$13.99", tag: "BREADS", bg: "light" , img: "breads/breads-poori.webp" }, { id: 72, name: "POORI MASALA", desc: "Puffed pooris served with seasoned potato masala.", price: "$13.99", tag: "BREADS", bg: "light" , img: "breads/breads-poori.webp", icon: "breads/icons/poori.png" },
// ── APPETIZERS ──────────────────────────────────────────────────────── // ── APPETIZERS ────────────────────────────────────────────────────────
{ id: 80, name: "GOBI 65", desc: "Crispy spiced fried cauliflower in a tangy South Indian style.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-gobi65.webp" }, { id: 80, name: "GOBI 65", desc: "Crispy cauliflower bites tossed in bold South Indian spices.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-gobi65.webp", icon: "appetizers/icons/gobi65.png" },
{ id: 81, name: "PANEER 65", desc: "Crispy marinated paneer cubes fried with aromatic spices.", price: "$15.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-paneer65.webp" }, { id: 81, name: "PANEER 65", desc: "Tender paneer cubes fried and seasoned with signature spice.", price: "$15.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-paneer65.webp", icon: "appetizers/icons/paneer65.png" },
{ id: 82, name: "CHILLI PAROTTA", desc: "Shredded flaky parotta stir-fried with peppers & spicy sauces.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-chilli-parota.webp" }, { id: 82, name: "CHILLI PAROTTA", desc: "Shredded parotta tossed with chillies and masala.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-chilli-parota.webp", icon: "appetizers/icons/chiili-parota.png" },
{ id: 83, name: "KOTHU PAROTTA", desc: "Finely chopped parotta tossed with veggies, eggs & spices.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-kothu-parota.webp" }, { id: 83, name: "KOTHU PAROTTA", desc: "Street-style chopped parotta cooked with vegetables and spices.", price: "$14.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-kothu-parota.webp", icon: "appetizers/icons/kothu-parota.png" },
{ id: 84, name: "CHILLI GOBI", desc: "Crispy cauliflower tossed in spicy Indo-Chinese chilli sauce.", price: "$15.99", tag: "APPETIZERS", bg: "dark" , img: "appetizers/appetizers-chilli-gobi.webp" }, { id: 84, name: "CHILLI GOBI", desc: "Indo-South Indian cauliflower tossed in a spicy sauce.", price: "$15.99", tag: "APPETIZERS", bg: "dark" , img: "appetizers/appetizers-chilli-gobi.webp", icon: "appetizers/icons/chilli-gobi.png" },
{ id: 85, name: "CHILLI PANEER", desc: "Crispy paneer cubes tossed in bold Indo-Chinese chilli sauce.", price: "$16.99", tag: "APPETIZERS", bg: "dark" , img: "appetizers/appetizers-chilli-paneer.webp" }, { id: 85, name: "CHILLI PANEER", desc: "Paneer stir-fried with peppers, onions, and chilli glaze.", price: "$16.99", tag: "APPETIZERS", bg: "dark" , img: "appetizers/appetizers-chilli-paneer.webp", icon: "appetizers/icons/chilli-paneer.png" },
{ id: 86, name: "CAULIFLOWER MANCHURIAN",desc: "Crispy gobi florets in a savory, tangy Manchurian sauce.", price: "$15.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-cauliflower-manchurian.webp" }, { id: 86, name: "CAULIFLOWER MANCHURIAN",desc: "Crispy cauliflower in a savoury tangy sauce.", price: "$15.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-cauliflower-manchurian.webp", icon: "appetizers/icons/cauliflower.png" },
{ id: 87, name: "CHILLI IDLY", desc: "Crispy fried idly pieces tossed in spicy Indo-Chinese sauce.", price: "$13.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-chilli-idli.webp" }, { id: 87, name: "CHILLI IDLY", desc: "Fried idly bites tossed with onion and chilli.", price: "$13.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-chilli-idli.webp", icon: "appetizers/icons/chilli-idli.png" },
{ id: 88, name: "ONION PAKODA", desc: "Crunchy golden fritters made with onions, gram flour & spices.", price: "$12.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-onion-pakoda.webp" }, { id: 88, name: "ONION PAKODA", desc: "Crisp onion fritters perfect with tea.", price: "$12.99", tag: "APPETIZERS", bg: "light" , img: "appetizers/appetizers-onion-pakoda.webp", icon: "appetizers/icons/onion.png" },
// ── TIFFIN SPL ──────────────────────────────────────────────────────── // ── TIFFIN SPL ────────────────────────────────────────────────────────
{ id: 90, name: "GHEE PONGAL", desc: "Comforting rice & lentil porridge cooked with ghee, ginger & pepper.", price: "$12.99", tag: "TIFFIN SPL", bg: "light" , img: "tiffin/tiffin-spl-ghee-pongal.webp" }, { id: 90, name: "GHEE PONGAL", desc: "Creamy rice-lentil pongal tempered with ghee and pepper.", price: "$12.99", tag: "TIFFIN SPL", bg: "light" , img: "tiffin/tiffin-spl-ghee-pongal.webp", icon: "tiffin/icons/ghee.png" },
{ id: 91, name: "RAVA KICHADI", desc: "Savoury semolina upma cooked with vegetables & spices.", price: "$12.99", tag: "TIFFIN SPL", bg: "light" , img: "tiffin/tiffin-spl-rava-kichadi.webp" }, { id: 91, name: "RAVA KHICHDI", desc: "Savoury semolina khichdi with vegetables and mild spices.", price: "$12.99", tag: "TIFFIN SPL", bg: "light" , img: "tiffin/tiffin-spl-rava-kichadi.webp", icon: "tiffin/icons/kichadi.png" },
{ id: 92, name: "MINI TIFFIN COMBO", desc: "A delightful assortment of mini tiffin bites perfect sampler.", price: "$16.99", tag: "TIFFIN SPL", bg: "green" , img: "tiffin/tiffin-spl-mini-tiffin.webp" }, { id: 92, name: "MINI TIFFIN COMBO", desc: "A curated mini tiffin selection for a satisfying meal.", price: "$16.99", tag: "TIFFIN SPL", bg: "green" , img: "tiffin/tiffin-spl-mini-tiffin.webp", icon: "tiffin/icons/mini.png" },
{ id: 93, name: "MEGA TIFFIN COMBO", desc: "The ultimate tiffin feast with coffee & guava included.", price: "$19.99", tag: "TIFFIN SPL", bg: "green" , img: "tiffin/tiffin-spl-mega-tiffin.webp" }, { id: 93, name: "MEGA TIFFIN COMBO", desc: "A generous South Indian tiffin platter with idly, vada, dosa, pongal.", note: "with coffee $2 extra", price: "$19.99", tag: "TIFFIN SPL", bg: "green", img: "tiffin/tiffin-spl-mega-tiffin.webp", icon: "tiffin/icons/mega.png" },
// ── WEEKEND SPL ─────────────────────────────────────────────────────── // ── WEEKEND SPL ───────────────────────────────────────────────────────
{ id: 100, name: "THALI SOUTH INDIAN", desc: "A royal platter of rice, curries, sides & dessert. Sat & Sun 123 PM.", price: "$21.99", tag: "WEEKEND SPL",bg: "dark" , img: "weekend/weekend-thali.webp" }, { id: 100, name: "SOUTH INDIAN THALI", desc: "A traditional feast with rice, curries, vada, chapathi, curd, sweet, and more. Sat & Sun 123 PM.", price: "$21.99", tag: "WEEKEND SPL", bg: "dark", img: "weekend/weekend-thali.webp", icon: "weekend/icons/thali.png" },
{ id: 101, name: "VEG FRIED RICE / NOODLES", desc: "Wok-tossed fried rice or noodles with fresh veggies & sauces.", price: "$15.99", tag: "WEEKEND SPL",bg: "light" , img: "weekend/weekend-fried-rice.webp" }, { id: 101, name: "VEG FRIED RICE / NOODLES", desc: "Indo-Chinese comfort made the South Indian way.", price: "$15.99", tag: "WEEKEND SPL", bg: "light", img: "weekend/weekend-fried-rice.webp", icon: "weekend/icons/fried-rice.png" },
{ id: 102, name: "CHENNA BHATURA", desc: "Fluffy deep-fried bread with spiced chickpea (chenna) curry.", price: "$15.99", tag: "WEEKEND SPL",bg: "light" , img: "weekend/weekend-channa.webp" }, { id: 102, name: "CHANNA BATURA", desc: "Fluffy batura served with rich chickpea masala.", price: "$15.99", tag: "WEEKEND SPL", bg: "light", img: "weekend/weekend-channa.webp", icon: "weekend/icons/channa.png" },
// ── RICE ────────────────────────────────────────────────────────────── // ── RICE ──────────────────────────────────────────────────────────────
{ id: 110, name: "CURD RICE", desc: "Cooling yogurt rice seasoned with mustard, ginger & curry leaves.", price: "$11.99", tag: "RICE", bg: "light" , img: "rice/rice-curd.webp" }, { id: 110, name: "CURD RICE", desc: "Cooling yogurt rice tempered with comforting South Indian spices.", price: "$11.99", tag: "RICE", bg: "light" , img: "rice/rice-curd.webp", icon: "rice/icons/curd.png" },
{ id: 111, name: "SAMBAR RICE", desc: "Flavourful rice cooked with hearty sambar & vegetables.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-sambar.webp" }, { id: 111, name: "SAMBAR RICE", desc: "Rice cooked in flavourful house sambar.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-sambar.webp", icon: "rice/icons/sambar.png" },
{ id: 112, name: "PULIYODARAI", desc: "Tangy tamarind rice tempered with spices & peanuts.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-puliyodharai.webp" }, { id: 112, name: "PULIYODARAI", desc: "Tamarind rice with roasted spices and a tangy finish.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-puliyodharai.webp", icon: "rice/icons/puli.png" },
{ id: 113, name: "VEG PULAO", desc: "Fragrant basmati rice cooked with vegetables & whole spices.", price: "$15.99", tag: "RICE", bg: "green" , img: "rice/rice-pulao.webp" }, { id: 113, name: "VEG PULAV", desc: "Fragrant rice cooked with vegetables and whole spices.", price: "$15.99", tag: "RICE", bg: "green" , img: "rice/rice-pulao.webp", icon: "rice/icons/veg.png" },
{ id: 114, name: "LEMON RICE", desc: "Zesty rice tossed with lemon juice, turmeric & mustard seeds.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-lemon.webp" }, { id: 114, name: "LEMON RICE", desc: "Bright citrus rice with a light tempered seasoning.", price: "$13.99", tag: "RICE", bg: "light" , img: "rice/rice-lemon.webp", icon: "rice/icons/lemon.png" },
{ id: 115, name: "TOMATO DAAL", desc: "Comforting lentil curry simmered with ripe tomatoes & spices.", price: "$14.99", tag: "RICE", bg: "light" , img: "rice/rice-tomato.webp" }, { id: 115, name: "TOMATO BATH", desc: "Spiced tomato rice with a rich, homestyle flavour.", price: "$14.99", tag: "RICE", bg: "light" , img: "rice/rice-tomato.webp", icon: "rice/icons/tomato.png" },
// ── BEVERAGES ───────────────────────────────────────────────────────── // ── BEVERAGES ─────────────────────────────────────────────────────────
{ id: 120, name: "COLD BADAM MILK", desc: "Chilled almond-infused milk sweetened with saffron & cardamom.", price: "$9.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-cold-badam-milk.webp" }, { id: 120, name: "HOT BADAM MILK", desc: "Warm almond milk blended with rich, comforting sweetness and aromatic spices.", price: "$6.99", tag: "BEVERAGES", bg: "light", img: "beverages/beverages-cold-badam-milk.webp", icon: "beverages/icons/cold.png" },
{ id: 121, name: "MANGO LASSI", desc: "Refreshing yogurt drink blended with sweet Alphonso mangoes.", price: "$8.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-mango-lassi.webp" }, { id: 121, name: "MANGO LASSI", desc: "Smooth yogurt drink blended with ripe mango.", price: "$7.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-mango-lassi.webp", icon: "beverages/icons/lassi.png" },
{ id: 122, name: "ROSE MILK", desc: "Chilled milk flavoured with rose syrup a South Indian classic.", price: "$7.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-rose-milk.webp" }, { id: 122, name: "ROSE MILK", desc: "Cooling milk drink scented with rose.", price: "$6.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-rose-milk.webp", icon: "beverages/icons/rose.png" },
{ id: 123, name: "POP / WATER", desc: "Chilled soft drink or still water.", price: "$2.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-water.webp" }, { id: 123, name: "POP / WATER", desc: "Simple refreshment to pair with your meal.", price: "$2.29", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-water.webp", icon: "beverages/icons/water.png" },
{ id: 124, name: "MASALA CHAI", desc: "Aromatic spiced tea brewed with ginger, cardamom & milk.", price: "$4.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-masala-chai.webp" }, { id: 124, name: "MASALA CHAI", desc: "Spiced Indian tea brewed fresh. Takeout +$1 extra.", price: "$4.99", tag: "BEVERAGES", bg: "light" , img: "beverages/beverages-masala-chai.webp", icon: "beverages/icons/chai.png" },
{ id: 125, name: "FILTER COFFEE", desc: "Authentic South Indian decoction coffee with frothy milk.", price: "$4.99", tag: "BEVERAGES", bg: "dark" , img: "beverages/beverages-filter-coffee.webp" }, { id: 125, name: "FILTER COFFEE", desc: "Authentic South Indian filter coffee with rich aroma. Takeout +$1 extra.", price: "$4.99", tag: "BEVERAGES", bg: "dark" , img: "beverages/beverages-filter-coffee.webp", icon: "beverages/icons/coffee.png" },
// ── SIDES ───────────────────────────────────────────────────────────── // ── SIDES ─────────────────────────────────────────────────────────────
{ id: 130, name: "SAMBAR", desc: "Traditional South Indian lentil and vegetable stew.", price: "$2.50", tag: "SIDES", bg: "light" , img: "sides/sides-sambar.webp" }, { id: 130, name: "SAMBAR", desc: "Traditional South Indian lentil and vegetable stew.", price: "$2.50", tag: "SIDES", bg: "light" , img: "sides/sides-sambar.webp", icon: "sides/icons/sambar.png" },
{ id: 131, name: "PODI", desc: "Spicy and aromatic gunpowder condiment.", price: "$1.99", tag: "SIDES", bg: "light" , img: "sides/sides-podi.webp" }, { id: 131, name: "PODI", desc: "Spicy and aromatic gunpowder condiment.", price: "$1.99", tag: "SIDES", bg: "light" , img: "sides/sides-podi.webp", icon: "sides/icons/podi.png" },
{ id: 132, name: "MASALA", desc: "Flavourful spiced potato filling.", price: "$2.50", tag: "SIDES", bg: "light" , img: "sides/sides-masala.webp" }, { id: 132, name: "MASALA", desc: "Flavourful spiced potato filling.", price: "$2.50", tag: "SIDES", bg: "light" , img: "sides/sides-masala.webp", icon: "sides/icons/masala.png" },
{ id: 133, name: "EXTRA", desc: "Additional accompaniments for your meal.", price: "$1.99", tag: "SIDES", bg: "light" , img: "sides/sides-masala.webp" }, { id: 133, name: "EXTRA", desc: "Additional accompaniments for your meal.", price: "$1.99", tag: "SIDES", bg: "light" , img: "sides/sides-extra.webp", icon: "sides/icons/extra.png" },
// ── DESSERTS ────────────────────────────────────────────────────────── // ── DESSERTS ──────────────────────────────────────────────────────────
{ id: 140, name: "GULAB JAMUN", desc: "Soft milk dumplings immersed in rose-scented syrup.", price: "$5.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-gulab-jamun.webp" }, { id: 140, name: "GULAB JAMUN", desc: "Soft milk dumplings immersed in rose-scented syrup.", price: "$5.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-gulab-jamun.webp", icon: "desserts/icons/gulab.png" },
{ id: 141, name: "RASAMALAI", desc: "Spongy cottage cheese discs soaked in sweetened milk.", price: "$5.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-rasamalai.webp" }, { id: 141, name: "RASAMALAI", desc: "Spongy cottage cheese discs soaked in sweetened milk.", price: "$5.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-rasamalai.webp", icon: "desserts/icons/rasamalai.png" },
{ id: 142, name: "PINEAPPLE KESARI", desc: "Sweet semolina pudding flavoured with pineapple chunks.", price: "$6.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-pineapple-kesari.webp" }, { id: 142, name: "PINEAPPLE KESARI", desc: "Sweet semolina pudding flavoured with pineapple chunks.", price: "$6.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-pineapple-kesari.webp", icon: "desserts/icons/pineapple.png" },
{ id: 143, name: "PAYASAM", desc: "Traditional rich and creamy South Indian sweet pudding.", price: "$7.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-payasam.webp" }, { id: 143, name: "PAYASAM", desc: "Traditional rich and creamy South Indian sweet pudding.", price: "$7.99", tag: "DESSERTS", bg: "light" , img: "desserts/desserts-payasam.webp", icon: "desserts/icons/payasam.png" },
]; ];
export default function MenuPageContent() { export default function MenuPageContent() {
const [activeTab, setActiveTab] = useState("classics"); const [activeTab, setActiveTab] = useState("idly_vada");
const [isPopupOpen, setIsPopupOpen] = useState(false); const [isPopupOpen, setIsPopupOpen] = useState(false);
// Map tab ids → item tag values // Map tab ids → item tag values
const TAB_TAG_MAP: Record<string, string> = { const TAB_TAG_MAP: Record<string, string> = {
classics: "CLASSICS", idly_vada: "IDLY & VADA",
dosa: "DOSA", breads: "BREADS",
tiffin: "TIFFIN SPL",
dosa: "SIGNATURE DOSAS",
combos: "COMBOS",
sides: "SIDES",
chef_dosa: "CHEF'S SPECIALTY",
rava: "RAVA SPL", rava: "RAVA SPL",
uttapam: "UTTAPAM", uttapam: "UTTAPAM",
breads: "BREADS",
appetizers: "APPETIZERS", appetizers: "APPETIZERS",
tiffin: "TIFFIN SPL",
rice: "RICE", rice: "RICE",
beverages: "BEVERAGES",
weekend: "WEEKEND SPL", weekend: "WEEKEND SPL",
sides: "SIDES",
desserts: "DESSERTS", desserts: "DESSERTS",
beverages: "BEVERAGES",
}; };
const filteredItems = const filteredItems =
@ -306,7 +314,7 @@ export default function MenuPageContent() {
{/* Floating Icon */} {/* Floating Icon */}
<div className="absolute -bottom-6 left-6 w-14 h-14 rounded-full flex items-center justify-center shadow-lg border-3 z-10 bg-[#fdfcf9] border-[#eaddc4] group-hover:border-[#bc9e65] transition-colors duration-500"> <div className="absolute -bottom-6 left-6 w-14 h-14 rounded-full flex items-center justify-center shadow-lg border-3 z-10 bg-[#fdfcf9] border-[#eaddc4] group-hover:border-[#bc9e65] transition-colors duration-500">
<Image src="/images/menu/card-icon.png" alt="icon" width={38} height={38} className="object-contain" /> <Image src={(item as any).icon ? `/images/menu/${(item as any).icon}` : "/images/menu/card-icon.png"} alt="icon" width={38} height={38} className="object-contain" />
</div> </div>
</div> </div>
@ -324,6 +332,9 @@ export default function MenuPageContent() {
<p className="text-[11px] font-sans mb-6 leading-relaxed text-stone-500 group-hover:text-stone-300 transition-colors duration-500 flex-grow"> <p className="text-[11px] font-sans mb-6 leading-relaxed text-stone-500 group-hover:text-stone-300 transition-colors duration-500 flex-grow">
{item.desc} {item.desc}
{(item as any).note && (
<span className="block mt-1 font-bold">{(item as any).note}</span>
)}
</p> </p>
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">