4 Commits

Author SHA1 Message Date
3635b5d33d Merge version_2_1782095145924 into main
Merge version_2_1782095145924 into main
2026-06-22 02:29:14 +00:00
kudinDmitriyUp
80809338e6 Bob AI: Restore HeroSplit component to fix layout and pass destructi 2026-06-22 02:28:34 +00:00
kudinDmitriyUp
66c58d94e6 Bob AI: Update layout with Varad Salon branding, navigation, and foo 2026-06-22 02:26:56 +00:00
kudinDmitriyUp
19eec627c6 Bob AI: Update global theme to luxury palette (charcoal, gold, ivory 2026-06-22 02:26:20 +00:00
11 changed files with 383 additions and 250 deletions

View File

@@ -20,20 +20,24 @@ export default function Layout() {
"href": "#services"
},
{
"name": "Contact",
"href": "#contact"
"name": "Gallery",
"href": "#gallery"
},
{
"name": "Team",
"href": "#team"
"name": "Branches",
"href": "#branches"
},
{
"name": "Testimonials",
"href": "#testimonials"
},
{
"name": "Metrics",
"href": "#metrics"
"name": "FAQ",
"href": "#faq"
},
{
"name": "Contact",
"href": "#contact"
}
];
@@ -42,7 +46,7 @@ export default function Layout() {
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloating
logo="Shree Dental"
logo="Varad Salon"
ctaButton={{
text: "Book Appointment",
href: "#contact",
@@ -54,47 +58,75 @@ export default function Layout() {
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
brand="Shree Dental Clinic"
brand="Varad Salon"
columns={[
{
title: "Clinic",
title: "Quick Links",
items: [
{
label: "Services",
href: "#services",
label: "Home",
href: "#hero",
},
{
label: "About Us",
href: "#about",
},
],
},
{
title: "Support",
items: [
{
label: "Services",
href: "#services",
},
{
label: "Gallery",
href: "#gallery",
},
{
label: "Branches",
href: "#branches",
},
{
label: "Testimonials",
href: "#testimonials",
},
{
label: "FAQ",
href: "#faq",
},
{
label: "Book Now",
label: "Contact",
href: "#contact",
},
],
},
{
title: "Contact",
items: [
{
label: "+91 98905 15197",
href: "tel:+919890515197",
},
{
label: "[Add business email]",
href: "mailto:placeholder@example.com",
},
{
label: "[Add primary branch address]",
href: "#",
},
],
},
]}
copyright="© 2024 Shree Dental Clinic. All rights reserved."
copyright="© 2024 Varad Salon. Designed with care."
links={[
{
label: "Privacy Policy",
label: "Instagram",
href: "#",
},
{
label: "Terms of Service",
label: "Facebook",
href: "#",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/close-up-dentist-instruments_23-2151042921.jpg"
imageSrc="https://images.unsplash.com/photo-1560066984-138dadb4c035?q=80&w=1000&auto=format&fit=crop"
/>
</SectionErrorBoundary>
</StyleProvider>

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #f5faff;
--background: #FAF7F2;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta-text: #f5faff;
--foreground: #1A1A1A;
--primary-cta: #C9A861;
--primary-cta-text: #1A1A1A;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;
--secondary-cta-text: #1A1A1A;
--accent: #E8C4C4;
--background-accent: #E8C4C4;
/* @layout/border-radius/rounded */
--radius: 1.5rem;

View File

@@ -1,234 +1,36 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import HeroSplit from '@/components/sections/hero/HeroSplit';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import { Instagram, Linkedin } 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 AboutSection from './HomePage/sections/About';
import ServicesSection from './HomePage/sections/Services';
import TeamSection from './HomePage/sections/Team';
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="Trusted Dental Care"
title="Your Smile Deserves the Best Expert Care"
description="Experience professional dental services in Chhatrapati Sambhajinagar with advanced care, implants, and a patient-first approach."
primaryButton={{
text: "Book Appointment",
href: "#contact",
}}
secondaryButton={{
text: "View Services",
href: "#services",
}}
imageSrc="http://img.b2bpic.net/free-photo/portrait-smiling-doctor-crossed-hands-front-white-wall_158595-7667.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Philosophy"
quote="Our clinic is built on the foundation of compassionate care and advanced dental excellence, ensuring every patient walks out with a healthier smile."
author="Dr. Boddawar"
role="Chief Dentist"
imageSrc="http://img.b2bpic.net/free-photo/female-patient-sitting-dentalchair-before-whitening-procedure_1303-26385.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCards
tag="Dental Services"
title="Comprehensive Dental Solutions"
description="From routine checkups to complex implants, we cover all your oral health needs."
items={[
{
title: "Dental Implants",
description: "High-quality implants with long-term durability.",
imageSrc: "http://img.b2bpic.net/free-photo/jar-cotton-rolls-orthodontic-instruments-dental-procedure_651396-3108.jpg",
},
{
title: "Routine Checkups",
description: "Regular cleaning and oral health assessments.",
imageSrc: "http://img.b2bpic.net/free-photo/dental-tools-equipment-white-background_1232-4423.jpg",
},
{
title: "Cosmetic Dentistry",
description: "Enhance your smile with modern cosmetic treatments.",
imageSrc: "http://img.b2bpic.net/free-photo/selective-focus-x-ray-picture-teeth-tablet_651396-1403.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamDetailedCards
tag="Our Experts"
title="Meet Your Care Team"
description="Our professionals are dedicated to your dental health and hygiene."
members={[
{
name: "Dr. Boddawar",
role: "Senior Implantologist",
description: "15+ years of experience in restorative dentistry.",
socialLinks: [
{
icon: Linkedin,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/dentist-standing-with-his-arms-crossed_107420-65314.jpg",
},
{
name: "Dr. Sharma",
role: "Orthodontist",
description: "Specialist in braces and smile alignment.",
socialLinks: [
{
icon: Instagram,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/smiling-happily-offering-showing-concept_1194-559502.jpg",
},
{
name: "Dr. Patil",
role: "Dental Surgeon",
description: "Expert in pain-free surgical procedures.",
socialLinks: [
{
icon: Linkedin,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/portrait-nurse-smiling-work_23-2148757334.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TeamSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Patient Reviews"
title="What Our Patients Say"
description="Trusted by hundreds of families in Aurangabad."
testimonials={[
{
name: "Sarah J.",
role: "Teacher",
company: "Local School",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-mid-adult-man-sitting-chair-by-dentist-clinic_662251-2558.jpg",
},
{
name: "Michael K.",
role: "Entrepreneur",
company: "Tech Startup",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-doctor-checking-patient_23-2149726926.jpg",
},
{
name: "Emily R.",
role: "Artist",
company: "Independent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-black-female-doctor-talking-couple-showing-them-medical-test-results-touchpad-consultations-clinic_637285-1755.jpg",
},
{
name: "David C.",
role: "Manager",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-doctor-patient_23-2149103572.jpg",
},
{
name: "Jane D.",
role: "Designer",
company: "Freelance",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-mature-woman-talking-her-doctor-medical-clinic_637285-9073.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="Proven Results"
description="Making smiles healthy every single day."
metrics={[
{
value: "10k+",
description: "Happy Patients",
},
{
value: "15+",
description: "Years Experience",
},
{
value: "2000+",
description: "Implants Placed",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Questions?"
title="Frequently Asked Questions"
description="Answers to common concerns about your treatment."
items={[
{
question: "What is the 2-2-2 rule?",
answer: "Brush twice a day, for two minutes, using fluoride toothpaste.",
},
{
question: "How do I book an appointment?",
answer: "You can call us directly or use the contact form.",
},
{
question: "Is dental work painful?",
answer: "With modern technology and anesthesia, we ensure your visit is pain-free.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get in touch"
text="Ready for your next checkup? We are open until 10:30 PM."
primaryButton={{
text: "Call Now",
href: "tel:+919999999999",
}}
secondaryButton={{
text: "WhatsApp",
href: "https://wa.me/919999999999",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Philosophy"
quote="Our clinic is built on the foundation of compassionate care and advanced dental excellence, ensuring every patient walks out with a healthier smile."
author="Dr. Boddawar"
role="Chief Dentist"
imageSrc="http://img.b2bpic.net/free-photo/female-patient-sitting-dentalchair-before-whitening-procedure_1303-26385.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="Get in touch"
text="Ready for your next checkup? We are open until 10:30 PM."
primaryButton={{
text: "Call Now",
href: "tel:+919999999999",
}}
secondaryButton={{
text: "WhatsApp",
href: "https://wa.me/919999999999",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// 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="Questions?"
title="Frequently Asked Questions"
description="Answers to common concerns about your treatment."
items={[
{
question: "What is the 2-2-2 rule?",
answer: "Brush twice a day, for two minutes, using fluoride toothpaste.",
},
{
question: "How do I book an appointment?",
answer: "You can call us directly or use the contact form.",
},
{
question: "Is dental work painful?",
answer: "With modern technology and anesthesia, we ensure your visit is pain-free.",
},
]}
/>
</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 "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="Unisex Salon • Multiple Branches • Trusted by Happy Clients"
title="Aurangabad's Premier Destination for Hair & Beauty"
description="[Add your salon's founding story, mission, and philosophy here] - We offer premium hair, makeup, and spa services for men and women across multiple branches."
primaryButton={{
text: "Book Appointment",
href: "https://wa.me/919890515197?text=Hi,%20I'd%20like%20to%20book%20an%20appointment%20at%20Varad%20Salon",
}}
secondaryButton={{
text: "WhatsApp Us",
href: "https://wa.me/919890515197?text=Hi,%20I'd%20like%20to%20book%20an%20appointment%20at%20Varad%20Salon",
}}
imageSrc="https://images.unsplash.com/photo-1560066984-138dadb4c035?q=80&w=1000&auto=format&fit=crop"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="Proven Results"
description="Making smiles healthy every single day."
metrics={[
{
value: "10k+",
description: "Happy Patients",
},
{
value: "15+",
description: "Years Experience",
},
{
value: "2000+",
description: "Implants Placed",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "services" section.
import React from 'react';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCards
tag="Dental Services"
title="Comprehensive Dental Solutions"
description="From routine checkups to complex implants, we cover all your oral health needs."
items={[
{
title: "Dental Implants",
description: "High-quality implants with long-term durability.",
imageSrc: "http://img.b2bpic.net/free-photo/jar-cotton-rolls-orthodontic-instruments-dental-procedure_651396-3108.jpg",
},
{
title: "Routine Checkups",
description: "Regular cleaning and oral health assessments.",
imageSrc: "http://img.b2bpic.net/free-photo/dental-tools-equipment-white-background_1232-4423.jpg",
},
{
title: "Cosmetic Dentistry",
description: "Enhance your smile with modern cosmetic treatments.",
imageSrc: "http://img.b2bpic.net/free-photo/selective-focus-x-ray-picture-teeth-tablet_651396-1403.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,59 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "team" section.
import React from 'react';
import TeamDetailedCards from '@/components/sections/team/TeamDetailedCards';
import { Instagram, Linkedin } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TeamSection(): React.JSX.Element {
return (
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamDetailedCards
tag="Our Experts"
title="Meet Your Care Team"
description="Our professionals are dedicated to your dental health and hygiene."
members={[
{
name: "Dr. Boddawar",
role: "Senior Implantologist",
description: "15+ years of experience in restorative dentistry.",
socialLinks: [
{
icon: Linkedin,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/dentist-standing-with-his-arms-crossed_107420-65314.jpg",
},
{
name: "Dr. Sharma",
role: "Orthodontist",
description: "Specialist in braces and smile alignment.",
socialLinks: [
{
icon: Instagram,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/smiling-happily-offering-showing-concept_1194-559502.jpg",
},
{
name: "Dr. Patil",
role: "Dental Surgeon",
description: "Expert in pain-free surgical procedures.",
socialLinks: [
{
icon: Linkedin,
url: "#",
},
],
imageSrc: "http://img.b2bpic.net/free-photo/portrait-nurse-smiling-work_23-2148757334.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 "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="Patient Reviews"
title="What Our Patients Say"
description="Trusted by hundreds of families in Aurangabad."
testimonials={[
{
name: "Sarah J.",
role: "Teacher",
company: "Local School",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-mid-adult-man-sitting-chair-by-dentist-clinic_662251-2558.jpg",
},
{
name: "Michael K.",
role: "Entrepreneur",
company: "Tech Startup",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smiley-doctor-checking-patient_23-2149726926.jpg",
},
{
name: "Emily R.",
role: "Artist",
company: "Independent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-black-female-doctor-talking-couple-showing-them-medical-test-results-touchpad-consultations-clinic_637285-1755.jpg",
},
{
name: "David C.",
role: "Manager",
company: "Corporate",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-smiley-doctor-patient_23-2149103572.jpg",
},
{
name: "Jane D.",
role: "Designer",
company: "Freelance",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-mature-woman-talking-her-doctor-medical-clinic_637285-9073.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}