Bob AI: <ATTACHED_BLOCKS>

The user attached the section/component ca
This commit is contained in:
kudinDmitriyUp
2026-06-20 17:51:59 +00:00
parent 7dcfdaf599
commit 6be998f03c
9 changed files with 343 additions and 292 deletions

View File

@@ -1,304 +1,36 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
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 AboutSection from './HomePage/sections/About';
import RoomsSection from './HomePage/sections/Rooms';
import ExperiencesSection from './HomePage/sections/Experiences';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Welcome to Grand Budapest"
title="Discover Budapest from Your Perfect Room"
description="Experience elegance in the heart of the Danube. Explore interactive 360° rooms, curated local experiences, and seamless booking in minutes."
primaryButton={{
text: "Explore & Book Now",
href: "#rooms",
}}
secondaryButton={{
text: "View Amenities",
href: "#about",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-modern-luxury-hotel-office-reception-meeting-lounge_105762-2045.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/boston-public-library_649448-649.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/city-background-panoramic-view_23-2148892970.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/restaurant-hall-with-leather-armchairs-french-windows_140725-8445.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/couple-cafe_1157-4340.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/panoramic-sauna-view-organic-wooden-columns-resort-style-wellness_169016-68883.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-making-soap-bubbles_23-2148774644.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-old-castle-bitov-forest-dam-vranov-dam-south-moravia-czech-republic_1161-717.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/view-pamplona-with-arga-river_1398-3269.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-doing-yoga-roof-skyscraper-big-city_1153-4548.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/los-angeles-downtown-night-with-urban-buildings-lake_649448-4079.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-liverpool-from-view-point-united-kingdom_1268-19720.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Heritage"
title="Elegance in the Heart of the Danube"
description="Our hotel seamlessly blends neo-classical history with modern luxury amenities. Located centrally, we provide guests with an unmatched perspective on Budapests stunning architecture and vibrant culture."
imageSrc="http://img.b2bpic.net/free-photo/high-angle-teacups-antique-store_23-2149640750.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="rooms" data-section="rooms">
<SectionErrorBoundary name="rooms">
<FeaturesMediaCarousel
tag="Stay With Us"
title="Immersive Suite Experience"
description="Explore our curated room selection with high-definition previews."
items={[
{
title: "Danube Suite",
description: "Panoramic river views.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199314.jpg",
},
{
title: "Heritage King",
description: "Historic comfort redefined.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/cozy-modern-bedroom-with-comfortable-double-bed-generative-ai_188544-32267.jpg",
},
{
title: "Deluxe Queen",
description: "Cozy, modern, elegant.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/luxury-bedroom-interior-with-rich-furniture-scenic-view-from-walkout-deck_1258-111480.jpg",
},
{
title: "Royal Penthouse",
description: "Unrivaled luxury stay.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/bedroom-with-chandelier-bed-with-blanket-it_188544-33431.jpg",
},
{
title: "Family Haven",
description: "Spacious family comfort.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-with-smartphone-vibrator_23-2150232150.jpg",
},
{
title: "Executive Suite",
description: "Perfect for travel.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/luxury-hotel-suite-modern-elegance-illuminated-naturally-generated-by-ai_188544-18309.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<RoomsSection />
<div id="experiences" data-section="experiences">
<SectionErrorBoundary name="experiences">
<FeaturesImageBento
tag="Curated Experiences"
title="Beyond the Room"
description="Local adventures tailored to your preferences."
items={[
{
title: "Thermal Spas",
description: "Authentic wellness.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-is-relaxing-jacuzzi_169016-22522.jpg",
},
{
title: "Fine Dining",
description: "Gourmet local cuisine.",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081849.jpg",
},
{
title: "City Tours",
description: "Private guided walks.",
imageSrc: "http://img.b2bpic.net/free-photo/fashion-portrait-young-woman-vacation-asian-wooden-boat_343596-2583.jpg",
},
{
title: "Wine Tasting",
description: "Hungarian vineyard tours.",
imageSrc: "http://img.b2bpic.net/free-photo/spa-concept-with-woman-relaxing-water_23-2148000042.jpg",
},
{
title: "River Cruise",
description: "Stunning Danube sunset.",
imageSrc: "http://img.b2bpic.net/free-photo/dining-table-with-chairs-tableware_140725-7823.jpg",
},
{
title: "Opera Night",
description: "Cultural musical events.",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-senior-couple-dancing-peer-while-date_23-2149274369.jpg",
},
{
title: "Art Galleries",
description: "Explore local creators.",
imageSrc: "http://img.b2bpic.net/free-photo/orchid-stones-near-teapot_23-2147809197.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ExperiencesSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Performance"
title="Hospitality Excellence"
description="Data-backed guest satisfaction and service quality."
metrics={[
{
value: "98%",
title: "Satisfaction",
description: "Guest ratings are consistent.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-beige-checkered-suit-posing-street-background_158538-2643.jpg",
},
{
value: "5k+",
title: "Happy Guests",
description: "Memories made since inception.",
imageSrc: "http://img.b2bpic.net/free-photo/man-headphones_1157-18565.jpg",
},
{
value: "15",
title: "City Awards",
description: "Global recognition in service.",
imageSrc: "http://img.b2bpic.net/free-photo/blonde-girl-posing-bathroom-with-bath-robe_23-2148147502.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="An absolute treasure in Budapest. The rooms were spectacular and the local tours were unforgettable. The perfect blend of comfort and culture."
rating={5}
author="Sarah & David, Travel Enthusiasts"
avatars={[
{
name: "Sarah",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-blonde-with-blue-suitcase-sitting-chair-near-cafe-purple-pullover-jeans-makeup-hair-style-emotions-autumn-blonde-happy-knitted-smiling-model-beauty_343629-42.jpg",
},
{
name: "David",
imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-with-shopping-bags_1157-31452.jpg",
},
{
name: "Elena",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-newlyweds-rest-bright-pink-sofa-cafe_8353-8271.jpg",
},
{
name: "Marcus",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-elder-tourist-woman_23-2148620263.jpg",
},
{
name: "Sophie",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-friends-night-having-dinner_23-2149190912.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Common Questions"
title="Guest Information"
description="Answers to frequently asked questions about bookings and amenities."
categories={[
{
name: "General",
items: [
{
question: "Check-in time?",
answer: "Check-in is from 3:00 PM.",
},
{
question: "Pets allowed?",
answer: "Yes, boutique pets are welcome.",
},
{
question: "Breakfast?",
answer: "Included for all suites.",
},
],
},
{
name: "Booking",
items: [
{
question: "Cancellations?",
answer: "Free cancellation within 48h.",
},
{
question: "Deposit?",
answer: "Standard credit card hold.",
},
{
question: "Payment methods?",
answer: "Visa, Mastercard, Amex.",
},
],
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Reservations"
text="Ready to experience the beauty of Budapest? Book your room now or contact our concierge for personalized travel assistance."
primaryButton={{
text: "Book Now",
href: "#",
}}
secondaryButton={{
text: "Contact Concierge",
href: "mailto:concierge@grandbudapesthotel.com",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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 "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Heritage"
title="Elegance in the Heart of the Danube"
description="Our hotel seamlessly blends neo-classical history with modern luxury amenities. Located centrally, we provide guests with an unmatched perspective on Budapests stunning architecture and vibrant culture."
imageSrc="http://img.b2bpic.net/free-photo/high-angle-teacups-antique-store_23-2149640750.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 "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 the beauty of Budapest? Book your room now or contact our concierge for personalized travel assistance."
primaryButton={{
text: "Book Now",
href: "#",
}}
secondaryButton={{
text: "Contact Concierge",
href: "mailto:concierge@grandbudapesthotel.com",
}}
/>
</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 "experiences" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ExperiencesSection(): React.JSX.Element {
return (
<div id="experiences" data-section="experiences">
<SectionErrorBoundary name="experiences">
<FeaturesImageBento
tag="Curated Experiences"
title="Beyond the Room"
description="Local adventures tailored to your preferences."
items={[
{
title: "Thermal Spas",
description: "Authentic wellness.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-is-relaxing-jacuzzi_169016-22522.jpg",
},
{
title: "Fine Dining",
description: "Gourmet local cuisine.",
imageSrc: "http://img.b2bpic.net/free-photo/people-having-dinner-luxurious-restaurants_23-2151081849.jpg",
},
{
title: "City Tours",
description: "Private guided walks.",
imageSrc: "http://img.b2bpic.net/free-photo/fashion-portrait-young-woman-vacation-asian-wooden-boat_343596-2583.jpg",
},
{
title: "Wine Tasting",
description: "Hungarian vineyard tours.",
imageSrc: "http://img.b2bpic.net/free-photo/spa-concept-with-woman-relaxing-water_23-2148000042.jpg",
},
{
title: "River Cruise",
description: "Stunning Danube sunset.",
imageSrc: "http://img.b2bpic.net/free-photo/dining-table-with-chairs-tableware_140725-7823.jpg",
},
{
title: "Opera Night",
description: "Cultural musical events.",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-senior-couple-dancing-peer-while-date_23-2149274369.jpg",
},
{
title: "Art Galleries",
description: "Explore local creators.",
imageSrc: "http://img.b2bpic.net/free-photo/orchid-stones-near-teapot_23-2147809197.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,56 @@
// 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 FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Common Questions"
title="Guest Information"
description="Answers to frequently asked questions about bookings and amenities."
categories={[
{
name: "General",
items: [
{
question: "Check-in time?",
answer: "Check-in is from 3:00 PM.",
},
{
question: "Pets allowed?",
answer: "Yes, boutique pets are welcome.",
},
{
question: "Breakfast?",
answer: "Included for all suites.",
},
],
},
{
name: "Booking",
items: [
{
question: "Cancellations?",
answer: "Free cancellation within 48h.",
},
{
question: "Deposit?",
answer: "Standard credit card hold.",
},
{
question: "Payment methods?",
answer: "Visa, Mastercard, Amex.",
},
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,18 @@
// Created by add_section_from_catalog (HeroBrandCarousel).
import React from 'react';
import HeroBrandCarousel from '@/components/sections/hero/HeroBrandCarousel';
export default function HeroSection(): React.JSX.Element {
return (
<div data-webild-section="hero" id="hero">
<HeroBrandCarousel
items={[{"imageSrc":"http://img.b2bpic.net/free-photo/3d-rendering-modern-luxury-hotel-office-reception-meeting-lounge_105762-2045.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/boston-public-library_649448-649.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/restaurant-hall-with-leather-armchairs-french-windows_140725-8445.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/panoramic-sauna-view-organic-wooden-columns-resort-style-wellness_169016-68883.jpg"}]}
description="Discover Budapest from Your Perfect Room. Experience elegance in the heart of the Danube. Explore interactive 360° rooms, curated local experiences, and seamless booking in minutes."
brand="Budapest"
secondaryButton={{"href":"#about","text":"View Amenities"}}
primaryButton={{"href":"#rooms","text":"Explore & Book Now"}}
/>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// 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 MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Performance"
title="Hospitality Excellence"
description="Data-backed guest satisfaction and service quality."
metrics={[
{
value: "98%",
title: "Satisfaction",
description: "Guest ratings are consistent.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-fashion-male-model-man-dressed-elegant-beige-checkered-suit-posing-street-background_158538-2643.jpg",
},
{
value: "5k+",
title: "Happy Guests",
description: "Memories made since inception.",
imageSrc: "http://img.b2bpic.net/free-photo/man-headphones_1157-18565.jpg",
},
{
value: "15",
title: "City Awards",
description: "Global recognition in service.",
imageSrc: "http://img.b2bpic.net/free-photo/blonde-girl-posing-bathroom-with-bath-robe_23-2148147502.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,58 @@
// 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 FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function RoomsSection(): React.JSX.Element {
return (
<div id="rooms" data-section="rooms">
<SectionErrorBoundary name="rooms">
<FeaturesMediaCarousel
tag="Stay With Us"
title="Immersive Suite Experience"
description="Explore our curated room selection with high-definition previews."
items={[
{
title: "Danube Suite",
description: "Panoramic river views.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199314.jpg",
},
{
title: "Heritage King",
description: "Historic comfort redefined.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/cozy-modern-bedroom-with-comfortable-double-bed-generative-ai_188544-32267.jpg",
},
{
title: "Deluxe Queen",
description: "Cozy, modern, elegant.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/luxury-bedroom-interior-with-rich-furniture-scenic-view-from-walkout-deck_1258-111480.jpg",
},
{
title: "Royal Penthouse",
description: "Unrivaled luxury stay.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/bedroom-with-chandelier-bed-with-blanket-it_188544-33431.jpg",
},
{
title: "Family Haven",
description: "Spacious family comfort.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-with-smartphone-vibrator_23-2150232150.jpg",
},
{
title: "Executive Suite",
description: "Perfect for travel.",
buttonIcon: "ArrowRight",
imageSrc: "http://img.b2bpic.net/free-photo/luxury-hotel-suite-modern-elegance-illuminated-naturally-generated-by-ai_188544-18309.jpg",
},
]}
/>
</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 "testimonials" section.
import React from 'react';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="An absolute treasure in Budapest. The rooms were spectacular and the local tours were unforgettable. The perfect blend of comfort and culture."
rating={5}
author="Sarah & David, Travel Enthusiasts"
avatars={[
{
name: "Sarah",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-blonde-with-blue-suitcase-sitting-chair-near-cafe-purple-pullover-jeans-makeup-hair-style-emotions-autumn-blonde-happy-knitted-smiling-model-beauty_343629-42.jpg",
},
{
name: "David",
imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-with-shopping-bags_1157-31452.jpg",
},
{
name: "Elena",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-newlyweds-rest-bright-pink-sofa-cafe_8353-8271.jpg",
},
{
name: "Marcus",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-elder-tourist-woman_23-2148620263.jpg",
},
{
name: "Sophie",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-friends-night-having-dinner_23-2149190912.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}