Merge version_2_1782035859115 into main #1

Merged
bender merged 1 commits from version_2_1782035859115 into main 2026-06-21 09:59:44 +00:00
9 changed files with 361 additions and 228 deletions

View File

@@ -1,239 +1,35 @@
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly. Non-block content (wrappers, non-inlinable sections) is
// preserved inline; extracted section blocks become <XSection/> refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import OfferBannerSection from './HomePage/sections/OfferBanner';
import RoomsSection from './HomePage/sections/Rooms';
import AmenitiesSection from './HomePage/sections/Amenities';
import ReviewsSection from './HomePage/sections/Reviews';
import AboutSection from './HomePage/sections/About';
import BookingSection from './HomePage/sections/Booking';
import LocationSection from './HomePage/sections/Location';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboard
tag="4.2 Star Rated Property"
title="Your Perfect Erode Stay Awaits Here"
description="Experience warm hospitality and modern comfort at Itsy Hotels Everest Leela Residency. Enjoy complimentary breakfast, pool access, and seamless service—all at unbeatable rates."
primaryButton={{
text: "Book Your Room Now",
href: "#booking",
}}
secondaryButton={{
text: "View Amenities",
href: "#amenities",
}}
imageSrc="http://img.b2bpic.net/free-photo/outdoor-swimming-pool_1203-2831.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="offer-banner" data-section="offer-banner">
<SectionErrorBoundary name="offer-banner">
<SocialProofMarquee
tag="Limited Time Offer"
title="Exclusive Launch Specials"
description="Enjoy 67% off your first stay and earn ₹500 cashback."
names={[
"67% OFF FIRST STAY",
"CODE: FIRSTSTAY",
"₹500 CASHBACK",
"FREE BREAKFAST INCLUDED",
"FREE CANCELLATION",
"4.2 STAR RATED",
]}
/>
</SectionErrorBoundary>
</div>
<OfferBannerSection />
<div id="rooms" data-section="rooms">
<SectionErrorBoundary name="rooms">
<PricingCenteredCards
tag="Accommodations"
title="Find Your Comfort Zone"
description="Choose from our range of meticulously designed rooms."
plans={[
{
tag: "Standard",
price: "₹1,808",
description: "Essential comfort for business travelers.",
features: [
"Complimentary Breakfast",
"Free WiFi",
"24/7 Room Service",
],
primaryButton: {
text: "Book Standard",
href: "#booking",
},
},
{
tag: "Deluxe",
price: "₹2,499",
description: "Enhanced comfort for weekend getaways.",
features: [
"Pool Access",
"Complimentary Breakfast",
"Free WiFi",
"Laundry Service",
],
primaryButton: {
text: "Book Deluxe",
href: "#booking",
},
},
{
tag: "Suite",
price: "₹3,250",
description: "Spacious luxury for an elevated stay.",
features: [
"Kitchenette",
"Pool Access",
"Breakfast Included",
"Free WiFi",
"Priority Service",
],
primaryButton: {
text: "Book Suite",
href: "#booking",
},
},
]}
/>
</SectionErrorBoundary>
</div>
<RoomsSection />
<div id="amenities" data-section="amenities">
<SectionErrorBoundary name="amenities">
<FeaturesArrowCards
tag="Amenities"
title="Everything You Need for a Perfect Stay"
description="We ensure every aspect of your visit is comfortable and worry-free."
items={[
{
title: "Free WiFi",
tags: [
"High-speed",
],
imageSrc: "http://img.b2bpic.net/free-photo/top-view-wi-fi-router-with-smartphone-laptop_23-2148779232.jpg",
},
{
title: "Complimentary Breakfast",
tags: [
"Daily served",
],
imageSrc: "http://img.b2bpic.net/free-photo/woman-having-cup-tea-breakfast-foods_114579-2301.jpg",
},
{
title: "Swimming Pool",
tags: [
"Adult & Kids",
],
imageSrc: "http://img.b2bpic.net/free-photo/infinity-pool_1385-771.jpg",
},
{
title: "Laundry Service",
tags: [
"Same-day",
],
imageSrc: "http://img.b2bpic.net/free-photo/garment-concept-with-copy-space_1194-641493.jpg",
},
{
title: "24/7 Room Service",
tags: [
"Always on",
],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-romantic-breakfast-bed-arrangement_23-2150956522.jpg",
},
{
title: "Kitchenette Rooms",
tags: [
"Fully equipped",
],
imageSrc: "http://img.b2bpic.net/free-photo/abstract-blur-hotel-interior_1203-8508.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<AmenitiesSection />
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialRatingCards
tag="Guest Testimonials"
title="What Our Guests Say"
description="Trusted by hundreds of happy travelers in Erode."
testimonials={[
{
name: "Rajesh K.",
role: "Business Traveler",
quote: "Excellent stay, very close to the market.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-man-white-shirt_23-2152009539.jpg",
},
{
name: "Priya S.",
role: "Family Guest",
quote: "The pool was fantastic and breakfast was fresh.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-mother-daughter-laughing-together-outdoors_1153-7512.jpg",
},
{
name: "Anil M.",
role: "Weekend Visitor",
quote: "Smooth check-in, spacious and clean rooms.",
rating: 4,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-happy-young-african-man-with-stylish-haircut-looking_171337-1308.jpg",
},
{
name: "Sunita R.",
role: "First-time Visitor",
quote: "Great hospitality, value for money indeed.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-pretty-fashionable-woman-making-selfie-austrian-mountains_291049-115.jpg",
},
{
name: "Vikram V.",
role: "Traveler",
quote: "Very comfortable experience overall.",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-man-holding-laptop_23-2149097899.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ReviewsSection />
<LocationSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTextSplit
title="Welcome to Everest Leela Residency"
descriptions={[
"Located in the heart of Erode, Itsy Hotels Everest Leela Residency combines modern architectural elegance with warm Tamil hospitality.",
"We offer guests a serene retreat whether you are traveling for business, pleasure, or visiting family, ensuring top-tier service and comfort in every detail.",
"From our sparkling pool facilities to the well-appointed rooms, we take pride in being your home away from home in Erode.",
]}
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="booking" data-section="booking">
<SectionErrorBoundary name="booking">
<ContactCta
tag="Book Now"
text="Ready to experience comfort? Book directly today and claim your discount."
primaryButton={{
text: "Book Now",
href: "#booking",
}}
secondaryButton={{
text: "Contact Support",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<BookingSection />
</>
);
}

View File

@@ -0,0 +1,23 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTextSplit
title="Welcome to Everest Leela Residency"
descriptions={[
"Located in the heart of Erode, Itsy Hotels Everest Leela Residency combines modern architectural elegance with warm Tamil hospitality.",
"We offer guests a serene retreat whether you are traveling for business, pleasure, or visiting family, ensuring top-tier service and comfort in every detail.",
"From our sparkling pool facilities to the well-appointed rooms, we take pride in being your home away from home in Erode.",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "amenities" section.
import React from 'react';
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AmenitiesSection(): React.JSX.Element {
return (
<div id="amenities" data-section="amenities">
<SectionErrorBoundary name="amenities">
<FeaturesArrowCards
tag="Amenities"
title="Everything You Need for a Perfect Stay"
description="We ensure every aspect of your visit is comfortable and worry-free."
items={[
{
title: "Free WiFi",
tags: [
"High-speed",
],
imageSrc: "http://img.b2bpic.net/free-photo/top-view-wi-fi-router-with-smartphone-laptop_23-2148779232.jpg",
},
{
title: "Complimentary Breakfast",
tags: [
"Daily served",
],
imageSrc: "http://img.b2bpic.net/free-photo/woman-having-cup-tea-breakfast-foods_114579-2301.jpg",
},
{
title: "Swimming Pool",
tags: [
"Adult & Kids",
],
imageSrc: "http://img.b2bpic.net/free-photo/infinity-pool_1385-771.jpg",
},
{
title: "Laundry Service",
tags: [
"Same-day",
],
imageSrc: "http://img.b2bpic.net/free-photo/garment-concept-with-copy-space_1194-641493.jpg",
},
{
title: "24/7 Room Service",
tags: [
"Always on",
],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-romantic-breakfast-bed-arrangement_23-2150956522.jpg",
},
{
title: "Kitchenette Rooms",
tags: [
"Fully equipped",
],
imageSrc: "http://img.b2bpic.net/free-photo/abstract-blur-hotel-interior_1203-8508.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "booking" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function BookingSection(): React.JSX.Element {
return (
<div id="booking" data-section="booking">
<SectionErrorBoundary name="booking">
<ContactCta
tag="Book Now"
text="Ready to experience comfort? Book directly today and claim your discount."
primaryButton={{
text: "Book Now",
href: "#booking",
}}
secondaryButton={{
text: "Contact Support",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboard
tag="4.2 Star Rated Property"
title="Your Perfect Erode Stay Awaits Here"
description="Experience warm hospitality and modern comfort at Itsy Hotels Everest Leela Residency. Enjoy complimentary breakfast, pool access, and seamless service—all at unbeatable rates."
primaryButton={{
text: "Book Your Room Now",
href: "#booking",
}}
secondaryButton={{
text: "View Amenities",
href: "#amenities",
}}
imageSrc="http://img.b2bpic.net/free-photo/outdoor-swimming-pool_1203-2831.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,78 @@
import React from 'react';
import { MapPin, Navigation, Car, Train } from 'lucide-react';
import ScrollReveal from '@/components/ui/ScrollReveal';
export default function LocationSection() {
return (
<div data-webild-section="location" id="location">
<section className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<ScrollReveal variant="fade">
<div className="space-y-6">
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-primary-cta/10 text-primary-cta text-sm font-medium">
<MapPin className="w-4 h-4" />
<span>Prime Location</span>
</div>
<h2 className="text-4xl font-bold text-foreground">
Easy to Find, Hard to Leave
</h2>
<p className="text-lg text-accent">
Located in the heart of Erode, Itsy Hotels Everest Leela Residency offers easy access to major transit hubs and local landmarks.
</p>
<div className="space-y-4 pt-4">
<div className="flex items-start gap-4 p-4 rounded-xl card">
<div className="p-3 rounded-lg bg-primary-cta/10 text-primary-cta">
<Train className="w-6 h-6" />
</div>
<div>
<h3 className="font-semibold text-foreground">Erode Railway Station</h3>
<p className="text-sm text-accent">Just a short drive away, making your arrival and departure seamless.</p>
</div>
</div>
<div className="flex items-start gap-4 p-4 rounded-xl card">
<div className="p-3 rounded-lg bg-primary-cta/10 text-primary-cta">
<Car className="w-6 h-6" />
</div>
<div>
<h3 className="font-semibold text-foreground">Bus Stand</h3>
<p className="text-sm text-accent">Easily accessible, connecting you to neighboring cities.</p>
</div>
</div>
<div className="flex items-start gap-4 p-4 rounded-xl card">
<div className="p-3 rounded-lg bg-primary-cta/10 text-primary-cta">
<Navigation className="w-6 h-6" />
</div>
<div>
<h3 className="font-semibold text-foreground">Local Landmarks</h3>
<p className="text-sm text-accent">Close to popular restaurants, shopping areas, and business districts.</p>
</div>
</div>
</div>
</div>
</ScrollReveal>
<ScrollReveal variant="fade" delay={0.2}>
<div className="relative aspect-square lg:aspect-auto lg:h-[600px] rounded-2xl overflow-hidden card border-4 border-card">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3911.896791242337!2d77.7138!3d11.3424!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3ba96f46762f4671%3A0xd97da6e3cb645ea9!2sErode%2C%20Tamil%20Nadu!5e0!3m2!1sen!2sin!4v1715000000000!5m2!1sen!2sin"
width="100%"
height="100%"
style={{ border: 0 }}
allowFullScreen
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
className="absolute inset-0 w-full h-full"
title="Hotel Location Map"
></iframe>
</div>
</ScrollReveal>
</div>
</div>
</section>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "offer-banner" section.
import React from 'react';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function OfferBannerSection(): React.JSX.Element {
return (
<div id="offer-banner" data-section="offer-banner">
<SectionErrorBoundary name="offer-banner">
<SocialProofMarquee
tag="Limited Time Offer"
title="Exclusive Launch Specials"
description="Enjoy 67% off your first stay and earn ₹500 cashback."
names={[
"67% OFF FIRST STAY",
"CODE: FIRSTSTAY",
"₹500 CASHBACK",
"FREE BREAKFAST INCLUDED",
"FREE CANCELLATION",
"4.2 STAR RATED",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "reviews" section.
import React from 'react';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ReviewsSection(): React.JSX.Element {
return (
<div id="reviews" data-section="reviews">
<SectionErrorBoundary name="reviews">
<TestimonialRatingCards
tag="Guest Testimonials"
title="What Our Guests Say"
description="Trusted by hundreds of happy travelers in Erode."
testimonials={[{"rating":5,"imageSrc":"http://img.b2bpic.net/free-photo/portrait-smiling-man-white-shirt_23-2152009539.jpg","quote":"It was a pleasant and amazing stay, ambience is very good and staffs approaching very attractive and helpful!..","name":"Arunkumar R","role":"Couple"},{"name":"Dhinesh R","imageSrc":"http://img.b2bpic.net/free-photo/close-up-portrait-happy-young-african-man-with-stylish-haircut-looking_171337-1308.jpg","quote":"Exellent hotel in this budget in prime location.. Rooms were very tidy and neat. Service representative Mr.Prabhakar gave very supportive service and calm answers for all requests.","role":"Guest","rating":5},{"role":"Local Guide","name":"om jey (Ramya)","imageSrc":"http://img.b2bpic.net/free-photo/happy-mother-daughter-laughing-together-outdoors_1153-7512.jpg","quote":"Very clean rooms and bed linens. Not far from Railway station. Good restaurants near by for food.","rating":5},{"role":"Local Guide","imageSrc":"http://img.b2bpic.net/free-photo/close-up-smiley-man-holding-laptop_23-2149097899.jpg","quote":"Very good location best place to rest and refresh . Gr8 and accessible location.. friendly and flexible service . Overall gr8 experience.","name":"Mohan Kumar Mutharasan","rating":5},{"role":"Family","quote":"Best service. Good rooms. Good employee's.","imageSrc":"http://img.b2bpic.net/free-photo/young-pretty-fashionable-woman-making-selfie-austrian-mountains_291049-115.jpg","name":"rajendran s","rating":5}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,67 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "rooms" section.
import React from 'react';
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function RoomsSection(): React.JSX.Element {
return (
<div id="rooms" data-section="rooms">
<SectionErrorBoundary name="rooms">
<PricingCenteredCards
tag="Accommodations"
title="Find Your Comfort Zone"
description="Choose from our range of meticulously designed rooms."
plans={[
{
tag: "Standard",
price: "₹1,808",
description: "Essential comfort for business travelers.",
features: [
"Complimentary Breakfast",
"Free WiFi",
"24/7 Room Service",
],
primaryButton: {
text: "Book Standard",
href: "#booking",
},
},
{
tag: "Deluxe",
price: "₹2,499",
description: "Enhanced comfort for weekend getaways.",
features: [
"Pool Access",
"Complimentary Breakfast",
"Free WiFi",
"Laundry Service",
],
primaryButton: {
text: "Book Deluxe",
href: "#booking",
},
},
{
tag: "Suite",
price: "₹3,250",
description: "Spacious luxury for an elevated stay.",
features: [
"Kitchenette",
"Pool Access",
"Breakfast Included",
"Free WiFi",
"Priority Service",
],
primaryButton: {
text: "Book Suite",
href: "#booking",
},
},
]}
/>
</SectionErrorBoundary>
</div>
);
}