menus updated

This commit is contained in:
Selvi 2025-11-10 23:11:25 +05:30
parent f739980ffa
commit 9b3d26671d
12 changed files with 694 additions and 731 deletions

237
app/about/AboutContent.js Normal file
View File

@ -0,0 +1,237 @@
'use client'
import Link from "next/link"
import { Swiper, SwiperSlide } from "swiper/react"
import { Autoplay, Pagination, Navigation } from "swiper/modules"
import GallerySlider1 from '@/components/slider/GallerySlider1'
const swiperOptions = {
modules: [Autoplay, Pagination, Navigation],
slidesPerView: 1,
spaceBetween: 30,
loop: true,
autoplay: {
delay: 3000,
disableOnInteraction: false,
},
navigation: {
nextEl: '.srn',
prevEl: '.srp',
},
pagination: {
el: '.swiper-pagination',
clickable: true,
},
}
export default function AboutContent() {
return (
<>
{/* History Section */}
<section className="history-section-two">
<div className="auto-container">
<div className="row clearfix align-items-center">
{/* Image Column */}
<div className="image-column col-lg-7 col-md-12 col-sm-12">
<div className="inner-column">
<div className="image">
<img src="/assets/images/about/about-us.webp" alt="" />
</div>
<div className="image-two mb-4">
<img src="/assets/images/about/about-us-element.webp" alt="" />
</div>
</div>
</div>
{/* Content Column */}
<div className="content-column col-lg-5 col-md-12 col-sm-12">
<div className="inner-column">
{/* Sec Title */}
<div className="sec-title about-sec">
<div className="title">About Us</div>
<h2>Street Fresh. <span className="theme_color"> Full of Flavour.</span></h2>
<div className="text">At Sixty5 Street, we believe great food starts with freshness and ends with bold, memorable flavour. Our menu is inspired by the vibrant energy of street-style eats, where every dish and every blend is crafted to feel lively, colourful, and satisfying. Whether its one of our refreshing fruit mixes or a flavour-packed bowl, everything we serve is designed to bring you real taste made from real ingredients.</div>
</div>
<ul className="list-style-two">
<li>Fresh fruits and ingredients in every blend</li>
<li>Street-inspired flavours prepared with care</li>
<li>A vibrant experience that keeps you feeling energized</li>
</ul>
</div>
</div>
</div>
</div>
</section>
{/* End History Section */}
{/* Menu Page Section */}
<section className="menu-page-section">
<div className="auto-container">
<div className="row clearfix">
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-1.webp" alt="" />
</div>
<h6>Bold Flavours</h6>
<div className="text">Every item is created to deliver bright, bold flavour. From our signature blends to our colourful bowls, we make sure each serving tastes fresh, lively, and instantly enjoyable.</div>
</div>
</div>
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-2.webp" alt="" />
</div>
<h6>Real Fruits</h6>
<div className="text">We use high-quality fruits chosen for their natural sweetness and freshness. This ensures every mix, topping, and serving brings out authentic, clean flavour.</div>
</div>
</div>
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-3.webp" alt="" />
</div>
<h6>Healthy Blends</h6>
<div className="text">Our blends are crafted to be both nourishing and delicious. Light, refreshing, and made fresh to order perfect for energizing your day without compromise.</div>
</div>
</div>
</div>
</div>
</section>
{/* Fluid Section */}
<section className="fluid-section-one">
<div className="outer-container clearfix">
<div className="content-column">
<div className="icon-box" style={{ backgroundImage: 'url(/assets/images/about/fresh-flavour-left-bottom-element.webp)' }} ></div>
<div className="inner-column">
<div className="sec-title">
<h2>Fresh Flavour <br /> Fusion</h2>
<div className="separate"></div>
<div className="text">At Sixty5 Street, we are always creating something new, fresh, and full of flavour. Our upcoming beverage range is crafted with real fruits, clean ingredients, and creative blends that bring a refreshing twist to your day. These new additions are designed to energize, hydrate, and satisfyall while staying true to our vibrant, street-style taste.</div>
</div>
<div className="button-box">
<Link href="/menu" className="theme-btn btn-style-two clearfix"><span className="icon"></span>View Menu</Link>
</div>
</div>
</div>
<div className="image-column" style={{ backgroundImage: 'url(/assets/images/about/fresh-flavour-right.webp)' }}></div>
</div>
</section>
{/* Testimonial Section */}
<section className="testimonial-section-two">
<div className="icon-layer-two" style={{ backgroundImage: "url(/assets/images/about/review-right-bottom-element.webp)" }}></div>
<div className="auto-container">
<div className="sec-title centered">
<div className="title">Google Reviews</div>
<h2>Hear from our happy customers</h2>
<div className="separate"></div>
</div>
<div className="inner-container">
<Swiper {...swiperOptions} className="single-item-carousel">
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">Absolutely love this place! Every blend tastes fresh and natural. The flavors pop, and you can really tell they use quality ingredients. Sixty5 Street never disappoints.</div>
<div className="designation"> Emily R.</div>
</div>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">The perfect spot when you need something refreshing. Their fruit mixes are vibrant, clean, and full of energy. I always leave feeling great.</div>
<div className="designation"> Jason M.</div>
</div>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">Sixty5 Street has mastered the art of fresh flavor. The bowls are colorful, the drinks are delicious, and everything feels thoughtfully prepared. A must-try!</div>
<div className="designation"> Sofia L.</div>
</div>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">Consistently amazing! The blends are smooth, balanced, and not overly sweet. You can taste the real fruit in every sip. Highly recommend for healthy cravings.</div>
<div className="designation"> David P.</div>
</div>
</div>
</SwiperSlide>
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">Super fresh, super tasty. The street-style vibe makes the whole experience fun and lively. Sixty5 Street has quickly become one of my favorite places to grab a flavorful drink.</div>
<div className="designation"> Ava T.</div>
</div>
</div>
</SwiperSlide>
</Swiper>
<div className="btns-box text-center mt-4">
<Link
href="https://www.google.com/search?sca_esv=0fe16c1f02c217b7&sxsrf=AE3TifOLptPQLUmmtN31E_3elXLW6TFOQw:1762618049873&si=AMgyJEtREmoPL4P1I5IDCfuA8gybfVI2d5Uj7QMwYCZHKDZ-E-aY0flGiK9jtBbvWKno0yJxYW9CK-ZYgm0G70i4ON2SMlNBNsid-fMvQPqNzI7FcY1u8NR67M0xsy1G8HMAZhtgOP2m&q=Sixty5+Street+Reviews&sa=X&ved=2ahUKEwjY5_L19-KQAxW89DgGHdw0AesQ0bkNegQILRAE&biw=1366&bih=633&dpr=1&sei=MHYRadbjFKWo4-EPlrjFkAs&zx=1762752154509&no_sw_cr=1#lrd=0x882b3dbb0e18ed73:0xbdb3783d6e6393c9,3,,,,"
target="_blank"
className="theme-btn btn-style-one clearfix"
>
<span className="icon"></span> Review us on Google
</Link>
</div>
</div>
</div>
</section>
{/* Gallery Section */}
<section className="gallery-section">
<div className="outer-container">
<GallerySlider1 />
</div>
</section>
</>
)
}

View File

