2 Commits

Author SHA1 Message Date
83c1971f0f Merge version_2_1781708230979 into main
Merge version_2_1781708230979 into main
2026-06-17 14:58:26 +00:00
kudinDmitriyUp
7225045c0c Bob AI: Updated theme to luxury black and gold 2026-06-17 14:57:36 +00:00
7 changed files with 254 additions and 189 deletions

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--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;
--background: #0a0a0a;
--card: #141414;
--foreground: #f5f5f5;
--primary-cta: #d4af37;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1f1f1f;
--secondary-cta-text: #d4af37;
--accent: #b8860b;
--background-accent: #1a1a1a;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,189 +1,27 @@
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import { Heart, Sparkles, Users } from "lucide-react";
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 FeaturesWhySection from './HomePage/sections/FeaturesWhy';
import ServicesBentoSection from './HomePage/sections/ServicesBento';
import TestimonialsSection from './HomePage/sections/Testimonials';
import SocialProofSection from './HomePage/sections/SocialProof';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardCarousel
tag="Since 2017"
title="Turning Your Special Moments into Unforgettable Memories"
description="Professional event planning, decoration, and coordination services for weddings, corporate events, birthdays, and special occasions across Kenya."
primaryButton={{
text: "Get a Quote",
href: "/contact",
}}
secondaryButton={{
text: "Contact Us",
href: "/contact",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/look-through-threads-with-buds-chrysanthemums-plastic-chairs-standing-hall_1304-3345.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/bouquet-white-roses-stands-middle-dinner-table-restaurant_1304-5424.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/crystals-hang-from-chandelier-decorated-with-greenery_8353-1269.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/cropped-image-young-african-man-standing-office_171337-13528.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-wedding-planner-working-ceremony_23-2150167224.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-wedding-altar-made-garland-spearworts-greene_8353-1775.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="features-why" data-section="features-why">
<SectionErrorBoundary name="features-why">
<FeaturesBorderGlow
tag="Why Choose Us"
title="Excellence in Event Planning"
description="We bring creativity and professionalism to every celebration, ensuring stress-free and stunning results."
features={[
{
icon: Users,
title: "Experienced Team",
description: "Professional event management team with years of expertise.",
},
{
icon: Sparkles,
title: "Creative Concepts",
description: "Tailored themes to suit your vision and occasion.",
},
{
icon: Heart,
title: "Personalized Services",
description: "Dedicated approach focused on your specific desires.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesWhySection />
<div id="services-bento" data-section="services-bento">
<SectionErrorBoundary name="services-bento">
<FeaturesImageBento
tag="Services"
title="Our Expert Services"
description="Full-service event planning and design for your most important moments."
items={[
{
title: "Weddings",
description: "Planning & Decoration",
imageSrc: "http://img.b2bpic.net/free-photo/crop-woman-decorating-bouquet_23-2147761054.jpg",
},
{
title: "Corporate",
description: "Events Management",
imageSrc: "http://img.b2bpic.net/free-photo/glad-blonde-girlfriend-shopping-cart-celebrates-birthday-wears-fashionable-clothes-poses-purple-wall-with-air-balloons-expresses-positive-emotions-people-celebration-party-concept_273609-26357.jpg",
},
{
title: "Birthdays",
description: "Creative Party Planning",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-friends-drinking-champagne-party-outdoors_197531-5854.jpg",
},
{
title: "Graduations",
description: "Memorable Setups",
imageSrc: "http://img.b2bpic.net/free-photo/female-wedding-planner-working-ceremony_23-2150167228.jpg",
},
{
title: "Showers",
description: "Baby & Bridal Showers",
imageSrc: "http://img.b2bpic.net/free-photo/full-length-portrait-dreamy-female-model-with-curly-hairstyle-holding-party-balloons-her-room-indoor-photo-pleased-girl-wears-black-dress-standing-near-blue-gift-box_197531-1786.jpg",
},
{
title: "Decoration",
description: "Stunning Styling",
imageSrc: "http://img.b2bpic.net/free-photo/dining-place-decorated-with-toys-glass-plates-new-year-eve-concept_132075-11257.jpg",
},
{
title: "Coordination",
description: "Full Management",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-interior-with-served-decorated-tables-guests-restaurant_181624-53274.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesBentoSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Testimonials"
title="Client Stories"
description="Hear from those who trusted us with their special moments."
testimonials={[
{
name: "Sarah J.",
role: "Bride",
company: "Wedding",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-beautiful-bride-smiling_1153-774.jpg",
},
{
name: "Michael C.",
role: "Manager",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/closeup-senior-businessman-with-arms-crossed_1262-1751.jpg",
},
{
name: "Emily R.",
role: "Client",
company: "Party",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-enjoying-party-holding-wine-glass_23-2148037558.jpg",
},
{
name: "David K.",
role: "Coordinator",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/curly-haired-businessman-smiles-talks-phone_496169-2746.jpg",
},
{
name: "Jane L.",
role: "Mom",
company: "Shower",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/joyful-young-bald-call-center-man-wearing-headset-sitting-desk-with-work-tools-doing-ok-sign-showing-thumb-up-laptop-isolated-white_141793-84103.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="social-proof" data-section="social-proof">
<SectionErrorBoundary name="social-proof">
<SocialProofMarquee
tag="Trusted By"
title="Our Industry Partners"
description="Collaborating with top brands to create excellence."
names={[
"Corporate Kenya",
"Venue Partners",
"Floral Experts",
"Catering Group",
"Audio-Visual Pros",
]}
/>
</SectionErrorBoundary>
</div>
<SocialProofSection />
</>
);
}

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 "features-why" section.
import React from 'react';
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
import { Heart, Sparkles, Users } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesWhySection(): React.JSX.Element {
return (
<div id="features-why" data-section="features-why">
<SectionErrorBoundary name="features-why">
<FeaturesBorderGlow
tag="Why Choose Us"
title="Excellence in Event Planning"
description="We bring creativity and professionalism to every celebration, ensuring stress-free and stunning results."
features={[
{
icon: Users,
title: "Experienced Team",
description: "Professional event management team with years of expertise.",
},
{
icon: Sparkles,
title: "Creative Concepts",
description: "Tailored themes to suit your vision and occasion.",
},
{
icon: Heart,
title: "Personalized Services",
description: "Dedicated approach focused on your specific desires.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,48 @@
// 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 HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardCarousel
tag="Since 2017"
title="Turning Your Special Moments into Unforgettable Memories"
description="Professional event planning, decoration, and coordination services for weddings, corporate events, birthdays, and special occasions across Kenya."
primaryButton={{
text: "Get a Quote",
href: "/contact",
}}
secondaryButton={{
text: "Contact Us",
href: "/contact",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/look-through-threads-with-buds-chrysanthemums-plastic-chairs-standing-hall_1304-3345.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/bouquet-white-roses-stands-middle-dinner-table-restaurant_1304-5424.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/crystals-hang-from-chandelier-decorated-with-greenery_8353-1269.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/cropped-image-young-african-man-standing-office_171337-13528.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-wedding-planner-working-ceremony_23-2150167224.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-wedding-altar-made-garland-spearworts-greene_8353-1775.jpg",
},
]}
/>
</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 "services-bento" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesBentoSection(): React.JSX.Element {
return (
<div id="services-bento" data-section="services-bento">
<SectionErrorBoundary name="services-bento">
<FeaturesImageBento
tag="Services"
title="Our Expert Services"
description="Full-service event planning and design for your most important moments."
items={[
{
title: "Weddings",
description: "Planning & Decoration",
imageSrc: "http://img.b2bpic.net/free-photo/crop-woman-decorating-bouquet_23-2147761054.jpg",
},
{
title: "Corporate",
description: "Events Management",
imageSrc: "http://img.b2bpic.net/free-photo/glad-blonde-girlfriend-shopping-cart-celebrates-birthday-wears-fashionable-clothes-poses-purple-wall-with-air-balloons-expresses-positive-emotions-people-celebration-party-concept_273609-26357.jpg",
},
{
title: "Birthdays",
description: "Creative Party Planning",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-friends-drinking-champagne-party-outdoors_197531-5854.jpg",
},
{
title: "Graduations",
description: "Memorable Setups",
imageSrc: "http://img.b2bpic.net/free-photo/female-wedding-planner-working-ceremony_23-2150167228.jpg",
},
{
title: "Showers",
description: "Baby & Bridal Showers",
imageSrc: "http://img.b2bpic.net/free-photo/full-length-portrait-dreamy-female-model-with-curly-hairstyle-holding-party-balloons-her-room-indoor-photo-pleased-girl-wears-black-dress-standing-near-blue-gift-box_197531-1786.jpg",
},
{
title: "Decoration",
description: "Stunning Styling",
imageSrc: "http://img.b2bpic.net/free-photo/dining-place-decorated-with-toys-glass-plates-new-year-eve-concept_132075-11257.jpg",
},
{
title: "Coordination",
description: "Full Management",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-interior-with-served-decorated-tables-guests-restaurant_181624-53274.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 "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="Trusted By"
title="Our Industry Partners"
description="Collaborating with top brands to create excellence."
names={[
"Corporate Kenya",
"Venue Partners",
"Floral Experts",
"Catering Group",
"Audio-Visual Pros",
]}
/>
</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 "testimonials" section.
import React from 'react';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Testimonials"
title="Client Stories"
description="Hear from those who trusted us with their special moments."
testimonials={[
{
name: "Sarah J.",
role: "Bride",
company: "Wedding",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-beautiful-bride-smiling_1153-774.jpg",
},
{
name: "Michael C.",
role: "Manager",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/closeup-senior-businessman-with-arms-crossed_1262-1751.jpg",
},
{
name: "Emily R.",
role: "Client",
company: "Party",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-enjoying-party-holding-wine-glass_23-2148037558.jpg",
},
{
name: "David K.",
role: "Coordinator",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/curly-haired-businessman-smiles-talks-phone_496169-2746.jpg",
},
{
name: "Jane L.",
role: "Mom",
company: "Shower",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/joyful-young-bald-call-center-man-wearing-headset-sitting-desk-with-work-tools-doing-ok-sign-showing-thumb-up-laptop-isolated-white_141793-84103.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}