4 Commits

Author SHA1 Message Date
4178360313 Merge version_3_1781197176584 into main
Merge version_3_1781197176584 into main
2026-06-11 17:00:45 +00:00
kudinDmitriyUp
738694ab88 Bob AI: Changed theme colors to green. 2026-06-11 17:00:09 +00:00
c1a6d96082 Merge version_2_1781197042843 into main
Merge version_2_1781197042843 into main
2026-06-11 16:58:38 +00:00
kudinDmitriyUp
fb9d05c454 Bob AI: Change theme to red 2026-06-11 16:57:58 +00:00
11 changed files with 389 additions and 285 deletions

View File

@@ -8,12 +8,12 @@
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ffdf7d;
--primary-cta-text: #0a0a0a;
--primary-cta: #16a34a;
--primary-cta-text: #ffffff;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffff;
--accent: #b8860b;
--background-accent: #8b6914;
--accent: #15803d;
--background-accent: #14532d;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,287 +1,30 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
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; this shell only fixes render order.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import GallerySection from './HomePage/sections/Gallery';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import SocialProofSection from './HomePage/sections/SocialProof';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="The Grand Oasis Hotel"
description="Experience unparalleled luxury and comfort. Your perfect escape awaits amidst breathtaking views and world-class service."
primaryButton={{
text: "Book Your Stay",
href: "#contact",
}}
secondaryButton={{
text: "Explore Rooms",
href: "#gallery",
}}
imageSrc="https://images.pexels.com/photos/10603648/pexels-photo-10603648.jpeg?auto=compress&cs=tinysrgb&h=650&w=940"
/>
</SectionErrorBoundary>
</div>
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Philosophy"
quote="Where every moment is crafted to perfection, ensuring an unforgettable stay tailored to your desires."
author="Isabella Chen"
role="General Manager, The Grand Oasis"
imageSrc="https://images.pexels.com/photos/18628697/pexels-photo-18628697.jpeg?auto=compress&cs=tinysrgb&h=650&w=940"
/>
</SectionErrorBoundary>
</div>
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Hotel Amenities"
title="Indulge in Unmatched Comfort"
description="From exquisite dining to serene spa treatments, every amenity is designed for your ultimate relaxation and enjoyment."
items={[
{
tag: "Relaxation",
title: "Heated Infinity Pool",
description: "Swim under the stars in our heated infinity pool, offering panoramic views of the city skyline.",
primaryButton: {
text: "Discover Pool",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/23294207/pexels-photo-23294207.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
tag: "Gastronomy",
title: "Gourmet Dining Experience",
description: "Savor award-winning cuisine prepared by our master chefs at our signature restaurant, 'The Golden Spoon'.",
primaryButton: {
text: "View Menu",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/6877613/pexels-photo-6877613.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
tag: "Wellness",
title: "Luxurious Spa & Wellness",
description: "Rejuvenate your senses with a bespoke treatment at our tranquil spa, featuring holistic therapies.",
primaryButton: {
text: "Book a Session",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/28321592/pexels-photo-28321592.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="gallery" data-section="gallery">
<SectionErrorBoundary name="gallery">
<FeaturesImageBento
tag="Our Spaces"
title="Rooms & Hotel Gallery"
description="Explore the exquisite design and luxurious comfort of our rooms, suites, and public areas."
items={[
{
title: "Deluxe King Room",
description: "Spacious and elegant with city views.",
imageSrc: "https://images.pexels.com/photos/237371/pexels-photo-237371.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Marble Bathroom",
description: "Luxurious amenities and rain shower.",
imageSrc: "https://images.pexels.com/photos/6315803/pexels-photo-6315803.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Rooftop Restaurant",
description: "Dining with panoramic vistas.",
imageSrc: "https://images.pexels.com/photos/3926226/pexels-photo-3926226.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "State-of-the-Art Gym",
description: "Maintain your routine with modern equipment.",
imageSrc: "https://images.pexels.com/photos/6739959/pexels-photo-6739959.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Grand Lobby",
description: "A welcoming space of opulence and comfort.",
imageSrc: "https://images.pexels.com/photos/6876619/pexels-photo-6876619.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Stunning Exterior",
description: "Architectural marvel, day or night.",
imageSrc: "https://images.pexels.com/photos/16518111/pexels-photo-16518111.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Poolside Serenity",
description: "Relax and unwind by the shimmering water.",
imageSrc: "https://images.pexels.com/photos/14300719/pexels-photo-14300719.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Legacy"
title="A Tradition of Excellence"
description="We are proud of our commitment to guest satisfaction and unmatched hospitality."
metrics={[
{
value: "200+",
description: "Luxurious Rooms & Suites",
},
{
value: "9.8/10",
description: "Average Guest Satisfaction",
},
{
value: "5",
description: "International Awards",
},
{
value: "15+",
description: "Years of Hospitality",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Guest Reviews"
title="Hear From Our Valued Guests"
description="Our guests' experiences speak volumes about our dedication to exceptional service."
testimonials={[
{
name: "Eleanor Vance",
role: "CEO, Global Ventures",
quote: "The Grand Oasis provided an impeccable stay. The service was extraordinary, and the attention to detail truly made my business trip feel like a luxury retreat.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/36852544/pexels-photo-36852544.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Marcus Thorne",
role: "Travel Blogger",
quote: "An absolute gem! The rooms were stunning, the food was exquisite, and the staff went above and beyond to ensure every moment was perfect. Highly recommended!",
rating: 5,
imageSrc: "https://images.pexels.com/photos/9186224/pexels-photo-9186224.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Sophia Rodriguez",
role: "Architect",
quote: "The architectural design is breathtaking, and the interior elegance is unmatched. It's truly a place where you can unwind and feel completely pampered.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/7743531/pexels-photo-7743531.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Liam O'Connell",
role: "Historian",
quote: "Staying at The Grand Oasis was a delight. The blend of modern luxury with a sense of timeless grandeur is truly captivating. A magnificent experience.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/3926506/pexels-photo-3926506.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Chloe Dubois",
role: "Fashion Designer",
quote: "Every detail, from the decor to the personalized service, exuded sophistication. It's the perfect sanctuary for relaxation and inspiration.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/6817132/pexels-photo-6817132.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Arthur P. Jameson",
role: "Retired Diplomat",
quote: "A truly five-star experience from arrival to departure. The staff are attentive and discreet, making every interaction a pleasure. My preferred hotel.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/5371562/pexels-photo-5371562.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Help Center"
title="Frequently Asked Questions"
description="Find answers to common questions regarding your stay at The Grand Oasis Hotel."
items={[
{
question: "What are your check-in and check-out times?",
answer: "Check-in is at 3:00 PM, and check-out is at 12:00 PM. Early check-in or late check-out may be available upon request, subject to availability and additional charges.",
},
{
question: "Do you offer airport transportation?",
answer: "Yes, we provide luxury airport transfers upon request. Please contact our concierge team at least 24 hours in advance to arrange your transportation.",
},
{
question: "Is breakfast included in the room rate?",
answer: "Breakfast inclusion varies by room package. Please review your booking details or contact our reservations team for specific information about your reservation.",
},
{
question: "What amenities are available for guests?",
answer: "Our guests enjoy access to our heated infinity pool, state-of-the-art fitness center, luxurious spa, multiple gourmet dining options, and 24-hour concierge service.",
},
{
question: "Do you have pet-friendly rooms?",
answer: "We welcome small pets in designated pet-friendly rooms for an additional fee. Please notify us at the time of booking to ensure availability.",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="social-proof" data-section="social-proof">
<SectionErrorBoundary name="social-proof">
<SocialProofMarquee
tag="Recognitions"
title="Awarded for Excellence"
description="Proud recipients of prestigious awards, reflecting our commitment to luxury and hospitality."
names={[
"Luxury Travel Guide Awards",
"World's Best Hotels",
"Conde Nast Traveler",
"Forbes Travel Guide",
"AAA Five Diamond Award",
"Michelin Guide Recommended",
"Hotel of the Year Awards",
"Global Hotel Awards",
"Traveller's Choice Awards",
]}
/>
</SectionErrorBoundary>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Reservations"
text="Ready to Experience Unforgettable Luxury?"
primaryButton={{
text: "Book Now",
href: "#",
}}
secondaryButton={{
text: "Contact Us",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<HeroSection />
<AboutSection />
<FeaturesSection />
<GallerySection />
<MetricsSection />
<TestimonialsSection />
<FaqSection />
<SocialProofSection />
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Philosophy"
quote="Where every moment is crafted to perfection, ensuring an unforgettable stay tailored to your desires."
author="Isabella Chen"
role="General Manager, The Grand Oasis"
imageSrc="https://images.pexels.com/photos/18628697/pexels-photo-18628697.jpeg?auto=compress&cs=tinysrgb&h=650&w=940"
/>
</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 "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Reservations"
text="Ready to Experience Unforgettable Luxury?"
primaryButton={{
text: "Book Now",
href: "#",
}}
secondaryButton={{
text: "Contact Us",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "faq" section.
import React from 'react';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Help Center"
title="Frequently Asked Questions"
description="Find answers to common questions regarding your stay at The Grand Oasis Hotel."
items={[
{
question: "What are your check-in and check-out times?",
answer: "Check-in is at 3:00 PM, and check-out is at 12:00 PM. Early check-in or late check-out may be available upon request, subject to availability and additional charges.",
},
{
question: "Do you offer airport transportation?",
answer: "Yes, we provide luxury airport transfers upon request. Please contact our concierge team at least 24 hours in advance to arrange your transportation.",
},
{
question: "Is breakfast included in the room rate?",
answer: "Breakfast inclusion varies by room package. Please review your booking details or contact our reservations team for specific information about your reservation.",
},
{
question: "What amenities are available for guests?",
answer: "Our guests enjoy access to our heated infinity pool, state-of-the-art fitness center, luxurious spa, multiple gourmet dining options, and 24-hour concierge service.",
},
{
question: "Do you have pet-friendly rooms?",
answer: "We welcome small pets in designated pet-friendly rooms for an additional fee. Please notify us at the time of booking to ensure availability.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Hotel Amenities"
title="Indulge in Unmatched Comfort"
description="From exquisite dining to serene spa treatments, every amenity is designed for your ultimate relaxation and enjoyment."
items={[
{
tag: "Relaxation",
title: "Heated Infinity Pool",
description: "Swim under the stars in our heated infinity pool, offering panoramic views of the city skyline.",
primaryButton: {
text: "Discover Pool",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/23294207/pexels-photo-23294207.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
tag: "Gastronomy",
title: "Gourmet Dining Experience",
description: "Savor award-winning cuisine prepared by our master chefs at our signature restaurant, 'The Golden Spoon'.",
primaryButton: {
text: "View Menu",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/6877613/pexels-photo-6877613.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
tag: "Wellness",
title: "Luxurious Spa & Wellness",
description: "Rejuvenate your senses with a bespoke treatment at our tranquil spa, featuring holistic therapies.",
primaryButton: {
text: "Book a Session",
href: "#",
},
imageSrc: "https://images.pexels.com/photos/28321592/pexels-photo-28321592.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "gallery" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function GallerySection(): React.JSX.Element {
return (
<div id="gallery" data-section="gallery">
<SectionErrorBoundary name="gallery">
<FeaturesImageBento
tag="Our Spaces"
title="Rooms & Hotel Gallery"
description="Explore the exquisite design and luxurious comfort of our rooms, suites, and public areas."
items={[
{
title: "Deluxe King Room",
description: "Spacious and elegant with city views.",
imageSrc: "https://images.pexels.com/photos/237371/pexels-photo-237371.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Marble Bathroom",
description: "Luxurious amenities and rain shower.",
imageSrc: "https://images.pexels.com/photos/6315803/pexels-photo-6315803.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Rooftop Restaurant",
description: "Dining with panoramic vistas.",
imageSrc: "https://images.pexels.com/photos/3926226/pexels-photo-3926226.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "State-of-the-Art Gym",
description: "Maintain your routine with modern equipment.",
imageSrc: "https://images.pexels.com/photos/6739959/pexels-photo-6739959.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Grand Lobby",
description: "A welcoming space of opulence and comfort.",
imageSrc: "https://images.pexels.com/photos/6876619/pexels-photo-6876619.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Stunning Exterior",
description: "Architectural marvel, day or night.",
imageSrc: "https://images.pexels.com/photos/16518111/pexels-photo-16518111.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
title: "Poolside Serenity",
description: "Relax and unwind by the shimmering water.",
imageSrc: "https://images.pexels.com/photos/14300719/pexels-photo-14300719.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</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 "hero" section.
import React from 'react';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="The Grand Oasis Hotel"
description="Experience unparalleled luxury and comfort. Your perfect escape awaits amidst breathtaking views and world-class service."
primaryButton={{
text: "Book Your Stay",
href: "#contact",
}}
secondaryButton={{
text: "Explore Rooms",
href: "#gallery",
}}
imageSrc="https://images.pexels.com/photos/10603648/pexels-photo-10603648.jpeg?auto=compress&cs=tinysrgb&h=650&w=940"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Legacy"
title="A Tradition of Excellence"
description="We are proud of our commitment to guest satisfaction and unmatched hospitality."
metrics={[
{
value: "200+",
description: "Luxurious Rooms & Suites",
},
{
value: "9.8/10",
description: "Average Guest Satisfaction",
},
{
value: "5",
description: "International Awards",
},
{
value: "15+",
description: "Years of Hospitality",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,31 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "social-proof" section.
import React from 'react';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function SocialProofSection(): React.JSX.Element {
return (
<div id="social-proof" data-section="social-proof">
<SectionErrorBoundary name="social-proof">
<SocialProofMarquee
tag="Recognitions"
title="Awarded for Excellence"
description="Proud recipients of prestigious awards, reflecting our commitment to luxury and hospitality."
names={[
"Luxury Travel Guide Awards",
"World's Best Hotels",
"Conde Nast Traveler",
"Forbes Travel Guide",
"AAA Five Diamond Award",
"Michelin Guide Recommended",
"Hotel of the Year Awards",
"Global Hotel Awards",
"Traveller's Choice Awards",
]}
/>
</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 "testimonials" section.
import React from 'react';
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialRatingCards
tag="Guest Reviews"
title="Hear From Our Valued Guests"
description="Our guests' experiences speak volumes about our dedication to exceptional service."
testimonials={[
{
name: "Eleanor Vance",
role: "CEO, Global Ventures",
quote: "The Grand Oasis provided an impeccable stay. The service was extraordinary, and the attention to detail truly made my business trip feel like a luxury retreat.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/36852544/pexels-photo-36852544.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Marcus Thorne",
role: "Travel Blogger",
quote: "An absolute gem! The rooms were stunning, the food was exquisite, and the staff went above and beyond to ensure every moment was perfect. Highly recommended!",
rating: 5,
imageSrc: "https://images.pexels.com/photos/9186224/pexels-photo-9186224.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Sophia Rodriguez",
role: "Architect",
quote: "The architectural design is breathtaking, and the interior elegance is unmatched. It's truly a place where you can unwind and feel completely pampered.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/7743531/pexels-photo-7743531.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Liam O'Connell",
role: "Historian",
quote: "Staying at The Grand Oasis was a delight. The blend of modern luxury with a sense of timeless grandeur is truly captivating. A magnificent experience.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/3926506/pexels-photo-3926506.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Chloe Dubois",
role: "Fashion Designer",
quote: "Every detail, from the decor to the personalized service, exuded sophistication. It's the perfect sanctuary for relaxation and inspiration.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/6817132/pexels-photo-6817132.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
{
name: "Arthur P. Jameson",
role: "Retired Diplomat",
quote: "A truly five-star experience from arrival to departure. The staff are attentive and discreet, making every interaction a pleasure. My preferred hotel.",
rating: 5,
imageSrc: "https://images.pexels.com/photos/5371562/pexels-photo-5371562.jpeg?auto=compress&cs=tinysrgb&h=650&w=940",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}