@ -1,284 +1,17 @@
'use client'
import Link from "next/link"
import Layout from "@/components/layout/Layout" import Layout from "@/components/layout/Layout"
import { Autoplay, Navigation, Pagination } from "swiper/modules" import AboutContent from "./AboutContent"
import { Swiper, SwiperSlide } from "swiper/react"
import GallerySlider1 from '@/components/slider/GallerySlider1'
const swiperOptions = { export const metadata = {
modules: [Autoplay, Pagination, Navigation], title: "About Sixty5 Street Our Story of Street-Food Flavor",
slidesPerView: 1, description: "At Sixty5 Street we bring the hustle and flavor of real street food bold bites like Chicken 65, wings, shawarmas & dosas, crafted fresh for fast satisfaction.",
spaceBetween: 30, }
loop: true,
autoplay: {
delay: 3000,
disableOnInteraction: false,
},
navigation: {
nextEl: '.srn',
prevEl: '.srp',
},
pagination: {
el: '.swiper-pagination',
clickable: true,
},
};
export default function About() { export default function About() {
return (
return ( <>
<> <Layout headerStyle={2} footerStyle={2} breadcrumbTitle="About Us" bgImage="/assets/images/about/about-banner.webp">
<Layout headerStyle={2} footerStyle={2} breadcrumbTitle="About Us" bgImage={"/assets/images/about/about-banner.webp"}> <AboutContent />
{/* History Section */} </Layout>
<section className="history-section-two"> </>
<div className="auto-container"> )
<div className="row clearfix align-items-center"> }
{/* Image Column */}
<div className="image-column col-lg-7 col-md-12 col-sm-12">
<div className="inner-column">
<div className="image">
<img src="/assets/images/about/about-us.webp" alt="" />
</div>
<div className="image-two mb-4">
<img src="/assets/images/about/about-us-element.webp" alt="" />
</div>
</div>
</div>
{/* Content Column */}
<div className="content-column col-lg-5 col-md-12 col-sm-12">
<div className="inner-column">
{/* Sec Title */}
<div className="sec-title about-sec">
<div className="title">About Us</div>
<h2>Street Fresh. <span className="theme_color"> Full of Flavour.</span></h2>
<div className="text">At Sixty5 Street, we believe great food starts with freshness and ends with bold, memorable flavour. Our menu is inspired by the vibrant energy of street-style eats, where every dish and every blend is crafted to feel lively, colourful, and satisfying. Whether its one of our refreshing fruit mixes or a flavour-packed bowl, everything we serve is designed to bring you real taste made from real ingredients.</div>
</div>
<ul className="list-style-two">
<li>Fresh fruits and ingredients in every blend</li>
<li>Street-inspired flavours prepared with care</li>
<li>A vibrant experience that keeps you feeling energized</li>
</ul>
</div>
</div>
</div>
</div>
</section>
{/* End History Section */}
{/* Menu Page Section */}
<section className="menu-page-section">
<div className="auto-container">
<div className="row clearfix">
{/* Menu Block Two */}
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-1.webp" alt="" />
</div>
<h6>Bold Flavours</h6>
<div className="text">Every item is created to deliver bright, bold flavour. From our signature blends to our colourful bowls, we make sure each serving tastes fresh, lively, and instantly enjoyable.</div>
</div>
</div>
{/* Menu Block Two */}
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-2.webp" alt="" />
</div>
<h6>Real Fruits</h6>
<div className="text">We use high-quality fruits chosen for their natural sweetness and freshness. This ensures every mix, topping, and serving brings out authentic, clean flavour.</div>
</div>
</div>
{/* Menu Block Two */}
<div className="menu-block-two col-lg-4 col-md-6 col-sm-12">
<div className="inner-box">
<div className="icon">
<img src="/assets/images/about/card-3.webp" alt="" />
</div>
<h6>Healthy Blends</h6>
<div className="text">Our blends are crafted to be both nourishing and delicious. Light, refreshing, and made fresh to order perfect for energizing your day without compromise.</div>
</div>
</div>
</div>
</div>
</section>
{/* End Restaurant Section */}
<section className="fluid-section-one">
<div className="outer-container clearfix">
<div className="content-column">
<div className="icon-box" style={{ backgroundImage: 'url(/assets/images/about/fresh-flavour-left-bottom-element.webp)' }} ></div>
<div className="inner-column">
<div className="sec-title">
<h2>Fresh Flavour <br /> Fusion</h2>
<div className="separate"></div>
<div className="text">At Sixty5 Street, we are always creating something new, fresh, and full of flavour. Our upcoming beverage range is crafted with real fruits, clean ingredients, and creative blends that bring a refreshing twist to your day. These new additions are designed to energize, hydrate, and satisfyall while staying true to our vibrant, street-style taste.</div>
</div>
<div className="button-box">
<Link href="/menu" className="theme-btn btn-style-two clearfix"><span className="icon"></span>View Menu</Link>
</div>
</div>
</div>
<div className="image-column" style={{ backgroundImage: 'url(/assets/images/about/fresh-flavour-right.webp)' }} >
</div>
</div>
</section>
{/* Testimonial Section Two */}
<section className="testimonial-section-two">
<div
className="icon-layer-two"
style={{ backgroundImage: "url(/assets/images/about/review-right-bottom-element.webp)" }}
></div>
<div className="auto-container">
{/* Section Title */}
<div className="sec-title centered">
<div className="title">Google Reviews</div>
<h2>Hear from our happy customers</h2>
<div className="separate"></div>
</div>
<div className="inner-container">
<Swiper {...swiperOptions} className="single-item-carousel">
{/* Testimonial Block Two */}
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">
Absolutely love this place! Every blend tastes fresh and natural. The flavors pop, and you can really tell they use quality ingredients. Sixty5 Street never disappoints.
</div>
<div className="designation"> Emily R.</div>
</div>
</div>
</SwiperSlide>
{/* Testimonial Block Two */}
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">
The perfect spot when you need something refreshing. Their fruit mixes are vibrant, clean, and full of energy. I always leave feeling great.
</div>
<div className="designation"> Jason M.</div>
</div>
</div>
</SwiperSlide>
{/* Testimonial Block Two */}
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">
Sixty5 Street has mastered the art of fresh flavor. The bowls are colorful, the drinks are delicious, and everything feels thoughtfully prepared. A must-try!
</div>
<div className="designation"> Sofia L.</div>
</div>
</div>
</SwiperSlide>
{/* Testimonial Block Two */}
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">
Consistently amazing! The blends are smooth, balanced, and not overly sweet. You can taste the real fruit in every sip. Highly recommend for healthy cravings.
</div>
<div className="designation"> David P.</div>
</div>
</div>
</SwiperSlide>
{/* Testimonial Block Two */}
<SwiperSlide>
<div className="testimonial-block-two">
<div className="inner-box">
<div className="rating gap-1 mb-3">
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
<span className="fa fa-star"></span>
</div>
<div className="text">
Super fresh, super tasty. The street-style vibe makes the whole experience fun and lively. Sixty5 Street has quickly become one of my favorite places to grab a flavorful drink.
</div>
<div className="designation"> Ava T.</div>
</div>
</div>
</SwiperSlide>
</Swiper>
{/* Google Review Button */}
<div className="btns-box text-center mt-4">
<Link
href="https://www.google.com/search?sca_esv=0fe16c1f02c217b7&sxsrf=AE3TifOLptPQLUmmtN31E_3elXLW6TFOQw:1762618049873&si=AMgyJEtREmoPL4P1I5IDCfuA8gybfVI2d5Uj7QMwYCZHKDZ-E-aY0flGiK9jtBbvWKno0yJxYW9CK-ZYgm0G70i4ON2SMlNBNsid-fMvQPqNzI7FcY1u8NR67M0xsy1G8HMAZhtgOP2m&q=Sixty5+Street+Reviews&sa=X&ved=2ahUKEwjY5_L19-KQAxW89DgGHdw0AesQ0bkNegQILRAE&biw=1366&bih=633&dpr=1&sei=MHYRadbjFKWo4-EPlrjFkAs&zx=1762752154509&no_sw_cr=1#lrd=0x882b3dbb0e18ed73:0xbdb3783d6e6393c9,3,,,,"
target="_blank"
className="theme-btn btn-style-one clearfix"
>
<span className="icon"></span> Review us on Google
</Link>
</div>
</div>
</div>
</section>
{/* End Testimonial Section Two */}
{/* Gallery Section */}
<section className="gallery-section">
<div className="outer-container">
<GallerySlider1 />
</div>
</section>
{/* End Gallery Section */}
</Layout>
</>
)
}

