Bob AI: Apply luxury dark, gold, and ivory theme

This commit is contained in:
kudinDmitriyUp
2026-06-14 12:13:13 +00:00
parent 1c83903a0d
commit b0a1aa46a4
8 changed files with 160 additions and 84 deletions

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #f5faff;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta-text: #f5faff;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #fdfbf7;
--primary-cta: #d4af37;
--primary-cta-text: #0a0a0a;
--secondary-cta: #2a2a2a;
--secondary-cta-text: #d4af37;
--accent: #d4af37;
--background-accent: #1a1a1a;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,14 +1,20 @@
import AboutText from '@/components/sections/about/AboutText';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import { ThemeProvider } from "@/components/providers/themeProvider/ThemeProvider";
// 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 { ThemeProvider } from "@/components/providers/themeProvider/ThemeProvider";
import React from 'react';
import NavSection from './HomePage/sections/Nav';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import StatsSection from './HomePage/sections/Stats';
import FaqSection from './HomePage/sections/Faq';
import FooterSection from './HomePage/sections/Footer';
export default function HomePage(): React.JSX.Element {
return (
<ThemeProvider
<ThemeProvider
defaultButtonVariant="gradient"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
@@ -20,76 +26,17 @@ export default function HomePage() {
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<div id="nav" data-section="nav">
</div>
<NavSection />
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlay
tag="Pluton Şadlıq Sarayı"
title="Xəyallarınızdakı Toy Mərasimi Burada Başlayır"
description="Pluton Şadlıq Sarayı Zəriflik, Dəbdəbə və Unudulmaz Xatirələr"
primaryButton={{ text: "Rezervasiya", href: "/contact" }}
secondaryButton={{ text: "Haqqımızda", href: "/about" }}
imageSrc="http://img.b2bpic.net/free-photo/candles-bouquets-decorated-table_8353-10193.jpg"
/>
</SectionErrorBoundary>
</div>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Bakının ən gözəl məkanlarından biri olan Pluton Şadlıq Sarayı, 15 ildən artıq təcrübəsi ilə xüsusi günlərinizi unudulmaz edir."
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="stats" data-section="stats">
<SectionErrorBoundary name="stats">
<MetricsIconCards
tag="Statistika"
title="Uğurlarımız"
description="Pluton Şadlıq Sarayı rəqəmlərlə"
metrics={[
{ icon: "Users", title: "Müştəri Rəyi", value: "52+" },
{ icon: "Star", title: "Reytinq", value: "4.2" },
{ icon: "Heart", title: "Uğurlu Tədbir", value: "500+" },
{ icon: "Award", title: "İl Təcrübə", value: "15+" },
]}
/>
</SectionErrorBoundary>
</div>
<StatsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Suallar"
title="Tez-tez verilən suallar"
description="Toy tədbirləri ilə bağlı maraqlı olan məqamlar."
items={[
{ question: "Toy üçün minimum neçə nəfərlik yeriniz var?", answer: "Pluton Şadlıq Sarayında 100 nəfərdən 500 nəfərə qədər tədbirlər keçirə bilərsiniz." },
{ question: "Menyulara nələr daxildir?", answer: "Menyularımız zənginliyi və keyfiyyəti ilə seçilir; milli və Avropa mətbəxinin ən gözəl nümunələrini təqdim edirik." },
{ question: "Musiqi və işıqlandırma xidməti mövcuddur?", answer: "Bəli, tam peşəkar səs və işıqlandırma avadanlıqlarımız toyunuzun möhtəşəm keçməsinə zəmanət verir." },
{ question: "Rezervasiyanı necə edə bilərəm?", answer: "Bizimlə birbaşa telefon və ya mesaj vasitəsilə əlaqə saxlayaraq tarixi bron edə bilərsiniz." },
{ question: "Parkinq mövcuddur?", answer: "Bəli, qonaqlarınız üçün geniş və təhlükəsiz parkinq sahəmiz mövcuddur." },
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="footer" data-section="footer">
<SectionErrorBoundary name="footer">
<FooterSimple
brand="Pluton Şadlıq Sarayı"
columns={[
{ title: "Ünvan", items: [{ label: "Bakı, Əhmədli", href: "#" }] },
{ title: "Xidmətlər", items: [{ label: "Toy", href: "/about" }, { label: "Nişan", href: "/about" }] }
]}
copyright="© 2024 Pluton Şadlıq Sarayı. Bütün hüquqlar qorunur."
links={[{ label: "Gizlilik Siyasəti", href: "#" }]}
/>
</SectionErrorBoundary>
</div>
<FooterSection />
</ThemeProvider>
);
}
}

View File

@@ -0,0 +1,18 @@
// 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 AboutText from '@/components/sections/about/AboutText';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Bakının ən gözəl məkanlarından biri olan Pluton Şadlıq Sarayı, 15 ildən artıq təcrübəsi ilə xüsusi günlərinizi unudulmaz edir."
/>
</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 "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="Suallar"
title="Tez-tez verilən suallar"
description="Toy tədbirləri ilə bağlı maraqlı olan məqamlar."
items={[
{ question: "Toy üçün minimum neçə nəfərlik yeriniz var?", answer: "Pluton Şadlıq Sarayında 100 nəfərdən 500 nəfərə qədər tədbirlər keçirə bilərsiniz." },
{ question: "Menyulara nələr daxildir?", answer: "Menyularımız zənginliyi və keyfiyyəti ilə seçilir; milli və Avropa mətbəxinin ən gözəl nümunələrini təqdim edirik." },
{ question: "Musiqi və işıqlandırma xidməti mövcuddur?", answer: "Bəli, tam peşəkar səs və işıqlandırma avadanlıqlarımız toyunuzun möhtəşəm keçməsinə zəmanət verir." },
{ question: "Rezervasiyanı necə edə bilərəm?", answer: "Bizimlə birbaşa telefon və ya mesaj vasitəsilə əlaqə saxlayaraq tarixi bron edə bilərsiniz." },
{ question: "Parkinq mövcuddur?", answer: "Bəli, qonaqlarınız üçün geniş və təhlükəsiz parkinq sahəmiz mövcuddur." },
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,24 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "footer" section.
import React from 'react';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FooterSection(): React.JSX.Element {
return (
<div id="footer" data-section="footer">
<SectionErrorBoundary name="footer">
<FooterSimple
brand="Pluton Şadlıq Sarayı"
columns={[
{ title: "Ünvan", items: [{ label: "Bakı, Əhmədli", href: "#" }] },
{ title: "Xidmətlər", items: [{ label: "Toy", href: "/about" }, { label: "Nişan", href: "/about" }] }
]}
copyright="© 2024 Pluton Şadlıq Sarayı. Bütün hüquqlar qorunur."
links={[{ label: "Gizlilik Siyasəti", href: "#" }]}
/>
</SectionErrorBoundary>
</div>
);
}

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 "hero" section.
import React from 'react';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlay
tag="Pluton Şadlıq Sarayı"
title="Xəyallarınızdakı Toy Mərasimi Burada Başlayır"
description="Pluton Şadlıq Sarayı Zəriflik, Dəbdəbə və Unudulmaz Xatirələr"
primaryButton={{ text: "Rezervasiya", href: "/contact" }}
secondaryButton={{ text: "Haqqımızda", href: "/about" }}
imageSrc="http://img.b2bpic.net/free-photo/candles-bouquets-decorated-table_8353-10193.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,11 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "nav" section.
import React from 'react';
export default function NavSection(): React.JSX.Element {
return (
<div id="nav" data-section="nav">
</div>
);
}

View File

@@ -0,0 +1,26 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "stats" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function StatsSection(): React.JSX.Element {
return (
<div id="stats" data-section="stats">
<SectionErrorBoundary name="stats">
<MetricsIconCards
tag="Statistika"
title="Uğurlarımız"
description="Pluton Şadlıq Sarayı rəqəmlərlə"
metrics={[
{ icon: "Users", title: "Müştəri Rəyi", value: "52+" },
{ icon: "Star", title: "Reytinq", value: "4.2" },
{ icon: "Heart", title: "Uğurlu Tədbir", value: "500+" },
{ icon: "Award", title: "İl Təcrübə", value: "15+" },
]}
/>
</SectionErrorBoundary>
</div>
);
}