Merge version_2_1782313775680 into main

Merge version_2_1782313775680 into main
This commit was merged in pull request #3.
This commit is contained in:
2026-06-24 15:11:52 +00:00
11 changed files with 238 additions and 137 deletions

View File

@@ -36,7 +36,7 @@ export default function Layout() {
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Abiari Interiors"
logoImageSrc="http://img.b2bpic.net/free-vector/rc-logo-monogram-design_23-2151060583.jpg"
logoImageSrc="https://storage.googleapis.com/webild/users/user_3FXwZkEMU4cqAOONj15cZx70RD4/uploaded-1782313774608-5une20t6.png"
ctaButton={{
text: "Inquire", href: "#contact"}}
navItems={navItems} />

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: #fdfbf9;
--card: #f5f0eb;
--foreground: #3d2b1f;
--primary-cta: #d4a373;
--primary-cta-text: #ffffff;
--secondary-cta: #f5f0eb;
--secondary-cta-text: #3d2b1f;
--accent: #a69b91;
--background-accent: #c2b6ac;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,139 +1,36 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroSplit from '@/components/sections/hero/HeroSplit';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
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 FeaturesSection from './HomePage/sections/Features';
import PortfolioSection from './HomePage/sections/Portfolio';
import TestimonialsSection from './HomePage/sections/Testimonials';
import MetricsSection from './HomePage/sections/Metrics';
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">
<HeroSplit
tag="Luxury Interior Design"
title="Crafting Timeless Spaces"
description="Abiari Interiors transforms your vision into a bespoke living experience, blending artisan craftsmanship with modern elegance."
primaryButton={{ text: "View Projects", href: "#portfolio" }}
secondaryButton={{ text: "Our Process", href: "#about" }}
imageSrc="http://img.b2bpic.net/free-photo/full-shot-woman-writing-her-journal_23-2150416349.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Philosophy"
title="Eigens in Every Detail"
description="We believe home is more than a place; it is a canvas for your life. Our approach combines structured design with warm, organic aesthetics."
items={[
{ icon: "Sparkles", title: "Artisanal Vision", description: "Hand-picked materials and textures." },
{ icon: "CheckCircle", title: "Tailored Layouts", description: "Spaces perfectly fit for your habits." },
{ icon: "Award", title: "Award-Winning Craft", description: "Industry leading design standards." },
]}
imageSrc="http://img.b2bpic.net/free-photo/keyboard-diary-calculator-blueprint-background_23-2148183022.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Us"
title="The Abiari Difference"
description="We bridge the gap between architectural integrity and intimate comfort."
features={[
{ title: "Bespoke Furnishings", description: "Custom pieces made to order.", imageSrc: "http://img.b2bpic.net/free-photo/texture-background_1404-190.jpg" },
{ title: "Spatial Flow", description: "Optimized layouts for every lifestyle.", imageSrc: "http://img.b2bpic.net/free-photo/gift-boxes-3d-present-package-with-ribbon-bow_107791-17012.jpg" },
{ title: "Lighting Design", description: "Atmospheric solutions for all spaces.", imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=3i9vzs" },
{ title: "Sustainable Luxury", description: "Ethical and durable material choices.", imageSrc: "http://img.b2bpic.net/free-vector/creative-icons-set_1251-2.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesImageBento
tag="Our Works"
title="Curated Design Projects"
description="A glimpse into our recent residential and commercial interior projects."
items={[
{ title: "Modern Dining", description: "Sophisticated dining room redesign.", imageSrc: "http://img.b2bpic.net/free-photo/modern-luxury-bathroom-interior-with-natural-stone-tiles-bathtub_1194-640320.jpg" },
{ title: "Living Elegance", description: "Minimalist living space composition.", imageSrc: "http://img.b2bpic.net/free-photo/modern-styled-small-entryway_23-2150712903.jpg" },
{ title: "Kitchen Artistry", description: "High-end functional culinary space.", imageSrc: "http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199326.jpg" },
{ title: "Master Retreat", description: "Serene bedroom sanctuary.", imageSrc: "http://img.b2bpic.net/free-photo/cozy-modern-bedroom-with-comfortable-bedding-green-plants-generated-by-ai_188544-38187.jpg" },
{ title: "Executive Suite", description: "Refined and productive office.", imageSrc: "http://img.b2bpic.net/free-photo/modern-styled-small-entryway_23-2150712969.jpg" },
{ title: "Spa Bathroom", description: "Luxurious sanctuary design.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-loft-luxury-living-room-with-design-chandelier_105762-2226.jpg" },
{ title: "Artistic Entry", description: "A grand entrance experience.", imageSrc: "http://img.b2bpic.net/free-photo/creative-fengshui-practice-dining-room-arrangement_23-2149135746.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<PortfolioSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Client Stories"
title="Trusted by Many"
description="Hear what our clients have to say about their Abiari transformation."
testimonials={[
{ name: "Eleanor P.", role: "Homeowner", quote: "Simply transformed my house into a sanctuary.", imageSrc: "http://img.b2bpic.net/free-photo/bearded-young-man-standing-office-medium-shot_23-2148327020.jpg" },
{ name: "Marcus W.", role: "Business Owner", quote: "Professional, punctual, and highly creative.", imageSrc: "http://img.b2bpic.net/free-photo/professional-women-stylish-suit-office-with-tablet-device_23-2150167810.jpg" },
{ name: "Sarah J.", role: "Architect", quote: "Attention to detail is truly unmatched.", imageSrc: "http://img.b2bpic.net/free-photo/couple-sharing-great-working-relationship_329181-17640.jpg" },
{ name: "David K.", role: "Homeowner", quote: "They understood exactly what I needed.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-women-high-five_23-2149390525.jpg" },
{ name: "Emma R.", role: "Creative Director", quote: "The aesthetic is absolutely divine.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-man-posing-near-wall_23-2148718039.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Impact"
title="Design by the Numbers"
description="Quality and expertise built over a decade."
metrics={[
{ value: "150+", title: "Completed Projects", description: "Satisfied clients across the region.", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-artisan-doing-woodcutting_23-2150104701.jpg" },
{ value: "12", title: "Years Experience", description: "Expert design in every corner.", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-man-working-project_23-2149721868.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Need Help?"
title="Frequently Asked Questions"
description="Answers to our common process inquiries."
categories={[
{ name: "General", items: [
{ question: "What is the timeline?", answer: "Usually 3-6 months depending on scope." },
{ question: "How do we start?", answer: "Simply fill out our consultation form." },
{ question: "Do you work remotely?", answer: "Yes, we offer virtual design packages." },
] },
]}
cta={{ name: "Design Consultant", role: "Lead Architect", buttonText: "Ask Us Anything", buttonHref: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-with-canvas_23-2148944968.jpg" }}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get Started"
text="Ready to redefine your space? Let's discuss your project vision today."
primaryButton={{ text: "Book Consultation", href: "#" }}
secondaryButton={{ text: "Email Us", href: "mailto:hello@abiariinteriors.com" }}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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 "about" section.
import React from 'react';
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Our Philosophy"
title="Eigens in Every Detail"
description="We believe home is more than a place; it is a canvas for your life. Our approach combines structured design with warm, organic aesthetics."
items={[
{ icon: "Sparkles", title: "Artisanal Vision", description: "Hand-picked materials and textures." },
{ icon: "CheckCircle", title: "Tailored Layouts", description: "Spaces perfectly fit for your habits." },
{ icon: "Award", title: "Award-Winning Craft", description: "Industry leading design standards." },
]}
imageSrc="http://img.b2bpic.net/free-photo/keyboard-diary-calculator-blueprint-background_23-2148183022.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

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 "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="Get Started"
text="Ready to redefine your space? Let's discuss your project vision today."
primaryButton={{ text: "Book Consultation", href: "#" }}
secondaryButton={{ text: "Email Us", href: "mailto:hello@abiariinteriors.com" }}
/>
</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 "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="Need Help?"
title="Frequently Asked Questions"
description="Answers to our common process inquiries."
categories={[
{ name: "General", items: [
{ question: "What is the timeline?", answer: "Usually 3-6 months depending on scope." },
{ question: "How do we start?", answer: "Simply fill out our consultation form." },
{ question: "Do you work remotely?", answer: "Yes, we offer virtual design packages." },
] },
]}
cta={{ name: "Design Consultant", role: "Lead Architect", buttonText: "Ask Us Anything", buttonHref: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-woman-with-canvas_23-2148944968.jpg" }}
/>
</SectionErrorBoundary>
</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 "features" section.
import React from 'react';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Us"
title="The Abiari Difference"
description="We bridge the gap between architectural integrity and intimate comfort."
features={[
{ title: "Bespoke Furnishings", description: "Custom pieces made to order.", imageSrc: "http://img.b2bpic.net/free-photo/texture-background_1404-190.jpg" },
{ title: "Spatial Flow", description: "Optimized layouts for every lifestyle.", imageSrc: "http://img.b2bpic.net/free-photo/gift-boxes-3d-present-package-with-ribbon-bow_107791-17012.jpg" },
{ title: "Lighting Design", description: "Atmospheric solutions for all spaces.", imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=3i9vzs" },
{ title: "Sustainable Luxury", description: "Ethical and durable material choices.", imageSrc: "http://img.b2bpic.net/free-vector/creative-icons-set_1251-2.jpg" },
]}
/>
</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 HeroSplit from '@/components/sections/hero/HeroSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplit
tag="Luxury Interior Design"
title="Crafting Timeless Spaces"
description="Abiari Interiors transforms your vision into a bespoke living experience, blending artisan craftsmanship with modern elegance."
primaryButton={{ text: "View Projects", href: "#portfolio" }}
secondaryButton={{ text: "Our Process", href: "#about" }}
imageSrc="http://img.b2bpic.net/free-photo/full-shot-woman-writing-her-journal_23-2150416349.jpg"
/>
</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 "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 Impact"
title="Design by the Numbers"
description="Quality and expertise built over a decade."
metrics={[
{ value: "150+", title: "Completed Projects", description: "Satisfied clients across the region.", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-artisan-doing-woodcutting_23-2150104701.jpg" },
{ value: "12", title: "Years Experience", description: "Expert design in every corner.", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-man-working-project_23-2149721868.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "portfolio" section.
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PortfolioSection(): React.JSX.Element {
return (
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesImageBento
tag="Our Works"
title="Curated Design Projects"
description="A glimpse into our recent residential and commercial interior projects."
items={[
{ title: "Modern Dining", description: "Sophisticated dining room redesign.", imageSrc: "http://img.b2bpic.net/free-photo/modern-luxury-bathroom-interior-with-natural-stone-tiles-bathtub_1194-640320.jpg" },
{ title: "Living Elegance", description: "Minimalist living space composition.", imageSrc: "http://img.b2bpic.net/free-photo/modern-styled-small-entryway_23-2150712903.jpg" },
{ title: "Kitchen Artistry", description: "High-end functional culinary space.", imageSrc: "http://img.b2bpic.net/free-photo/interior-design-neoclassical-style-with-furnishings-decor_23-2151199326.jpg" },
{ title: "Master Retreat", description: "Serene bedroom sanctuary.", imageSrc: "http://img.b2bpic.net/free-photo/cozy-modern-bedroom-with-comfortable-bedding-green-plants-generated-by-ai_188544-38187.jpg" },
{ title: "Executive Suite", description: "Refined and productive office.", imageSrc: "http://img.b2bpic.net/free-photo/modern-styled-small-entryway_23-2150712969.jpg" },
{ title: "Spa Bathroom", description: "Luxurious sanctuary design.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-loft-luxury-living-room-with-design-chandelier_105762-2226.jpg" },
{ title: "Artistic Entry", description: "A grand entrance experience.", imageSrc: "http://img.b2bpic.net/free-photo/creative-fengshui-practice-dining-room-arrangement_23-2149135746.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 "testimonials" section.
import React from 'react';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Client Stories"
title="Trusted by Many"
description="Hear what our clients have to say about their Abiari transformation."
testimonials={[
{ name: "Eleanor P.", role: "Homeowner", quote: "Simply transformed my house into a sanctuary.", imageSrc: "http://img.b2bpic.net/free-photo/bearded-young-man-standing-office-medium-shot_23-2148327020.jpg" },
{ name: "Marcus W.", role: "Business Owner", quote: "Professional, punctual, and highly creative.", imageSrc: "http://img.b2bpic.net/free-photo/professional-women-stylish-suit-office-with-tablet-device_23-2150167810.jpg" },
{ name: "Sarah J.", role: "Architect", quote: "Attention to detail is truly unmatched.", imageSrc: "http://img.b2bpic.net/free-photo/couple-sharing-great-working-relationship_329181-17640.jpg" },
{ name: "David K.", role: "Homeowner", quote: "They understood exactly what I needed.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-women-high-five_23-2149390525.jpg" },
{ name: "Emma R.", role: "Creative Director", quote: "The aesthetic is absolutely divine.", imageSrc: "http://img.b2bpic.net/free-photo/front-view-man-posing-near-wall_23-2148718039.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}