Compare commits

...

24 Commits

Author SHA1 Message Date
kudinDmitriyUp
b8a934daef Bob AI: fix build errors (attempt 1) 2026-06-03 14:47:23 +00:00
kudinDmitriyUp
07e87980df Bob AI: add an about section as the second section 2026-06-03 14:46:45 +00:00
5c0ca1bc47 Merge version_26_1780497803548 into main
Merge version_26_1780497803548 into main
2026-06-03 14:44:24 +00:00
kudinDmitriyUp
691b7358f1 Bob AI (stub): in the hero section on top of the big image let's add floati 2026-06-03 14:44:18 +00:00
86d97a6b0d Merge version_25_1780497680352 into main
Merge version_25_1780497680352 into main
2026-06-03 14:42:48 +00:00
kudinDmitriyUp
9ca64f07fd Bob AI (stub): in the hero section on top of the big image let's add floati 2026-06-03 14:42:45 +00:00
ca02ca44f0 Merge version_24_1780497537571 into main
Merge version_24_1780497537571 into main
2026-06-03 14:40:32 +00:00
kudinDmitriyUp
ed73a46116 Bob AI (stub): add floating KPI cards in the hero section, they should move 2026-06-03 14:40:25 +00:00
ed3f23f639 Merge version_23_1780497315842 into main
Merge version_23_1780497315842 into main
2026-06-03 14:36:59 +00:00
kudinDmitriyUp
1eaceaf054 Bob AI: reduce the space between the navbar and the hero section, an 2026-06-03 14:36:26 +00:00
ca209f8fc4 Merge version_22_1780497042169 into main
Merge version_22_1780497042169 into main
2026-06-03 14:33:53 +00:00
kudinDmitriyUp
38b4a3e01d Bob AI: fix build errors (attempt 1) 2026-06-03 14:33:20 +00:00
kudinDmitriyUp
39d9941b58 Bob AI: i want a simpler navbar 2026-06-03 14:32:26 +00:00
38c9a521d3 Merge version_21_1780497029869 into main
Merge version_21_1780497029869 into main
2026-06-03 14:30:33 +00:00
51f6fc5115 Update theme colors 2026-06-03 14:30:30 +00:00
de70dd02a2 Merge version_20_1780496932547 into main
Merge version_20_1780496932547 into main
2026-06-03 14:30:19 +00:00
kudinDmitriyUp
e5b8f20a11 Bob AI: I want a light beige color theme 2026-06-03 14:29:43 +00:00
83ab24c38f Merge version_19_1780496743813 into main
Merge version_19_1780496743813 into main
2026-06-03 14:26:11 +00:00
kudinDmitriyUp
6f9df2475f Bob AI (stub): make the hero section use width content width, like w-conten 2026-06-03 14:26:07 +00:00
55090fbfbe Merge version_18_1780496227930 into main
Merge version_18_1780496227930 into main
2026-06-03 14:17:32 +00:00
kudinDmitriyUp
1c7704b1ba Bob AI (stub): make the hero section the same width as all the other sectio 2026-06-03 14:17:29 +00:00
212f55108a Merge version_17_1780496129831 into main
Merge version_17_1780496129831 into main
2026-06-03 14:16:46 +00:00
kudinDmitriyUp
25247ef9dd Bob AI: Make hero section progress bars full width 2026-06-03 14:16:07 +00:00
009b67ee3e Merge version_16_1780495977779 into main
Merge version_16_1780495977779 into main
2026-06-03 14:13:59 +00:00
5 changed files with 86 additions and 21 deletions

View File

