Merge version_2 into main #4

Merged
bender merged 2 commits from version_2 into main 2026-03-05 16:37:52 +00:00
2 changed files with 181 additions and 72 deletions

View File

@@ -1,54 +1,20 @@
import type { Metadata } from "next";
import { DM_Sans } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const dmSans = DM_Sans({
variable: "--font-dm-sans", subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Sun Hotels - Multi-Cuisine Restaurant Udumalaipettai", description: "Authentic multi-cuisine dining at Sun Hotels, Udumalaipettai. Specializing in Chettinad cuisine, spacious AC dining, free parking, and exceptional service. Reserve your table today.", keywords: "restaurant Udumalaipettai, Chettinad cuisine, multi-cuisine restaurant, authentic food, family dining, best restaurant Tamil Nadu", metadataBase: new URL("https://sunhotelsudumalaipettai.com"),
alternates: {
canonical: "https://sunhotelsudumalaipettai.com"
},
openGraph: {
title: "Sun Hotels - Authentic Multi-Cuisine Restaurant", description: "Experience premium multi-cuisine dining with authentic Chettinad specialties, spacious ambience, and exceptional service at Sun Hotels in Udumalaipettai.", url: "https://sunhotelsudumalaipettai.com", siteName: "Sun Hotels", images: [
{
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AX9aeiPEMX5CxW1d7qMul1H4jm/uploaded-1772728290259-kzbva66l.jpg", alt: "Sun Hotels restaurant exterior and dining experience"
}
],
type: "website"
},
twitter: {
card: "summary_large_image", title: "Sun Hotels - Udumalaipettai", description: "Multi-cuisine restaurant featuring authentic Chettinad dishes, spacious dining, and exceptional hospitality.", images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AX9aeiPEMX5CxW1d7qMul1H4jm/uploaded-1772728290259-kzbva66l.jpg"]
},
robots: {
index: true,
follow: true
}
};
title: "Sun Hotels - Multi-Cuisine Restaurant", description: "Authentic taste and comfortable dining at Sun Hotels, located at UKPM Square, Udumalaipettai. Experience Chettinad and multi-cuisine specialties."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${dmSans.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={inter.className}>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1416,7 +1382,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -1,5 +1,6 @@
"use client";
import { useState } from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroBillboardTestimonial from "@/components/sections/hero/HeroBillboardTestimonial";
@@ -25,9 +26,35 @@ import {
Users,
Flame,
Star,
CheckCircle,
Calendar,
Clock,
Users as GuestIcon,
} from "lucide-react";
export default function SunHotelsLanding() {
const [reservationConfirmation, setReservationConfirmation] = useState<{
show: boolean;
data: Record<string, string> | null;
}>({
show: false,
data: null,
});
const handleReservationSubmit = (data: Record<string, string>) => {
setReservationConfirmation({
show: true,
data,
});
};
const closeConfirmation = () => {
setReservationConfirmation({
show: false,
data: null,
});
};
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
@@ -41,6 +68,91 @@ export default function SunHotelsLanding() {
secondaryButtonStyle="layered"
headingFontWeight="bold"
>
{reservationConfirmation.show && reservationConfirmation.data && (
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4">
<div className="w-full max-w-md rounded-3xl bg-white p-8 shadow-2xl">
<div className="flex justify-center mb-6">
<CheckCircle className="w-16 h-16 text-green-500" />
</div>
<h2 className="text-2xl font-bold text-center mb-2 text-gray-900">
Reservation Confirmed!
</h2>
<p className="text-center text-gray-600 mb-6">
Thank you for booking with us. Your table is reserved.
</p>
<div className="bg-gray-50 rounded-2xl p-6 space-y-4 mb-6">
<div className="flex items-start gap-3">
<span className="text-gray-400 mt-1">👤</span>
<div>
<p className="text-sm text-gray-500">Guest Name</p>
<p className="font-semibold text-gray-900">
{reservationConfirmation.data.name}
</p>
</div>
</div>
<div className="flex items-start gap-3">
<Calendar className="w-5 h-5 text-gray-400 mt-0.5" />
<div>
<p className="text-sm text-gray-500">Date</p>
<p className="font-semibold text-gray-900">
{new Date(reservationConfirmation.data.date).toLocaleDateString(
"en-US", {
weekday: "long", year: "numeric", month: "long", day: "numeric"}
)}
</p>
</div>
</div>
<div className="flex items-start gap-3">
<Clock className="w-5 h-5 text-gray-400 mt-0.5" />
<div>
<p className="text-sm text-gray-500">Time</p>
<p className="font-semibold text-gray-900">
{reservationConfirmation.data.time}
</p>
</div>
</div>
<div className="flex items-start gap-3">
<GuestIcon className="w-5 h-5 text-gray-400 mt-0.5" />
<div>
<p className="text-sm text-gray-500">Number of Guests</p>
<p className="font-semibold text-gray-900">
{reservationConfirmation.data.guests} {reservationConfirmation.data.guests === "1" ? "guest" : "guests"}
</p>
</div>
</div>
<div className="flex items-start gap-3">
<Phone className="w-5 h-5 text-gray-400 mt-0.5" />
<div>
<p className="text-sm text-gray-500">Contact Number</p>
<p className="font-semibold text-gray-900">
{reservationConfirmation.data.phone}
</p>
</div>
</div>
{reservationConfirmation.data.specialRequest && (
<div className="border-t border-gray-200 pt-4 mt-4">
<p className="text-sm text-gray-500 mb-2">Special Requests</p>
<p className="text-sm text-gray-700">
{reservationConfirmation.data.specialRequest}
</p>
</div>
)}
</div>
<div className="space-y-3">
<p className="text-sm text-gray-600 text-center">
A confirmation has been sent to your phone number. We look forward to serving you!
</p>
<button
onClick={closeConfirmation}
className="w-full bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 text-white font-semibold py-3 rounded-full transition-all"
>
Close
</button>
</div>
</div>
</div>
)}
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Sun Hotels"
@@ -73,16 +185,20 @@ export default function SunHotelsLanding() {
testimonials={[
{
name: "Arun Shankar Ezhilarasan", handle: "Regular Guest", testimonial: "Options of cuisine, ambience, and service were great.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=1", imageAlt: "Arun Shankar profile picture"},
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=1", imageAlt: "Arun Shankar profile picture"
},
{
name: "Shivaraj Babu", handle: "Tourist", testimonial: "Highly recommended multi-cuisine AC restaurant in Udumalpet.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=2", imageAlt: "Shivaraj Babu profile picture"},
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=2", imageAlt: "Shivaraj Babu profile picture"
},
{
name: "Arun Babu", handle: "Family Diner", testimonial: "Wonderful food experience and cordial staff service.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=3", imageAlt: "Arun Babu profile picture"},
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=3", imageAlt: "Arun Babu profile picture"
},
{
name: "Local Guest", handle: "Regular Customer", testimonial: "Best place for authentic Chettinad cuisine in town.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=4", imageAlt: "Local guest profile picture"},
imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=4", imageAlt: "Local guest profile picture"
},
]}
testimonialRotationInterval={5000}
useInvertedBackground={true}
@@ -116,22 +232,28 @@ export default function SunHotelsLanding() {
features={[
{
icon: Coffee,
title: "Brunch & Breakfast", description: "Start your day with our traditional and contemporary breakfast options"},
title: "Brunch & Breakfast", description: "Start your day with our traditional and contemporary breakfast options"
},
{
icon: Sun,
title: "Lunch Specials", description: "Authentic Chettinad and multi-cuisine meals with generous portions"},
title: "Lunch Specials", description: "Authentic Chettinad and multi-cuisine meals with generous portions"
},
{
icon: Moon,
title: "Dinner Experience", description: "Fine dining atmosphere with signature dishes and premium service"},
title: "Dinner Experience", description: "Fine dining atmosphere with signature dishes and premium service"
},
{
icon: Users,
title: "Group & Catering", description: "Private dining rooms and catering services for events and celebrations"},
title: "Group & Catering", description: "Private dining rooms and catering services for events and celebrations"
},
{
icon: Truck,
title: "Home Delivery", description: "Quick and safe delivery of your favorite dishes to your doorstep"},
title: "Home Delivery", description: "Quick and safe delivery of your favorite dishes to your doorstep"
},
{
icon: Star,
title: "Takeaway & Pickup", description: "Convenient pickup options for on-the-go dining"},
title: "Takeaway & Pickup", description: "Convenient pickup options for on-the-go dining"
},
]}
animationType="blur-reveal"
textboxLayout="default"
@@ -148,17 +270,23 @@ export default function SunHotelsLanding() {
tagAnimation="slide-up"
products={[
{
id: "mutton-vadachatty", name: "Mutton Vadachatty Soru", price: "₹280", imageSrc: "http://img.b2bpic.net/free-photo/anise-pepper-near-delicious-dish_23-2147894735.jpg", imageAlt: "Mutton Vadachatty Soru - Must-try specialty"},
id: "mutton-vadachatty", name: "Mutton Vadachatty Soru", price: "₹280", imageSrc: "http://img.b2bpic.net/free-photo/anise-pepper-near-delicious-dish_23-2147894735.jpg", imageAlt: "Mutton Vadachatty Soru - Must-try specialty"
},
{
id: "bun-parotta", name: "Bun Parotta", price: "₹50", imageSrc: "http://img.b2bpic.net/free-photo/kutab-served-with-pomegranate-seeds-yogurt-pottery-jar_114579-1951.jpg", imageAlt: "Soft and fluffy Bun Parotta"},
id: "bun-parotta", name: "Bun Parotta", price: "₹50", imageSrc: "http://img.b2bpic.net/free-photo/kutab-served-with-pomegranate-seeds-yogurt-pottery-jar_114579-1951.jpg", imageAlt: "Soft and fluffy Bun Parotta"
},
{
id: "chettinad-chicken", name: "Chettinad Chicken Curry", price: "₹240", imageSrc: "http://img.b2bpic.net/free-photo/massaman-curry-frying-pan-with-spices-cement-floor_1150-20777.jpg", imageAlt: "Authentic Chettinad Chicken Curry"},
id: "chettinad-chicken", name: "Chettinad Chicken Curry", price: "₹240", imageSrc: "http://img.b2bpic.net/free-photo/massaman-curry-frying-pan-with-spices-cement-floor_1150-20777.jpg", imageAlt: "Authentic Chettinad Chicken Curry"
},
{
id: "chicken-biryani", name: "Chicken Biryani", price: "₹200", imageSrc: "http://img.b2bpic.net/free-psd/delicious-chicken-biryani-bowl-with-aromatic-basmati-rice-spices_84443-72497.jpg", imageAlt: "Fragrant Chicken Biryani"},
id: "chicken-biryani", name: "Chicken Biryani", price: "₹200", imageSrc: "http://img.b2bpic.net/free-psd/delicious-chicken-biryani-bowl-with-aromatic-basmati-rice-spices_84443-72497.jpg", imageAlt: "Fragrant Chicken Biryani"
},
{
id: "fish-fry", name: "Fish Fry", price: "₹220", imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-table_140725-1351.jpg", imageAlt: "Crispy Fish Fry"},
id: "fish-fry", name: "Fish Fry", price: "₹220", imageSrc: "http://img.b2bpic.net/free-photo/fried-fish-table_140725-1351.jpg", imageAlt: "Crispy Fish Fry"
},
{
id: "veg-meals", name: "Vegetarian Meals", price: "₹150", imageSrc: "http://img.b2bpic.net/free-photo/top-view-bean-soup-called-merci-with-greens-seasonings-white-surface-soup-meal-food-vegetable_140725-74420.jpg", imageAlt: "Wholesome Vegetarian Meals"},
id: "veg-meals", name: "Vegetarian Meals", price: "₹150", imageSrc: "http://img.b2bpic.net/free-photo/top-view-bean-soup-called-merci-with-greens-seasonings-white-surface-soup-meal-food-vegetable_140725-74420.jpg", imageAlt: "Wholesome Vegetarian Meals"
},
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
@@ -176,17 +304,23 @@ export default function SunHotelsLanding() {
tagAnimation="slide-up"
testimonials={[
{
id: "1", name: "Arun Shankar Ezhilarasan", handle: "Regular Guest", testimonial: "Options of cuisine, ambience, and service were great. Best place to celebrate with family.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=5", imageAlt: "Arun Shankar Ezhilarasan avatar"},
id: "1", name: "Arun Shankar Ezhilarasan", handle: "Regular Guest", testimonial: "Options of cuisine, ambience, and service were great. Best place to celebrate with family.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=5", imageAlt: "Arun Shankar Ezhilarasan avatar"
},
{
id: "2", name: "Shivaraj Babu", handle: "Tourist", testimonial: "Highly recommended multi-cuisine AC restaurant in Udumalpet. Must visit!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=6", imageAlt: "Shivaraj Babu avatar"},
id: "2", name: "Shivaraj Babu", handle: "Tourist", testimonial: "Highly recommended multi-cuisine AC restaurant in Udumalpet. Must visit!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=6", imageAlt: "Shivaraj Babu avatar"
},
{
id: "3", name: "Arun Babu", handle: "Family Diner", testimonial: "Wonderful food experience and cordial staff service. Yogesh is exceptional!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=7", imageAlt: "Arun Babu avatar"},
id: "3", name: "Arun Babu", handle: "Family Diner", testimonial: "Wonderful food experience and cordial staff service. Yogesh is exceptional!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=7", imageAlt: "Arun Babu avatar"
},
{
id: "4", name: "Priya Kumari", handle: "Business Group", testimonial: "Spacious dining hall perfect for meetings. Great parking and authentic flavors.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-home_23-2149412549.jpg?_wi=1", imageAlt: "Priya Kumari avatar"},
id: "4", name: "Priya Kumari", handle: "Business Group", testimonial: "Spacious dining hall perfect for meetings. Great parking and authentic flavors.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-home_23-2149412549.jpg?_wi=1", imageAlt: "Priya Kumari avatar"
},
{
id: "5", name: "Vikram Singh", handle: "Solo Traveler", testimonial: "Excellent service and clean environment. Mutton Vadachatty is a must-try!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=8", imageAlt: "Vikram Singh avatar"},
id: "5", name: "Vikram Singh", handle: "Solo Traveler", testimonial: "Excellent service and clean environment. Mutton Vadachatty is a must-try!", imageSrc: "http://img.b2bpic.net/free-photo/smiling-millennial-man-looking-camera-cafe-headshot-portrait_1163-5163.jpg?_wi=8", imageAlt: "Vikram Singh avatar"
},
{
id: "6", name: "Deepa Nair", handle: "Local Resident", testimonial: "Been coming here for years. Consistency in quality and service is unmatched.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-home_23-2149412549.jpg?_wi=2", imageAlt: "Deepa Nair avatar"},
id: "6", name: "Deepa Nair", handle: "Local Resident", testimonial: "Been coming here for years. Consistency in quality and service is unmatched.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-home_23-2149412549.jpg?_wi=2", imageAlt: "Deepa Nair avatar"
},
]}
animationType="blur-reveal"
textboxLayout="default"
@@ -216,6 +350,7 @@ export default function SunHotelsLanding() {
imageAlt="Elegant restaurant setting for reservations"
mediaAnimation="slide-up"
mediaPosition="right"
onSubmit={handleReservationSubmit}
/>
</div>
@@ -228,17 +363,23 @@ export default function SunHotelsLanding() {
tagAnimation="slide-up"
faqs={[
{
id: "location", title: "How to Find Us", content: "<strong>Sun Hotels</strong><br/>UKPM Square, 281, Palani Rd, Gandhi Nagar<br/>Udumalaipettai, Tamil Nadu 642154, India<br/><br/>📍 Easy to locate in the heart of Udumalaipettai<br/>🅿️ Large and convenient parking area"},
id: "location", title: "How to Find Us", content: "<strong>Sun Hotels</strong><br/>UKPM Square, 281, Palani Rd, Gandhi Nagar<br/>Udumalaipettai, Tamil Nadu 642154, India<br/><br/>📍 Easy to locate in the heart of Udumalaipettai<br/>🅿️ Large and convenient parking area"
},
{
id: "parking", title: "Parking Options", content: "We offer <strong>free parking</strong> for all our guests in a spacious lot adjacent to the restaurant. We also have paid parking available for large groups and events. Easy accessibility for all vehicle types."},
id: "parking", title: "Parking Options", content: "We offer <strong>free parking</strong> for all our guests in a spacious lot adjacent to the restaurant. We also have paid parking available for large groups and events. Easy accessibility for all vehicle types."
},
{
id: "accessibility", title: "Wheelchair Accessibility", content: "✓ Wheelchair accessible entrance<br/>✓ Accessible seating arrangements<br/>✓ Wheelchair accessible parking spaces<br/>✓ Wheelchair accessible restrooms<br/><br/>We welcome all guests and are committed to providing an inclusive dining experience."},
id: "accessibility", title: "Wheelchair Accessibility", content: "✓ Wheelchair accessible entrance<br/>✓ Accessible seating arrangements<br/>✓ Wheelchair accessible parking spaces<br/>✓ Wheelchair accessible restrooms<br/><br/>We welcome all guests and are committed to providing an inclusive dining experience."
},
{
id: "hours", title: "Hours & Contacts", content: "<strong>Hours:</strong> Open from 10:00 AM until 11:00 PM<br/><br/><strong>Contact:</strong><br/>📞 Phone: +91 97877 47875<br/>💬 WhatsApp: +91 97877 47875<br/><br/>Call ahead to reserve your table or place an order."},
id: "hours", title: "Hours & Contacts", content: "<strong>Hours:</strong> Open from 10:00 AM until 11:00 PM<br/><br/><strong>Contact:</strong><br/>📞 Phone: +91 97877 47875<br/>💬 WhatsApp: +91 97877 47875<br/><br/>Call ahead to reserve your table or place an order."
},
{
id: "atmosphere", title: "Dining Atmosphere", content: "🌡️ <strong>Air-Conditioned</strong> comfortable environment<br/>👨‍👩‍👧 <strong>Family-Friendly</strong> space perfect for all ages<br/>💼 <strong>Business-Ready</strong> with private dining options<br/>🎉 <strong>Event-Capable</strong> with catering services"},
id: "atmosphere", title: "Dining Atmosphere", content: "🌡️ <strong>Air-Conditioned</strong> comfortable environment<br/>👨‍👩‍👧 <strong>Family-Friendly</strong> space perfect for all ages<br/>💼 <strong>Business-Ready</strong> with private dining options<br/>🎉 <strong>Event-Capable</strong> with catering services"
},
{
id: "crowd", title: "Who Visits Us", content: "👨‍👩‍👧‍👦 <strong>Families</strong> enjoying quality time together<br/>🎒 <strong>Tourists</strong> exploring local flavors<br/>👥 <strong>Groups</strong> celebrating special occasions<br/>💼 <strong>Business Diners</strong> for meetings and events<br/>🚶 <strong>Solo Diners</strong> looking for authentic cuisine"},
id: "crowd", title: "Who Visits Us", content: "👨‍👩‍👧‍👦 <strong>Families</strong> enjoying quality time together<br/>🎒 <strong>Tourists</strong> exploring local flavors<br/>👥 <strong>Groups</strong> celebrating special occasions<br/>💼 <strong>Business Diners</strong> for meetings and events<br/>🚶 <strong>Solo Diners</strong> looking for authentic cuisine"
},
]}
faqsAnimation="blur-reveal"
textboxLayout="default"
@@ -253,13 +394,16 @@ export default function SunHotelsLanding() {
socialLinks={[
{
icon: Phone,
href: "tel:+919787747875", ariaLabel: "Call Sun Hotels"},
href: "tel:+919787747875", ariaLabel: "Call Sun Hotels"
},
{
icon: MessageCircle,
href: "https://wa.me/919787747875", ariaLabel: "WhatsApp Sun Hotels"},
href: "https://wa.me/919787747875", ariaLabel: "WhatsApp Sun Hotels"
},
{
icon: MapPin,
href: "https://maps.google.com/?q=Sun+Hotels+Udumalaipettai", ariaLabel: "View on Google Maps"},
href: "https://maps.google.com/?q=Sun+Hotels+Udumalaipettai", ariaLabel: "View on Google Maps"
},
]}
/>
</div>