View File

@ -1,8 +1,13 @@
'use client'
import Link from "next/link"; import Link from "next/link";
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Blogs from "@/utils/constant.utils"; import Blogs from "@/utils/constant.utils";
export const metadata = {
title: "Street-Food Stories from Sixty5 Street",
description: "Dive into the Sixty5 Street blog for behind-the-scenes stories, flavor experiments, new dish launches and street-food culture updates.",
};
const truncateWords = (text, limit) => { const truncateWords = (text, limit) => {
const words = text.split(" "); const words = text.split(" ");
return words.length > limit ? words.slice(0, limit).join(" ") + " ..." : text; return words.length > limit ? words.slice(0, limit).join(" ") + " ..." : text;

146
app/contact/ContactForm.js Normal file
View File

@ -0,0 +1,146 @@
'use client'
import { useState, useEffect } from "react";
import ReCAPTCHA from "react-google-recaptcha";
import axios from "axios";
export default function ContactForm() {
const [formData, setFormData] = useState({
name: "",
email: "",
phone: "",
message: "",
});
const [alert, setAlert] = useState({
show: false,
type: "",
message: "",
});
const [captchaToken, setCaptchaToken] = useState(null);
const handleCaptchaChange = (token) => {
setCaptchaToken(token);
};
const handleChange = (e) => {
const { name, value } = e.target;
setFormData(prev => ({ ...prev, [name]: value }));
};
const handleSubmit = async (e) => {
e.preventDefault();
if (!formData.name || !formData.email || !formData.phone || !formData.message) {
setAlert({ show: true, type: "danger", message: "Please fill in all fields." });
return;
}
if (!captchaToken) {
setAlert({ show: true, type: "danger", message: "Please verify the CAPTCHA." });
return;
}
const emailData = {
...formData,
recaptchaToken: captchaToken,
to: "info@metatroncubesolutions.com",
senderName: "Website Contact Form",
message: `
<b>Name:</b> ${formData.name}<br/>
<b>Email:</b> ${formData.email}<br/>
<b>Phone:</b> ${formData.phone}<br/><br/>
<b>Message:</b><br/>${formData.message}
`,
};
try {
await axios.post("https://mailserver.metatronnest.com/send", emailData, {
headers: { "Content-Type": "application/json" },
});
setAlert({ show: true, type: "success", message: "Your message has been sent successfully!" });
setFormData({ name: "", email: "", phone: "", message: "" });
setCaptchaToken(null);
} catch {
setAlert({ show: true, type: "danger", message: "Failed to send your message. Try again later." });
}
};
useEffect(() => {
if (alert.show) {
const timer = setTimeout(() => setAlert({ show: false, type: "", message: "" }), 5000);
return () => clearTimeout(timer);
}
}, [alert.show]);
return (
<div className="contact-form">
{alert.show && (
<div className={`alert ${alert.type === "success" ? "text-green-600" : "text-red-600"}`}>
{alert.message}
</div>
)}
<form onSubmit={handleSubmit}>
<div className="row clearfix">
<div className="col-lg-6 col-md-12 col-sm-12 form-group">
<input
type="text"
name="name"
placeholder="Your Name"
value={formData.name}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-6 col-md-12 col-sm-12 form-group">
<input
type="text"
name="phone"
placeholder="Your Phone Number"
value={formData.phone}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<input
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<textarea
name="message"
placeholder="Your Message"
value={formData.message}
onChange={handleChange}
required
></textarea>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<ReCAPTCHA
sitekey="6LeaPggsAAAAAM4DHBSX0y3IC6lu9SrJIhoQKZKo"
onChange={handleCaptchaChange}
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<button type="submit" className="theme-btn btn-style-four">
<span className="icon flaticon-arrow-pointing-to-right"></span> Send
</button>
</div>
</div>
</form>
</div>
);
}

View File

@ -1,80 +1,12 @@
'use client'
import { useState, useEffect } from "react";
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import ReCAPTCHA from "react-google-recaptcha"; import ContactForm from "./ContactForm";
import axios from "axios";
export const metadata = {
title: "Contact Sixty5 Street Get in Touch with Us",
description: "Have questions or crave something special? Reach out to Sixty5 Street. Were here for you with fresh street-food passion. Lets talk wings, wraps and more.",
}
export default function Contact() { export default function Contact() {
const [formData, setFormData] = useState({
name: "",
email: "",
phone: "",
message: "",
});
const [alert, setAlert] = useState({
show: false,
type: "",
message: "",
});
const [captchaToken, setCaptchaToken] = useState(null);
const handleCaptchaChange = (token) => {
setCaptchaToken(token);
};
const handleChange = (e) => {
const { name, value } = e.target;
setFormData(prev => ({ ...prev, [name]: value }));
};
const handleSubmit = async (e) => {
e.preventDefault();
if (!formData.name || !formData.email || !formData.phone || !formData.message) {
setAlert({ show: true, type: "danger", message: "Please fill in all fields." });
return;
}
if (!captchaToken) {
setAlert({ show: true, type: "danger", message: "Please verify the CAPTCHA." });
return;
}
const emailData = {
...formData,
recaptchaToken: captchaToken,
to: "info@metatroncubesolutions.com",
senderName: "Website Contact Form",
message: `
<b>Name:</b> ${formData.name}<br/>
<b>Email:</b> ${formData.email}<br/>
<b>Phone:</b> ${formData.phone}<br/><br/>
<b>Message:</b><br/>${formData.message}
`,
};
try {
await axios.post("https://mailserver.metatronnest.com/send", emailData, {
headers: { "Content-Type": "application/json" },
});
setAlert({ show: true, type: "success", message: "Your message has been sent successfully!" });
setFormData({ name: "", email: "", phone: "", message: "" });
setCaptchaToken(null);
} catch {
setAlert({ show: true, type: "danger", message: "Failed to send your message. Try again later." });
}
};
useEffect(() => {
if (alert.show) {
const timer = setTimeout(() => setAlert({ show: false, type: "", message: "" }), 5000);
return () => clearTimeout(timer);
}
}, [alert.show]);
return ( return (
<Layout <Layout
headerStyle={2} headerStyle={2}
@ -117,75 +49,7 @@ export default function Contact() {
{/* Right Column - Form */} {/* Right Column - Form */}
<div className="form-column col-lg-7 col-md-12 col-sm-12"> <div className="form-column col-lg-7 col-md-12 col-sm-12">
<div className="inner-column"> <div className="inner-column">
<div className="contact-form"> <ContactForm />
{alert.show && (
<div className={`alert ${alert.type === "success" ? "text-green-600" : "text-red-600"}`}>
{alert.message}
</div>
)}
<form onSubmit={handleSubmit}>
<div className="row clearfix">
<div className="col-lg-6 col-md-12 col-sm-12 form-group">
<input
type="text"
name="name"
placeholder="Your Name"
value={formData.name}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-6 col-md-12 col-sm-12 form-group">
<input
type="text"
name="phone"
placeholder="Your Phone Number"
value={formData.phone}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<input
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
required
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<textarea
name="message"
placeholder="Your Message"
value={formData.message}
onChange={handleChange}
required
></textarea>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<ReCAPTCHA
sitekey="6LeaPggsAAAAAM4DHBSX0y3IC6lu9SrJIhoQKZKo"
onChange={handleCaptchaChange}
/>
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<button type="submit" className="theme-btn btn-style-four">
<span className="icon flaticon-arrow-pointing-to-right"></span> Send
</button>
</div>
</div>
</form>
</div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,49 @@
'use client';
import { useState } from "react";
import 'react-image-lightbox/style.css';
import Lightbox from 'react-image-lightbox';
export default function GalleryLightbox({ images }) {
const [isOpen, setIsOpen] = useState(false);
const [photoIndex, setPhotoIndex] = useState(0);
return (
<>
<div className="masonry-items-container row no-gutters clearfix">
{images.map((img, idx) => (
<div key={idx} className={`col-lg-3 col-md-6 col-sm-12`}>
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
style={{ cursor: "pointer" }}
onClick={() => { setPhotoIndex(idx); setIsOpen(true); }}
>
<img src={img} alt={`Gallery Image ${idx + 1}`} />
<div className="overlay-box">
<h6>Image {idx + 1}</h6>
</div>
</div>
</div>
</div>
</div>
))}
</div>
{isOpen && (
<Lightbox
mainSrc={images[photoIndex]}
nextSrc={images[(photoIndex + 1) % images.length]}
prevSrc={images[(photoIndex + images.length - 1) % images.length]}
onCloseRequest={() => setIsOpen(false)}
onMovePrevRequest={() =>
setPhotoIndex((photoIndex + images.length - 1) % images.length)
}
onMoveNextRequest={() =>
setPhotoIndex((photoIndex + 1) % images.length)
}
/>
)}
</>
);
}

View File

@ -1,8 +1,10 @@
'use client';
import { useState } from "react";
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import 'react-image-lightbox/style.css'; import GalleryLightbox from "./GalleryLightbox";
import Lightbox from 'react-image-lightbox';
export const metadata = {
title: "Gallery Sixty5 Street Eats & Vibes",
description: "Browse the Sixty5 Street gallery to see our bold bites, sizzling dishes and vibrant atmosphere. Get inspired by the food, flavor and fun.",
}
export default function GalleryPage() { export default function GalleryPage() {
const images = [ const images = [
@ -14,9 +16,6 @@ export default function GalleryPage() {
"/assets/images/home/categories/dosa.webp" "/assets/images/home/categories/dosa.webp"
]; ];
const [isOpen, setIsOpen] = useState(false);
const [photoIndex, setPhotoIndex] = useState(0);
return ( return (
<Layout <Layout
headerStyle={2} headerStyle={2}
@ -27,132 +26,10 @@ export default function GalleryPage() {
{/* Gallery Section Two */} {/* Gallery Section Two */}
<section className="gallery-section-two sec-pad" id="gallery"> <section className="gallery-section-two sec-pad" id="gallery">
<div className="outer-container"> <div className="outer-container">
<div className="masonry-items-container row no-gutters clearfix"> <GalleryLightbox images={images} />
{/* Column 1 */}
<div className="col-lg-3 col-md-6 col-sm-12">
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(0); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[0]} alt="Combos" />
<div className="overlay-box">
<h6>Combos</h6>
</div>
</div>
</div>
</div>
</div>
{/* Column 2 */}
<div className="col-lg-3 col-md-6 col-sm-12">
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(1); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[1]} alt="Milk Shakes" />
<div className="overlay-box">
<h6>Milk Shakes</h6>
</div>
</div>
</div>
</div>
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(2); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[2]} alt="Poutine" />
<div className="overlay-box">
<h6>Poutine</h6>
</div>
</div>
</div>
</div>
</div>
{/* Column 3 */}
<div className="col-lg-6 col-md-12 col-sm-12">
<div className="row no-gutters">
<div className="col-lg-6 col-md-6 col-sm-12">
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(3); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[3]} alt="Salads" />
<div className="overlay-box">
<h6>Salads</h6>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-6 col-md-6 col-sm-12">
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(4); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[4]} alt="Shawarma Wraps" />
<div className="overlay-box">
<h6>Shawarma Wraps</h6>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 col-md-12 col-sm-12">
<div className="gallery-block-two masonry-item">
<div className="inner-box">
<div
className="image-box"
onClick={() => { setPhotoIndex(5); setIsOpen(true); }}
style={{ cursor: "pointer" }}
>
<img src={images[5]} alt="Dosa" />
<div className="overlay-box">
<h6>Dosa</h6>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</section> </section>
{/* End Gallery Section Two */} {/* End Gallery Section Two */}
{/* Lightbox */}
{isOpen && (
<Lightbox
mainSrc={images[photoIndex]}
nextSrc={images[(photoIndex + 1) % images.length]}
prevSrc={images[(photoIndex + images.length - 1) % images.length]}
onCloseRequest={() => setIsOpen(false)}
onMovePrevRequest={() =>
setPhotoIndex((photoIndex + images.length - 1) % images.length)
}
onMoveNextRequest={() =>
setPhotoIndex((photoIndex + 1) % images.length)
}
/>
)}
</Layout> </Layout>
); );
} }

View File

@ -9,10 +9,10 @@ import 'swiper/css'
import "swiper/css/pagination" import "swiper/css/pagination"
import 'swiper/css/free-mode'; import 'swiper/css/free-mode';
import {niconne, poppins, tangerine} from '@/lib/font' import {niconne, poppins, tangerine} from '@/lib/font'
export const metadata = { // export const metadata = {
title: 'Sixty5street', // title: 'Sixty5street',
description: 'Generated by create next app', // description: 'Generated by create next app',
} // }
export default function RootLayout({ children }) { export default function RootLayout({ children }) {
return ( return (

109
app/menu/MenusClient.js Normal file
View File

@ -0,0 +1,109 @@
'use client'
import { useState } from 'react'
import Layout from "@/components/layout/Layout"
import Link from 'next/link'
import { menuData } from '@/utils/constant.utils'
export default function MenusClient() {
const [activeTab, setActiveTab] = useState('Wings')
const tabs = Object.keys(menuData)
const menuItems = menuData[activeTab] || []
// Split items into two columns
const mid = Math.ceil(menuItems.length / 2)
const firstHalf = menuItems.slice(0, mid)
const secondHalf = menuItems.slice(mid)
return (
<>
<Layout
headerStyle={2}
footerStyle={2}
breadcrumbTitle="Our Menu"
bgImage={"/assets/images/inner-banner/menu-banner.webp"}
>
{/* Menu Section */}
<section className="menus-section sec-pad" id="menu">
<div className="auto-container">
{/* Section Title */}
<div className="sec-title mb-3 centered">
<div className="title">Our Menu</div>
<h2>Explore Our Delicious Dishes</h2>
<div className="separate"></div>
</div>
{/* Tabs */}
<ul className="nav nav-tabs justify-content-center mb-5 border-0">
{tabs.map((tab) => (
<li
key={tab}
className="nav-item"
onClick={() => setActiveTab(tab)}
style={{ cursor: 'pointer' }}
>
<span
className={`nav-link ${activeTab === tab ? 'active fw-bold' : ''}`}
style={activeTab === tab ? { color: '#cf2d1f' } : {}}
>
{tab}
</span>
</li>
))}
</ul>
{/* Menu Items */}
<div className="row clearfix">
{/* Left Column */}
<div className="menu-column col-lg-6 col-md-12 col-sm-12">
<div className="inner-column">
{firstHalf.map((item, index) => (
<div className="menu-block" key={index}>
<div className="inner-box">
<div className="menu-image">
<Link href="/#">
<img src={item.img} alt={item.name} />
</Link>
</div>
<h6>
<Link href="/#">{item.name}</Link>
</h6>
<div className="title">{item.desc}</div>
<div className="price-box">
<span className="price">${item.price}</span>
</div>
</div>
</div>
))}
</div>
</div>
{/* Right Column */}
<div className="menu-column col-lg-6 col-md-12 col-sm-12">
<div className="inner-column">
{secondHalf.map((item, index) => (
<div className="menu-block" key={index}>
<div className="inner-box">
<div className="menu-image">
<Link href="/#">
<img src={item.img} alt={item.name} />
</Link>
</div>
<h6>
<Link href="/#">{item.name}</Link>
</h6>
<div className="title">{item.desc}</div>
<div className="price-box">
<span className="price">${item.price}</span>
</div>
</div>
</div>
))}
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
)
}

View File

@ -1,109 +1,11 @@
'use client'
import { useState } from 'react'
import Layout from "@/components/layout/Layout"
import Link from 'next/link'
import { menuData } from '@/utils/constant.utils'
export default function Menus() { import MenusClient from './MenusClient';
const [activeTab, setActiveTab] = useState('Wings')
const tabs = Object.keys(menuData)
const menuItems = menuData[activeTab] || []
// Split items into two columns export const metadata = {
const mid = Math.ceil(menuItems.length / 2) title: "Sixty5 Street Wings, Dosas & More",
const firstHalf = menuItems.slice(0, mid) description: "Explore the Sixty5 Street menu featuring saucy wings, shawarmas, crispy dosas, loaded fries and shakes. Street food done bold, fresh & satisfying.",
const secondHalf = menuItems.slice(mid) };
return ( export default function MenuPage() {
<> return <MenusClient />;
<Layout
headerStyle={2}
footerStyle={2}
breadcrumbTitle="Our Menu"
bgImage={"/assets/images/inner-banner/menu-banner.webp"}
>
{/* Menu Section */}
<section className="menus-section sec-pad" id="menu">
<div className="auto-container">
{/* Section Title */}
<div className="sec-title mb-3 centered">
<div className="title">Our Menu</div>
<h2>Explore Our Delicious Dishes</h2>
<div className="separate"></div>
</div>
{/* Tabs */}
<ul className="nav nav-tabs justify-content-center mb-5 border-0">
{tabs.map((tab) => (
<li
key={tab}
className="nav-item"
onClick={() => setActiveTab(tab)}
style={{ cursor: 'pointer' }}
>
<span
className={`nav-link ${activeTab === tab ? 'active fw-bold' : ''}`}
style={activeTab === tab ? { color: '#cf2d1f' } : {}}
>
{tab}
</span>
</li>
))}
</ul>
{/* Menu Items */}
<div className="row clearfix">
{/* Left Column */}
<div className="menu-column col-lg-6 col-md-12 col-sm-12">
<div className="inner-column">
{firstHalf.map((item, index) => (
<div className="menu-block" key={index}>
<div className="inner-box">
<div className="menu-image">
<Link href="/#">
<img src={item.img} alt={item.name} />
</Link>
</div>
<h6>
<Link href="/#">{item.name}</Link>
</h6>
<div className="title">{item.desc}</div>
<div className="price-box">
<span className="price">${item.price}</span>
</div>
</div>
</div>
))}
</div>
</div>
{/* Right Column */}
<div className="menu-column col-lg-6 col-md-12 col-sm-12">
<div className="inner-column">
{secondHalf.map((item, index) => (
<div className="menu-block" key={index}>
<div className="inner-box">
<div className="menu-image">
<Link href="/#">
<img src={item.img} alt={item.name} />
</Link>
</div>
<h6>
<Link href="/#">{item.name}</Link>
</h6>
<div className="title">{item.desc}</div>
<div className="price-box">
<span className="price">${item.price}</span>
</div>
</div>
</div>
))}
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
)
} }

View File

@ -11,6 +11,11 @@ import Menu2 from "@/components/sections/home4/Menu2"
import Testimonial from "@/components/sections/home1/client-review" import Testimonial from "@/components/sections/home1/client-review"
import Blog from "@/components/sections/home2/blog" import Blog from "@/components/sections/home2/blog"
export const metadata = {
title: "Sixty5 Street Bold Street Food, Wings, Wraps & Dosas",
description: "Welcome to Sixty5 Street where fiery wings, loaded fries, shawarmas and crispy dosas bring global street-food attitude to your plate. Dive in now.",
}
export default function Home() { export default function Home() {
return ( return (

View File

@ -14,98 +14,134 @@ export const menuData = {
{ name: 'Hot Honey Wings', img: '/assets/images/menu/wing/hot-honey-wings.webp', desc: 'Large', price: 12.99 }, { name: 'Hot Honey Wings', img: '/assets/images/menu/wing/hot-honey-wings.webp', desc: 'Large', price: 12.99 },
], ],
Combos: [ Combos: [
{ name: 'Spicy 65 Combo', img: '/assets/images/menu/combo/spicy-65.webp', desc: 'Chicken 65 dry, Loaded Fries, 1 Pop', price: 19.99 }, { name: 'Chicken Shawarma Combo', img: '/assets/images/menu/combo/spicy-65.webp', desc: '(Chicken Shawarma wrap, Fries, Pop)', price: 13.99 },
{ name: 'Saucy 65 Combo', img: '/assets/images/menu/combo/saucy-65.webp', desc: 'Chicken 65 wet, Classic Fries, 1 Pop', price: 19.99 }, // { name: 'Saucy 65 Combo', img: '/assets/images/menu/combo/saucy-65.webp', desc: 'Chicken 65 wet, Classic Fries, 1 Pop', price: 19.99 },
{ name: 'Veggie Wrap Combo', img: '/assets/images/menu/combo/veggie-wrap.webp', desc: 'Falafel Wrap, Classic Fries, 1 Pop', price: 17.99 }, { name: 'Veggie Wrap Combo', img: '/assets/images/menu/combo/veggie-wrap.webp', desc: 'Falafel Wrap, Fries, Pop', price: 11.99 },
{ name: 'Shawarma Classic Combo', img: '/assets/images/menu/combo/shawarma-classic.webp', desc: 'Chicken Shawarma Wrap, Classic Fries, 1 Pop', price: 19.99 }, // { name: 'Shawarma Classic Combo', img: '/assets/images/menu/combo/shawarma-classic.webp', desc: 'Chicken Shawarma Wrap, Classic Fries, 1 Pop', price: 19.99 },
{ name: 'Kothu Crave Combo', img: '/assets/images/menu/combo/kothu-crave.webp', desc: 'Chicken Kothu, Loaded Fries, 1 Pop', price: 19.99 }, // { name: 'Kothu Crave Combo', img: '/assets/images/menu/combo/kothu-crave.webp', desc: 'Chicken Kothu, Loaded Fries, 1 Pop', price: 19.99 },
{ name: 'Golden Bites Combo', img: '/assets/images/menu/combo/golden-bites.webp', desc: 'Chicken Nuggets, Classic Fries, Vanilla Caramel Dream', price: 18.99 }, // { name: 'Golden Bites Combo', img: '/assets/images/menu/combo/golden-bites.webp', desc: 'Chicken Nuggets, Classic Fries, Vanilla Caramel Dream', price: 18.99 },
{ name: 'Wings Combo', img: '/assets/images/menu/combo/golden-bites.webp', desc: 'Chicken Wings any flavour, Loaded Fries, Pop', price: 16.99 },
{ name: '65 Chicken Combo', img: '/assets/images/menu/combo/golden-bites.webp', desc: '(Chicken 65 wet, Fries, Pop)', price: 12.99 },
],
DailyDeals: [
{ name: 'Chicken Shawarma', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 5.99 },
{ name: 'Loaded Fries', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 6.99 },
{ name: 'Shawarma Platter', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 8.99 },
{ name: 'Chicken Wings (Any Flavour)', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 8.99 },
{ name: 'Masala Dosa', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 6.99 },
{ name: 'Chicken 65 Dry', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 5.99 },
{ name: 'Chicken Biryani', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 7.99 },
], ],
Milkshakes: [ Milkshakes: [
{ name: 'Tropical Mango Splash', img: '/assets/images/menu/milk-shakes/mango-splash.webp', desc: '', price: 4.99 }, { name: 'Mango Splash', img: '/assets/images/menu/milk-shakes/mango-splash.webp', desc: '', price: 4.99 },
{ name: 'Vanilla Caramel Dream', img: '/assets/images/menu/milk-shakes/vanilla-caramel.webp', desc: '', price: 4.99 }, { name: 'Vanilla Caramel', img: '/assets/images/menu/milk-shakes/vanilla-caramel.webp', desc: '', price: 4.99 },
{ name: 'Berry Love', img: '/assets/images/menu/milk-shakes/berry-love.webp', desc: '', price: 4.99 }, { name: 'Berry Love', img: '/assets/images/menu/milk-shakes/berry-love.webp', desc: '', price: 4.99 },
{ name: 'Choco Bliss Shake', img: '/assets/images/menu/milk-shakes/choco-bliss.webp', desc: '', price: 4.99 }, { name: 'Choco Bliss', img: '/assets/images/menu/milk-shakes/choco-bliss.webp', desc: '', price: 4.99 },
{ name: 'Rosy Glow', img: '/assets/images/menu/milk-shakes/rosy-glow.webp', desc: '', price: 4.99 }, { name: 'Rosy Glow', img: '/assets/images/menu/milk-shakes/rosy-glow.webp', desc: '', price: 4.99 },
{ name: 'Badham Royal', img: '/assets/images/menu/milk-shakes/badham-royal.webp', desc: '', price: 4.99 }, { name: 'Badham Royal', img: '/assets/images/menu/milk-shakes/badham-royal.webp', desc: '', price: 4.99 },
], ],
Poutine: [ Poutine: [
{ name: 'Classic Poutine', img: '/assets/images/menu/poutine/classic-poutine.webp', desc: 'Reg', price: 6.99 }, { name: 'Classic Poutine', img: '/assets/images/menu/poutine/classic-poutine.webp', desc: 'Reg', price: 6.99 },
{ name: 'Chicken 65 Poutine', img: '/assets/images/menu/poutine/chicken65.webp', desc: 'Reg', price: 9.99 }, { name: 'Chicken Poutine', img: '/assets/images/menu/poutine/chicken65.webp', desc: 'Reg', price: 8.99 },
{ name: 'Chicken Shawarma Poutine', img: '/assets/images/menu/poutine/chicken-shawarma.webp', desc: 'Reg', price: 9.99 }, // { name: 'Chicken Shawarma Poutine', img: '/assets/images/menu/poutine/chicken-shawarma.webp', desc: 'Reg', price: 9.99 },
{ name: 'Mutton Madness', img: '/assets/images/menu/poutine/mutton-madness.webp', desc: 'Reg', price: 12.99 }, // { name: 'Mutton Madness', img: '/assets/images/menu/poutine/mutton-madness.webp', desc: 'Reg', price: 12.99 },
{ name: 'Classic Poutine', img: '/assets/images/menu/poutine/classic-poutine.webp', desc: 'Large', price: 8.99 }, { name: 'Classic Poutine', img: '/assets/images/menu/poutine/classic-poutine.webp', desc: 'Large', price: 8.99 },
{ name: 'Chicken 65 Poutine', img: '/assets/images/menu/poutine/chicken65.webp', desc: 'Large', price: 14.99 }, { name: 'Chicken Poutine', img: '/assets/images/menu/poutine/chicken65.webp', desc: 'Large', price: 10.99 },
{ name: 'Chicken Shawarma Poutine', img: '/assets/images/menu/poutine/chicken-shawarma.webp', desc: 'Large', price: 14.99 }, // { name: 'Chicken Shawarma Poutine', img: '/assets/images/menu/poutine/chicken-shawarma.webp', desc: 'Large', price: 14.99 },
{ name: 'Mutton Madness', img: '/assets/images/menu/poutine/mutton-madness.webp', desc: 'Large', price: 17.99 }, // { name: 'Mutton Madness', img: '/assets/images/menu/poutine/mutton-madness.webp', desc: 'Large', price: 17.99 },
],
Salads: [
{ name: 'Garden Salad', img: '/assets/images/menu/salads/garden-salad.webp', desc: 'Reg', price: 6.99 },
{ name: 'Chicken Shawarma Salad', img: '/assets/images/menu/salads/chiken-shawarma-salad.webp', desc: 'Reg', price: 9.99 },
{ name: 'Chicken 65 Salad', img: '/assets/images/menu/salads/chiken-65-salad.webp', desc: 'Reg', price: 9.99 },
{ name: 'Mutton Medley', img: '/assets/images/menu/salads/mutton-medley.webp', desc: 'Reg', price: 12.99 },
{ name: 'Garden Salad', img: '/assets/images/menu/salads/garden-salad.webp', desc: 'Large', price: 8.99 },
{ name: 'Chicken Shawarma Salad', img: '/assets/images/menu/salads/chiken-shawarma-salad.webp', desc: 'Large', price: 14.99 },
{ name: 'Chicken 65 Salad', img: '/assets/images/menu/salads/chiken-65-salad.webp', desc: 'Large', price: 14.99 },
{ name: 'Mutton Medley', img: '/assets/images/menu/salads/mutton-medley.webp', desc: 'Large', price: 17.99 },
], ],
// Salads: [
// { name: 'Garden Salad', img: '/assets/images/menu/salads/garden-salad.webp', desc: 'Reg', price: 6.99 },
// { name: 'Chicken Shawarma Salad', img: '/assets/images/menu/salads/chiken-shawarma-salad.webp', desc: 'Reg', price: 9.99 },
// { name: 'Chicken 65 Salad', img: '/assets/images/menu/salads/chiken-65-salad.webp', desc: 'Reg', price: 9.99 },
// { name: 'Mutton Medley', img: '/assets/images/menu/salads/mutton-medley.webp', desc: 'Reg', price: 12.99 },
// { name: 'Garden Salad', img: '/assets/images/menu/salads/garden-salad.webp', desc: 'Large', price: 8.99 },
// { name: 'Chicken Shawarma Salad', img: '/assets/images/menu/salads/chiken-shawarma-salad.webp', desc: 'Large', price: 14.99 },
// { name: 'Chicken 65 Salad', img: '/assets/images/menu/salads/chiken-65-salad.webp', desc: 'Large', price: 14.99 },
// { name: 'Mutton Medley', img: '/assets/images/menu/salads/mutton-medley.webp', desc: 'Large', price: 17.99 },
// ],
ShawarmaWraps: [ ShawarmaWraps: [
{ name: 'Chicken Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken-shawarma.webp', desc: 'Reg', price: 9.99 }, { name: 'Chicken Wrap', img: '/assets/images/menu/shawarma/chicken-shawarma.webp', desc: 'Reg', price: 9.99 },
{ name: 'Chicken 65 Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken65-shawarma.webp', desc: 'Reg', price: 9.99 }, { name: 'Chicken 65 Wrap', img: '/assets/images/menu/shawarma/chicken65-shawarma.webp', desc: 'Reg', price: 10.99 },
{ name: 'Paneer Bhurji Shawarma Wrap', img: '/assets/images/menu/shawarma/paneer-shawarma.webp', desc: 'Reg', price: 9.99 }, { name: 'Paneer Wrap', img: '/assets/images/menu/shawarma/paneer-shawarma.webp', desc: 'Reg', price: 9.99 },
{ name: 'Falafal Shawarma Wrap', img: '/assets/images/menu/shawarma/falafal-shawarma.webp', desc: 'Reg', price: 7.99 }, { name: 'Falafal Wrap', img: '/assets/images/menu/shawarma/falafal-shawarma.webp', desc: 'Reg', price: 7.99 },
{ name: 'Mutton Shawarma Wrap', img: '/assets/images/menu/shawarma/mutton-shawarma.webp', desc: 'Reg', price: 12.99 }, // { name: 'Mutton Shawarma Wrap', img: '/assets/images/menu/shawarma/mutton-shawarma.webp', desc: 'Reg', price: 12.99 },
{ name: 'Chicken Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken-shawarma.webp', desc: 'Large', price: 14.99 }, { name: 'Chicken Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken-shawarma.webp', desc: 'Large', price: 12.99 },
{ name: 'Chicken 65 Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken65-shawarma.webp', desc: 'Large', price: 14.99 }, { name: 'Chicken 65 Shawarma Wrap', img: '/assets/images/menu/shawarma/chicken65-shawarma.webp', desc: 'Large', price: 13.99 },
{ name: 'Paneer Bhurji Shawarma Wrap', img: '/assets/images/menu/shawarma/paneer-shawarma.webp', desc: 'Large', price: 14.99 }, { name: 'Paneer Bhurji Shawarma Wrap', img: '/assets/images/menu/shawarma/paneer-shawarma.webp', desc: 'Large', price: 12.99 },
{ name: 'Falafal Shawarma Wrap', img: '/assets/images/menu/shawarma/falafal-shawarma.webp', desc: 'Large', price: 11.99 }, { name: 'Falafal Shawarma Wrap', img: '/assets/images/menu/shawarma/falafal-shawarma.webp', desc: 'Large', price: 11.99 },
{ name: 'Mutton Shawarma Wrap', img: '/assets/images/menu/shawarma/mutton-shawarma.webp', desc: 'Large', price: 17.99 }, // { name: 'Mutton Shawarma Wrap', img: '/assets/images/menu/shawarma/mutton-shawarma.webp', desc: 'Large', price: 17.99 },
], ],
OnTheStones: [ Platter: [
{ name: 'Chicken on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 9.99 }, { name: 'Chicken Platter', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 12.99 },
{ name: 'Chicken 65 on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 9.99 }, { name: 'Chicken 65 Platter', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 13.99 },
{ name: 'Falafal on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 7.99 }, { name: 'Paneer Platter', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 12.99 },
{ name: 'Mutton on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 12.99 }, { name: 'Falafal Platter', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 11.99 },
{ name: 'Chicken on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 14.99 },
{ name: 'Chicken 65 on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 14.99 },
{ name: 'Falafal on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 11.99 },
{ name: 'Mutton on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 17.99 },
], ],
OnTheFries: [ RiceBowls: [
{ name: 'Chicken Bowl', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 9.99 },
{ name: 'Chicken 65 Bowl', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 10.99 },
{ name: 'Paneer Bowl', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 9.99 },
{ name: 'Falafal Bowl', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 8.99 },
],
// OnTheStones: [
// { name: 'Chicken on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 9.99 },
// { name: 'Chicken 65 on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 9.99 },
// { name: 'Falafal on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 7.99 },
// { name: 'Mutton on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Reg', price: 12.99 },
// { name: 'Chicken on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 14.99 },
// { name: 'Chicken 65 on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 14.99 },
// { name: 'Falafal on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 11.99 },
// { name: 'Mutton on the stones', img: '/assets/images/resource/menu-3.jpg', desc: 'Large', price: 17.99 },
// ],
Fries: [
{ name: 'Plain Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Reg', price: 4.99 },
{ name: 'Loaded Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Reg', price: 7.99 }, { name: 'Loaded Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Reg', price: 7.99 },
{ name: 'Chicken Nuggets on the Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Reg', price: 6.99 }, { name: 'Gun Powder Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Reg', price: 5.49 },
{ name: 'Chicken Shawarma on the Fries', img: '/assets/images/menu/fries/chicken-shawarma.webp', desc: 'Reg', price: 9.99 }, { name: 'Falafal & Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Reg', price: 10.99 },
{ name: 'Chicken 65 on the Fries', img: '/assets/images/menu/fries/chicken65.webp', desc: 'Reg', price: 9.99 }, { name: 'Chicken & Fries', img: '/assets/images/menu/fries/chicken-shawarma.webp', desc: 'Reg', price: 11.99 },
{ name: 'Mutton on the Fries', img: '/assets/images/menu/fries/mutton.webp', desc: 'Reg', price: 12.99 }, { name: 'Chicken 65 & Fries', img: '/assets/images/menu/fries/chicken65.webp', desc: 'Reg', price: 12.99 },
{ name: 'Loaded Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Large', price: 9.99 }, // { name: 'Mutton on the Fries', img: '/assets/images/menu/fries/mutton.webp', desc: 'Reg', price: 12.99 },
{ name: 'Chicken Nuggets on the Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Large', price: 8.99 }, { name: 'Plain Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Large', price: 7.99 },
{ name: 'Chicken Shawarma on the Fries', img: '/assets/images/menu/fries/chicken-shawarma.webp', desc: 'Large', price: 14.99 }, { name: 'Loaded Fries', img: '/assets/images/menu/fries/loaded-fries.webp', desc: 'Large', price: 10.99 },
{ name: 'Chicken 65 on the Fries', img: '/assets/images/menu/fries/chicken65.webp', desc: 'Large', price: 14.99 }, { name: 'Gun Powder Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Large', price: 8.49 },
{ name: 'Mutton on the Fries', img: '/assets/images/menu/fries/mutton.webp', desc: 'Large', price: 17.99 }, { name: 'Falafal & Fries', img: '/assets/images/menu/fries/chicken-nuggets.webp', desc: 'Large', price: 12.99 },
{ name: 'Chicken & Fries', img: '/assets/images/menu/fries/chicken-shawarma.webp', desc: 'Large', price: 14.99 },
{ name: 'Chicken 65 & Fries', img: '/assets/images/menu/fries/chicken65.webp', desc: 'Large', price: 15.99 },
// { name: 'Mutton on the Fries', img: '/assets/images/menu/fries/mutton.webp', desc: 'Large', price: 17.99 },
], ],
Dosas: [ Dosas: [
{ name: 'Plain Dosa', img: '/assets/images/menu/dosa/plain-dosa.webp', desc: '', price: 7.99 }, { name: 'Plain Dosa', img: '/assets/images/menu/dosa/plain-dosa.webp', desc: '', price: 7.99 },
{ name: 'Masala Dosa', img: '/assets/images/menu/dosa/masala-dosa.webp', desc: '', price: 9.99 }, { name: 'Masala Dosa', img: '/assets/images/menu/dosa/masala-dosa.webp', desc: '', price: 9.99 },
{ name: 'Ghee Dosa', img: '/assets/images/menu/dosa/ghee dosa.webp', desc: '', price: 8.99 }, { name: 'Ghee Dosa', img: '/assets/images/menu/dosa/ghee dosa.webp', desc: '', price: 8.99 },
{ name: 'Onion Dosa', img: '/assets/images/menu/dosa/onion-dosa.webp', desc: '', price: 8.99 }, { name: 'Onion Masala Dosa', img: '/assets/images/menu/dosa/onion-dosa.webp', desc: '', price: 10.99 },
{ name: 'Ghee Masala Dosa', img: '/assets/images/menu/dosa/ghee-masala-dosa.webp', desc: '', price: 10.99 }, { name: 'Mysore Masala', img: '/assets/images/menu/dosa/mysore-masala-dosa.webp', desc: '', price: 11.99 },
{ name: 'Mysore Masala Dosa', img: '/assets/images/menu/dosa/mysore-masala-dosa.webp', desc: '', price: 10.99 }, { name: 'Cheese Mysore Masala Dosa', img: '/assets/images/menu/dosa/ghee-mysore-masala-dosa.webp', desc: '', price: 12.99 },
{ name: 'Ghee Mysore Masala Dosa', img: '/assets/images/menu/dosa/ghee-mysore-masala-dosa.webp', desc: '', price: 12.99 }, // { name: 'Cheese Dosa', img: '/assets/images/menu/dosa/cheese.webp', desc: '', price: 12.99 },
{ name: 'Cheese Dosa', img: '/assets/images/menu/dosa/cheese.webp', desc: '', price: 12.99 }, { name: 'Ghee Dosa', img: '/assets/images/menu/dosa/ghee-masala-dosa.webp', desc: '', price: 9.99 },
{ name: 'Podi Dosa', img: '/assets/images/menu/dosa/podi-dosa.webp', desc: '', price: 12.99 }, { name: 'Podi Dosa', img: '/assets/images/menu/dosa/podi-dosa.webp', desc: '', price: 9.99 },
{ name: 'Podi Masala Dosa', img: '/assets/images/menu/dosa/podi-masala-dosa.webp', desc: '', price: 12.99 }, { name: 'Podi Masala', img: '/assets/images/menu/dosa/podi-masala-dosa.webp', desc: '', price: 10.99 },
{ name: 'Egg Dosa', img: '/assets/images/menu/dosa/egg-dosa.webp', desc: '', price: 12.99 }, // { name: 'Egg Dosa', img: '/assets/images/menu/dosa/egg-dosa.webp', desc: '', price: 12.99 },
{ name: 'Kal Dosa', img: '/assets/images/menu/dosa/kal-dosa.webp', desc: '', price: 12.99 }, { name: 'Kal Dosa (2 Pcs)', img: '/assets/images/menu/dosa/kal-dosa.webp', desc: '', price: 9.99 },
], ],
Sides: [ Sides: [
{ name: 'Medhu Vada (2 Pcs)', img: '/assets/images/menu/sides/medhu-vada.webp', desc: '', price: 6.99 }, { name: 'Chat Papdi', img: '/assets/images/menu/sides/medhu-vada.webp', desc: '', price: 6.99 },
{ name: 'Classic Aaloo Samosa (2 Pcs)', img: '/assets/images/menu/sides/aaloo-samosa.webp', desc: '', price: 2.49 }, { name: 'Aaloo Samosa (2 Pcs)', img: '/assets/images/menu/sides/aaloo-samosa.webp', desc: '', price: 2.49 },
{ name: 'Chicken Samosa (4 Pcs)', img: '/assets/images/menu/sides/chicken-samosa.webp', desc: '', price: 7.99 }, { name: 'Chicken Samosa (5 Pcs)', img: '/assets/images/menu/sides/chicken-samosa.webp', desc: '', price: 6.99 },
{ name: 'Veg Spring rolls (4 Pcs)', img: '/assets/images/menu/sides/veg-spring-roll.webp', desc: '', price: 6.49 }, { name: 'Veg Spring rolls (6 Pcs)', img: '/assets/images/menu/sides/veg-spring-roll.webp', desc: '', price: 5.49 },
{ name: 'Chicken Spring rolls (4 Pcs)', img: '/assets/images/menu/sides/chicken-spring-roll.webp', desc: '', price: 9.99 }, { name: 'Chicken Spring rolls (6 Pcs)', img: '/assets/images/menu/sides/chicken-spring-roll.webp', desc: '', price: 6.99 },
{ name: 'Medhu Vada (3 Pcs)', img: '/assets/images/menu/sides/medhu-vada.webp', desc: '', price: 6.99 },
{ name: 'Sambar Vada (3 Pcs)', img: '/assets/images/menu/sides/chicken-spring-roll.webp', desc: '', price: 7.99 },
],
Sixty5StreetSpecial: [
{ name: 'Chicken 65 Dry', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 8.99 },
{ name: 'Chicken 65 Wet', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 9.99 },
{ name: 'Chicken Biryani', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 10.99 },
{ name: 'Veg Kothu Parotta', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 10.99 },
{ name: 'Chicken Kothu Parotta', img: '/assets/images/resource/menu-3.jpg', desc: '', price: 12.99 },
], ],
HotDrinks: [ HotDrinks: [
{ name: 'Masala Tea', img: '/assets/images/menu/hot-drinks/masala-tea.webp', desc: '', price: 2.99 }, { name: 'Masala Chai', img: '/assets/images/menu/hot-drinks/masala-tea.webp', desc: '', price: 2.99 },
{ name: 'Filter Coffee', img: '/assets/images/menu/hot-drinks/filter-coffee.webp', desc: '', price: 3.49 }, { name: 'Filter Coffee', img: '/assets/images/menu/hot-drinks/filter-coffee.webp', desc: '', price: 3.49 },
], ],
}; };