@@ -1,11 +1,22 @@
import React, { useState, useEffect } from 'react';
import FooterBrand from '@/components/sections/footer/FooterBrand';
import NavbarFloatingLogo from '@/components/ui/NavbarFloatingLogo';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
import { Outlet } from 'react-router-dom';
import { StyleProvider } from "@/components/ui/StyleProvider";
import Button from "@/components/ui/Button";
export default function Layout() {
const [isScrolled, setIsScrolled] = useState(false);
useEffect(() => {
const handleScroll = () => {
setIsScrolled(window.scrollY > 10);
};
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
const navItems = [
{
"name": "Home", "href": "#hero"
@@ -37,12 +48,21 @@ export default function Layout() {
<StyleProvider buttonVariant="stagger" siteBackground="noise" heroBackground="gradientBars">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
ctaButton={{
text: "Book Now", href: "#contact"}}
logo="The Grand Hotel"
logoImageSrc="https://storage.googleapis.com/webild/default/no-image.jpg?id=6xbdeo"
navItems={navItems} />
<nav className={`fixed top-0 z-50 w-full transition-colors duration-300 ${isScrolled ? 'bg-background/95 backdrop-blur-sm border-b border-foreground/10' : 'bg-transparent'} py-4`}>
<div className="mx-auto flex w-content-width items-center justify-between">
<a href="#" className="text-xl md:text-2xl font-bold text-foreground tracking-tight">
The Grand Hotel
</a>
<div className="hidden lg:flex items-center gap-6">
{navItems.map((item) => (
<a key={item.name} href={item.href} className="text-sm font-medium text-foreground/80 hover:text-foreground transition-colors">
{item.name}
</a>
))}
</div>
<Button text="Book Now" href="#contact" variant="primary" />
</div>
</nav>
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
@@ -90,4 +110,4 @@ export default function Layout() {
</SectionErrorBoundary>
</StyleProvider>
);
}
}

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #f5f5f5;
--primary-cta: #ffdf7d;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffff;
--accent: #b8860b;
--background-accent: #8b6914;
--background: #f6f0e9;
--card: #efe7dd;
--foreground: #2b180a;
--primary-cta: #2b180a;
--primary-cta-text: #f6f0e9;
--secondary-cta: #efe7dd;
--secondary-cta-text: #2b180a;
--accent: #94877c;
--background-accent: #afa094;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -14,6 +14,21 @@ import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
{/* webild-stub @2026-06-03T14:44:17.404Z: in the hero section on top of the big image let's add floating cards with kpi number and description. */}
{/* webild-stub @2026-06-03T14:42:44.419Z: in the hero section on top of the big image let's add floating cards with kpi number and description. on mouse move they should have a nice moving animation */}
{/* webild-stub @2026-06-03T14:40:24.768Z: add floating KPI cards in the hero section, they should move with a parallax effect as I move my mouse around in the hero section */}
{/* webild-stub @2026-06-03T14:26:06.808Z: make the hero section use width content width, like w-content-width */}
{/* webild-stub @2026-06-03T14:17:28.384Z: make the hero section the same width as all the other sections */}
{/* webild-stub @2026-06-03T13:49:00.110Z: change the hero section so each image in the carousel has its own progress bar, and all progress bars are visible at the same time */}
export default function HomePage(): React.JSX.Element {

View File

@@ -1,10 +1,40 @@
import React from 'react';
import Tag from "@/components/ui/Tag";
import ScrollReveal from "@/components/ui/ScrollReveal";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import Button from "@/components/ui/Button";
export default function AboutSection() {
return (
<section id="about" className="bg-background">
<div className="max-w-content-width mx-auto px-6 text-center">
{/* Text 'Our Legacy of Hospitality' removed as requested */}
<section data-webild-section="about" id="about" className="bg-background">
<div className="max-w-content-width mx-auto px-6">
<div className="grid grid-cols-1 lg:grid-cols-2 items-center">
<ScrollReveal variant="slide-up">
<div className="space-y-8">
<Tag text="About Us" />
<h2 className="text-4xl md:text-5xl font-bold text-foreground tracking-tight">
A Legacy of Unparalleled Hospitality
</h2>
<p className="text-lg text-muted-foreground leading-relaxed">
Nestled in the heart of the city, The Grand Hotel has been a beacon of luxury and comfort for over a century. Our commitment to excellence is reflected in every detail, from our meticulously designed rooms to our world-class dining experiences.
</p>
<p className="text-lg text-muted-foreground leading-relaxed">
We believe that true luxury lies in the experience. Our dedicated staff is here to ensure that your stay is nothing short of extraordinary, anticipating your every need and exceeding your expectations.
</p>
<Button text="Discover Our Story" variant="primary" />
</div>
</ScrollReveal>
<ScrollReveal variant="fade">
<div className="relative h-[600px] rounded-theme overflow-hidden">
<ImageOrVideo
imageSrc="https://images.unsplash.com/photo-1542314831-c6a4d14d837e?q=80&w=2000&auto=format&fit=crop"
className="w-full h-full object-cover"
/>
<div className="absolute inset-0 bg-black/10"></div>
</div>
</ScrollReveal>
</div>
</div>
</section>
);

View File

@@ -71,7 +71,7 @@ export default function HeroSection(): React.JSX.Element {
</div>
))}
</div>
<div className="absolute bottom-6 left-1/2 -translate-x-1/2 flex gap-3 w-full max-w-md px-4 z-20">
<div className="absolute bottom-6 left-1/2 -translate-x-1/2 flex gap-3 w-full px-4 z-20">
{images.map((_, index) => (
<div key={index} className="h-1.5 flex-1 bg-white/30 rounded-full overflow-hidden cursor-pointer" onClick={() => { setCurrentIndex(index); setProgress(0); }}>
<div