2 Commits

Author SHA1 Message Date
903a83e988 Merge version_2_1781519961888 into main
Merge version_2_1781519961888 into main
2026-06-15 10:42:51 +00:00
kudinDmitriyUp
f616d9fb2d Bob AI: Updated theme colors, navbar logo, and hero section. 2026-06-15 10:42:05 +00:00
10 changed files with 313 additions and 233 deletions

View File

@@ -20,20 +20,20 @@ export default function Layout() {
"href": "#products"
},
{
"name": "About",
"name": "Offers",
"href": "#offers"
},
{
"name": "Blog",
"href": "#blog"
},
{
"name": "About Us",
"href": "#about"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Business",
"href": "#business"
},
{
"name": "Testimonials",
"href": "#testimonials"
"name": "Contact Us",
"href": "#contact"
}
];
@@ -42,9 +42,9 @@ export default function Layout() {
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarInline
logo="QuickSeva"
logo="https://storage.googleapis.com/webild/users/user_3FAXTKWYMS4P112UeNzWHzCPEir/uploaded-1781519960494-25qqbhm5.jpg"
ctaButton={{
text: "Book Service",
text: "Login / Signup",
href: "#contact",
}}
navItems={navItems} />

View File

@@ -5,13 +5,13 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #020617;
--card: #0f172a;
--foreground: #f8fafc;
--background: #ffffff;
--card: #f8fafc;
--foreground: #020617;
--primary-cta: #106EFB;
--primary-cta-text: #ffffff;
--secondary-cta: #0f172a;
--secondary-cta-text: #f8fafc;
--secondary-cta: #f1f5f9;
--secondary-cta-text: #020617;
--accent: #38bdf8;
--background-accent: #1e293b;

View File

@@ -1,226 +1,33 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
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 ServicesSection from './HomePage/sections/Services';
import ProductsSection from './HomePage/sections/Products';
import BusinessSection from './HomePage/sections/Business';
import TestimonialsSection from './HomePage/sections/Testimonials';
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">
<HeroBillboardBrand
brand="QuickSeva"
description="Modasa's premier marketplace for local services, products, and businesses. Quality you can trust, right at your doorstep."
primaryButton={{
text: "Book Now",
href: "#services",
}}
secondaryButton={{
text: "Join as Partner",
href: "#contact",
}}
imageSrc="http://img.b2bpic.net/free-photo/saas-concept-collage_23-2149399288.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCards
tag="Our Services"
title="Essential Local Services"
description="From repairs to professional care, we provide everything your home needs."
items={[
{
title: "Electrician",
description: "Expert electrical repairs and installations.",
imageSrc: "http://img.b2bpic.net/free-photo/technical-specialist-repairing-electrical-system-with-screwdriver-industrial-electrician_169016-71746.jpg",
},
{
title: "Plumber",
description: "Fast and reliable plumbing solutions.",
imageSrc: "http://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990730.jpg",
},
{
title: "Carpenter",
description: "High-quality furniture repair and woodwork.",
imageSrc: "http://img.b2bpic.net/free-photo/tools-stand-inside-old-atelier_114579-12142.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Local Marketplace"
title="Featured Products"
description="Shop the best products from your local Modasa vendors."
items={[
{
title: "Smart Tech",
description: "Latest gadgets.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-wireless-cyberpunk-headphones_23-2151072234.jpg",
},
{
title: "Groceries",
description: "Fresh produce.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fruit-stand-background_23-2147960255.jpg",
},
{
title: "Home Care",
description: "Essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-bucket-with-cleaning-solutions-gloves_23-2148587338.jpg",
},
{
title: "Tools",
description: "Home hardware.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/headphones-laptop-home_23-2149551432.jpg",
},
{
title: "Office Items",
description: "Supplies.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-holding-groceries-bag_23-2149663614.jpg",
},
{
title: "Personal Care",
description: "Daily needs.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/colorful-composition-with-set-bright-cleaning-sponges-cleaning-agent-cleaning-service-concept-background_169016-10768.jpg",
},
{
title: "Books",
description: "Stationary.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-wireless-cyberpunk-headphones_23-2151072189.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="business" data-section="business">
<SectionErrorBoundary name="business">
<MetricsMediaCards
tag="Local Businesses"
title="Explore Modasa Business"
description="Support local commerce with our verified directory."
metrics={[
{
value: "500+",
title: "Restaurants",
description: "Top rated spots.",
imageSrc: "http://img.b2bpic.net/free-photo/dining-table-background-zoom-calls_23-2149684444.jpg",
},
{
value: "120+",
title: "Medical Stores",
description: "Always reachable.",
imageSrc: "http://img.b2bpic.net/free-photo/people-meeting-medical-office-talk-about-pregnancy-childbirth-pregnant-woman-asking-advice-from-obstetrician-medic-having-conversation-with-expectant-patient-taking-notes_482257-45739.jpg",
},
{
value: "85+",
title: "Fitness Hubs",
description: "Stay healthy.",
imageSrc: "http://img.b2bpic.net/free-photo/equipments-gym_93675-129485.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<BusinessSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Our Community"
title="What Modasa Says"
description="Thousands of satisfied customers and business owners."
testimonials={[
{
name: "Aman Patel",
role: "Home Owner",
quote: "QuickSeva is a game changer for local services in Modasa.",
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-successful-young-businesswoman_1262-5844.jpg",
},
{
name: "Neha Shah",
role: "Vendor",
quote: "My business reach has tripled since joining the platform.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-long-haired-laughing-asian-man-with-blonde-woman-pleased-chinese-office-worker-blue-shirt-joking-with-female-colleague-workplace_197531-3733.jpg",
},
{
name: "Rahul Verma",
role: "Professional",
quote: "Fast, reliable, and super convenient.",
imageSrc: "http://img.b2bpic.net/free-photo/technology-occupation-remote-work-concept-confident-young-female-copywriter-standing-kitchen_343059-3895.jpg",
},
{
name: "Priya Mehta",
role: "Customer",
quote: "The best way to find local experts.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-drinking-coffee-construction-side_329181-3771.jpg",
},
{
name: "Suresh Kumar",
role: "User",
quote: "Incredible marketplace experience.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-man-using-computer-laptop-home-smiling-confident-pointing-with-fingers-different-directions-copy-space-advertisement_839833-25307.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked Questions"
description="Everything you need to know about QuickSeva."
items={[
{
question: "How do I become a vendor?",
answer: "Register through the vendor portal and complete your verification.",
},
{
question: "Is QuickSeva available in my area?",
answer: "We are fully operational throughout Modasa, Gujarat.",
},
{
question: "How are payments processed?",
answer: "We integrate with Razorpay for secure payments.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get Started"
text="Join the QuickSeva community today. Whether you need services or want to sell, we're here to help."
primaryButton={{
text: "Contact Us",
href: "#",
}}
secondaryButton={{
text: "WhatsApp Support",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,40 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "business" section.
import React from 'react';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function BusinessSection(): React.JSX.Element {
return (
<div id="business" data-section="business">
<SectionErrorBoundary name="business">
<MetricsMediaCards
tag="Local Businesses"
title="Explore Modasa Business"
description="Support local commerce with our verified directory."
metrics={[
{
value: "500+",
title: "Restaurants",
description: "Top rated spots.",
imageSrc: "http://img.b2bpic.net/free-photo/dining-table-background-zoom-calls_23-2149684444.jpg",
},
{
value: "120+",
title: "Medical Stores",
description: "Always reachable.",
imageSrc: "http://img.b2bpic.net/free-photo/people-meeting-medical-office-talk-about-pregnancy-childbirth-pregnant-woman-asking-advice-from-obstetrician-medic-having-conversation-with-expectant-patient-taking-notes_482257-45739.jpg",
},
{
value: "85+",
title: "Fitness Hubs",
description: "Stay healthy.",
imageSrc: "http://img.b2bpic.net/free-photo/equipments-gym_93675-129485.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 Started"
text="Join the QuickSeva community today. Whether you need services or want to sell, we're here to help."
primaryButton={{
text: "Contact Us",
href: "#",
}}
secondaryButton={{
text: "WhatsApp Support",
href: "#",
}}
/>
</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="Support"
title="Frequently Asked Questions"
description="Everything you need to know about QuickSeva."
items={[
{
question: "How do I become a vendor?",
answer: "Register through the vendor portal and complete your verification.",
},
{
question: "Is QuickSeva available in my area?",
answer: "We are fully operational throughout Modasa, Gujarat.",
},
{
question: "How are payments processed?",
answer: "We integrate with Razorpay for secure payments.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,19 @@
// Created by add_section_from_catalog (HeroOverlay).
import React from 'react';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
export default function HeroSection(): React.JSX.Element {
return (
<div data-webild-section="hero" id="hero">
<HeroOverlay
title="Book Trusted Services at Your Doorstep"
description="Plumber, Electrician, AC Repair, Cleaning & more. Trained Professionals | Safe & Reliable"
primaryButton={{"href":"#services","text":"Book Now"}}
secondaryButton={{"href":"#contact","text":"Join as Partner"}}
imageSrc="https://storage.googleapis.com/webild/users/user_3FAXTKWYMS4P112UeNzWHzCPEir/uploaded-1781519960489-1vcu72bc.png"
tag="…"
/>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Local Marketplace"
title="Featured Products"
description="Shop the best products from your local Modasa vendors."
items={[
{
title: "Smart Tech",
description: "Latest gadgets.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-wireless-cyberpunk-headphones_23-2151072234.jpg",
},
{
title: "Groceries",
description: "Fresh produce.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/fruit-stand-background_23-2147960255.jpg",
},
{
title: "Home Care",
description: "Essentials.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-bucket-with-cleaning-solutions-gloves_23-2148587338.jpg",
},
{
title: "Tools",
description: "Home hardware.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/headphones-laptop-home_23-2149551432.jpg",
},
{
title: "Office Items",
description: "Supplies.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-holding-groceries-bag_23-2149663614.jpg",
},
{
title: "Personal Care",
description: "Daily needs.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/colorful-composition-with-set-bright-cleaning-sponges-cleaning-agent-cleaning-service-concept-background_169016-10768.jpg",
},
{
title: "Books",
description: "Stationary.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-wireless-cyberpunk-headphones_23-2151072189.jpg",
},
]}
/>
</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="Our Services"
title="Essential Local Services"
description="From repairs to professional care, we provide everything your home needs."
items={[
{
title: "Electrician",
description: "Expert electrical repairs and installations.",
imageSrc: "http://img.b2bpic.net/free-photo/technical-specialist-repairing-electrical-system-with-screwdriver-industrial-electrician_169016-71746.jpg",
},
{
title: "Plumber",
description: "Fast and reliable plumbing solutions.",
imageSrc: "http://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990730.jpg",
},
{
title: "Carpenter",
description: "High-quality furniture repair and woodwork.",
imageSrc: "http://img.b2bpic.net/free-photo/tools-stand-inside-old-atelier_114579-12142.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// 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 TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Our Community"
title="What Modasa Says"
description="Thousands of satisfied customers and business owners."
testimonials={[
{
name: "Aman Patel",
role: "Home Owner",
quote: "QuickSeva is a game changer for local services in Modasa.",
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-successful-young-businesswoman_1262-5844.jpg",
},
{
name: "Neha Shah",
role: "Vendor",
quote: "My business reach has tripled since joining the platform.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-long-haired-laughing-asian-man-with-blonde-woman-pleased-chinese-office-worker-blue-shirt-joking-with-female-colleague-workplace_197531-3733.jpg",
},
{
name: "Rahul Verma",
role: "Professional",
quote: "Fast, reliable, and super convenient.",
imageSrc: "http://img.b2bpic.net/free-photo/technology-occupation-remote-work-concept-confident-young-female-copywriter-standing-kitchen_343059-3895.jpg",
},
{
name: "Priya Mehta",
role: "Customer",
quote: "The best way to find local experts.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-drinking-coffee-construction-side_329181-3771.jpg",
},
{
name: "Suresh Kumar",
role: "User",
quote: "Incredible marketplace experience.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-man-using-computer-laptop-home-smiling-confident-pointing-with-fingers-different-directions-copy-space-advertisement_839833-25307.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}