Merge version_13_1782020435148 into main #12
@@ -60,7 +60,7 @@ export default function Layout() {
|
||||
socialLinks={[
|
||||
{
|
||||
icon: Instagram,
|
||||
href: "#",
|
||||
href: "https://www.instagram.com/ss_.designers?igsh=bndjNGlkbjJ1eWo5",
|
||||
},
|
||||
{
|
||||
icon: Facebook,
|
||||
|
||||
@@ -1,258 +1,36 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
|
||||
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
|
||||
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 MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
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">
|
||||
<HeroTiltedCards
|
||||
tag="Luxury Bespoke Tailoring"
|
||||
title="SS Tailor: Crafted to Perfection"
|
||||
description="Experience the art of custom tailoring. From perfectly fitted suits and shirts to regal turbans, we bring your vision to life with precision and luxury."
|
||||
primaryButton={{
|
||||
text: "Book Appointment",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Explore Collection",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/extreme-close-up-skilled-suitmaker-doing-fit-sizing-bespoken-clothing-piece-using-measurement-tape-precise-experienced-couturier-helping-customer-with-custom-made-sartorial-suit_482257-64887.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/african-american-man-wearing-flannel-blazer-apparel-ad_53876-102228.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-furoshiki-packages-arrangement_23-2150274450.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-floral-shirts-clothes-store_23-2148175732.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vintage-tailor-ruler-rolled-isolated-rustic-wooden-table-close-up_346278-916.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Our Legacy"
|
||||
descriptions={[
|
||||
"SS Tailor is dedicated to upholding the timeless traditions of bespoke tailoring. Every stitch, every fold, and every garment is a testament to our craftsmanship.",
|
||||
"We offer a curated experience for the modern gentleman, ensuring every custom suit, pant, and shirt embodies your unique style.",
|
||||
"Beyond suits, we specialize in premium Sardar turbans, crafted with fine materials to ensure a look of regal sophistication.",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesImageBento
|
||||
tag="Tailored Excellence"
|
||||
title="Bespoke Collection"
|
||||
description="Explore our curated offerings, from bespoke formal wear to fine accessories."
|
||||
items={[
|
||||
{
|
||||
title: "custom pent shirts",
|
||||
description: "Custom-fitted for every event.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018702441-6pdl9hd4.png",
|
||||
},
|
||||
{
|
||||
title: "full wail Turbans",
|
||||
description: "Premium silk and cotton weaves.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782017685879-py8wdpgz.png",
|
||||
},
|
||||
{
|
||||
title: "Luxury Textiles",
|
||||
description: "Finest wool and imported fabric.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/groom-s-accessories-black-bow-tie-shoes-tuxedo-wedding-details_8353-10976.jpg",
|
||||
},
|
||||
{
|
||||
title: "Custom kurta pajama",
|
||||
description: "Precision stitched to your fit.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018755985-tg4ass25.webp",
|
||||
},
|
||||
{
|
||||
title: "Ready-to-Wear",
|
||||
description: "Curated formal collection.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018082696-qbayg2ts.png",
|
||||
},
|
||||
{
|
||||
title: "Finest Details",
|
||||
description: "Hand-embroidery and precision buttons.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018246902-p7b36e5a.png",
|
||||
},
|
||||
{
|
||||
title: "Fashion Accessories",
|
||||
description: "Complement your look with style.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018410037-q1t4c782.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Quality Assured"
|
||||
title="The SS Tailor Standard"
|
||||
description="Crafting garments that speak of quality, precision, and timeless heritage."
|
||||
metrics={[
|
||||
{
|
||||
value: "100+",
|
||||
title: "Unique Styles",
|
||||
description: "Diverse designs from formal to traditional.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fashion-designer-s-studio-with-essential-elements_23-2150414735.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeOverlayCards
|
||||
tag="Client Voices"
|
||||
title="Trusted by Gentlemen"
|
||||
description="See why our clients choose us for their most important occasions."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Raj Singh",
|
||||
role: "Entrepreneur",
|
||||
company: "Global Corp",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-fashion-businessman-model-dressed-elegant-suit-posing-near-brick-wall-street-background-metrosexual_158538-11005.jpg",
|
||||
},
|
||||
{
|
||||
name: "Simran Preet",
|
||||
role: "Architect",
|
||||
company: "Design Studio",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist_1157-41083.jpg",
|
||||
},
|
||||
{
|
||||
name: "Vikram Seth",
|
||||
role: "Professional",
|
||||
company: "Tech Ventures",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-man-dressed-elegant-beige-checkered-suit_158538-4287.jpg",
|
||||
},
|
||||
{
|
||||
name: "Arjun Kumar",
|
||||
role: "Lawyer",
|
||||
company: "Legal Partners",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-serious-handsome-man-jacket-standing_171337-19792.jpg",
|
||||
},
|
||||
{
|
||||
name: "Deepak Mehta",
|
||||
role: "Manager",
|
||||
company: "Growth Inc",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-fashion-businessman-model-dressed-elegant-checkered-suit-posing-street_158538-13881.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingLayeredCards
|
||||
tag="Investment"
|
||||
title="Bespoke Investment"
|
||||
description="Transparency in every stitch and garment."
|
||||
plans={[
|
||||
{
|
||||
tag: "Essentials",
|
||||
price: "Custom Pricing",
|
||||
description: "Starting with fundamental custom shirt and pant stitching services.",
|
||||
primaryButton: {
|
||||
text: "Inquire",
|
||||
href: "#contact",
|
||||
},
|
||||
features: [
|
||||
"Expert fitting",
|
||||
"Choice of fabric",
|
||||
"Two-stage consultation",
|
||||
],
|
||||
},
|
||||
{
|
||||
tag: "Signature",
|
||||
price: "Custom Pricing",
|
||||
description: "Our signature full bespoke suit and matching turban experience.",
|
||||
primaryButton: {
|
||||
text: "Inquire",
|
||||
href: "#contact",
|
||||
},
|
||||
features: [
|
||||
"Full canvas suit",
|
||||
"Hand-picked materials",
|
||||
"Priority schedule",
|
||||
"Regal turban pairing",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Questions"
|
||||
title="Common Inquiries"
|
||||
description="Everything you need to know about our tailoring process."
|
||||
items={[
|
||||
{
|
||||
question: "What is the turnaround time?",
|
||||
answer: "Depends on the garment, usually 2-3 weeks for bespoke suits.",
|
||||
},
|
||||
{
|
||||
question: "Do you provide fabrics?",
|
||||
answer: "Yes, we stock high-end wool and custom silk for turbans.",
|
||||
},
|
||||
{
|
||||
question: "Can I get a fitting at home?",
|
||||
answer: "For bulk/signature orders, we offer mobile fitting appointments.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-tape-measurement-with-centimeters-as-units-length_23-2150316853.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Begin Your Journey"
|
||||
text="Ready to tailor your perfect look? Visit us at Amritsar Road, Dashmesh Nagar, Gali No 6, Shera Wala Gate, Moga or call us to book a consultation."
|
||||
primaryButton={{
|
||||
text: "Call 9815251465",
|
||||
href: "tel:9815251465",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
23
src/pages/HomePage/sections/About.tsx
Normal file
23
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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 AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Our Legacy"
|
||||
descriptions={[
|
||||
"SS Tailor is dedicated to upholding the timeless traditions of bespoke tailoring. Every stitch, every fold, and every garment is a testament to our craftsmanship.",
|
||||
"We offer a curated experience for the modern gentleman, ensuring every custom suit, pant, and shirt embodies your unique style.",
|
||||
"Beyond suits, we specialize in premium Sardar turbans, crafted with fine materials to ensure a look of regal sophistication.",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal 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="Begin Your Journey"
|
||||
text="Ready to tailor your perfect look? Visit us at Amritsar Road, Dashmesh Nagar, Gali No 6, Shera Wala Gate, Moga or call us to book a consultation."
|
||||
primaryButton={{
|
||||
text: "Call 9815251465",
|
||||
href: "tel:9815251465",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Get Directions",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Faq.tsx
Normal file
35
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Questions"
|
||||
title="Common Inquiries"
|
||||
description="Everything you need to know about our tailoring process."
|
||||
items={[
|
||||
{
|
||||
question: "What is the turnaround time?",
|
||||
answer: "Depends on the garment, usually 2-3 weeks for bespoke suits.",
|
||||
},
|
||||
{
|
||||
question: "Do you provide fabrics?",
|
||||
answer: "Yes, we stock high-end wool and custom silk for turbans.",
|
||||
},
|
||||
{
|
||||
question: "Can I get a fitting at home?",
|
||||
answer: "For bulk/signature orders, we offer mobile fitting appointments.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-tape-measurement-with-centimeters-as-units-length_23-2150316853.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Features.tsx
Normal file
57
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// 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 FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesImageBento
|
||||
tag="Tailored Excellence"
|
||||
title="Bespoke Collection"
|
||||
description="Explore our curated offerings, from bespoke formal wear to fine accessories."
|
||||
items={[
|
||||
{
|
||||
title: "custom pent shirts",
|
||||
description: "Custom-fitted for every event.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018702441-6pdl9hd4.png",
|
||||
},
|
||||
{
|
||||
title: "full wail Turbans",
|
||||
description: "Premium silk and cotton weaves.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782017685879-py8wdpgz.png",
|
||||
},
|
||||
{
|
||||
title: "Luxury Textiles",
|
||||
description: "Finest wool and imported fabric.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/groom-s-accessories-black-bow-tie-shoes-tuxedo-wedding-details_8353-10976.jpg",
|
||||
},
|
||||
{
|
||||
title: "Custom kurta pajama",
|
||||
description: "Precision stitched to your fit.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018755985-tg4ass25.webp",
|
||||
},
|
||||
{
|
||||
title: "Ready-to-Wear",
|
||||
description: "Curated formal collection.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018082696-qbayg2ts.png",
|
||||
},
|
||||
{
|
||||
title: "Finest Details",
|
||||
description: "Hand-embroidery and precision buttons.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018246902-p7b36e5a.png",
|
||||
},
|
||||
{
|
||||
title: "Fashion Accessories",
|
||||
description: "Complement your look with style.",
|
||||
imageSrc: "https://storage.googleapis.com/webild/users/user_3FQovzLjb29nhZpQhqSaDfLcCAM/uploaded-1782018410037-q1t4c782.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
45
src/pages/HomePage/sections/Hero.tsx
Normal file
45
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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 HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroTiltedCards
|
||||
tag="Luxury Bespoke Tailoring"
|
||||
title="SS Tailor: Crafted to Perfection"
|
||||
description="Experience the art of custom tailoring. From perfectly fitted suits and shirts to regal turbans, we bring your vision to life with precision and luxury."
|
||||
primaryButton={{
|
||||
text: "Book Appointment",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Explore Collection",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/extreme-close-up-skilled-suitmaker-doing-fit-sizing-bespoken-clothing-piece-using-measurement-tape-precise-experienced-couturier-helping-customer-with-custom-made-sartorial-suit_482257-64887.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/african-american-man-wearing-flannel-blazer-apparel-ad_53876-102228.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-furoshiki-packages-arrangement_23-2150274450.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-floral-shirts-clothes-store_23-2148175732.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vintage-tailor-ruler-rolled-isolated-rustic-wooden-table-close-up_346278-916.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/pages/HomePage/sections/Metrics.tsx
Normal file
28
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
// 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="Quality Assured"
|
||||
title="The SS Tailor Standard"
|
||||
description="Crafting garments that speak of quality, precision, and timeless heritage."
|
||||
metrics={[
|
||||
{
|
||||
value: "100+",
|
||||
title: "Unique Styles",
|
||||
description: "Diverse designs from formal to traditional.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fashion-designer-s-studio-with-essential-elements_23-2150414735.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
51
src/pages/HomePage/sections/Pricing.tsx
Normal file
51
src/pages/HomePage/sections/Pricing.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "pricing" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingLayeredCards
|
||||
tag="Investment"
|
||||
title="Bespoke Investment"
|
||||
description="Transparency in every stitch and garment."
|
||||
plans={[
|
||||
{
|
||||
tag: "Essentials",
|
||||
price: "Custom Pricing",
|
||||
description: "Starting with fundamental custom shirt and pant stitching services.",
|
||||
primaryButton: {
|
||||
text: "Inquire",
|
||||
href: "#contact",
|
||||
},
|
||||
features: [
|
||||
"Expert fitting",
|
||||
"Choice of fabric",
|
||||
"Two-stage consultation",
|
||||
],
|
||||
},
|
||||
{
|
||||
tag: "Signature",
|
||||
price: "Custom Pricing",
|
||||
description: "Our signature full bespoke suit and matching turban experience.",
|
||||
primaryButton: {
|
||||
text: "Inquire",
|
||||
href: "#contact",
|
||||
},
|
||||
features: [
|
||||
"Full canvas suit",
|
||||
"Hand-picked materials",
|
||||
"Priority schedule",
|
||||
"Regal turban pairing",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.tsx
Normal 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="Client Voices"
|
||||
title="Trusted by Gentlemen"
|
||||
description="See why our clients choose us for their most important occasions."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Raj Singh",
|
||||
role: "Entrepreneur",
|
||||
company: "Global Corp",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-fashion-businessman-model-dressed-elegant-suit-posing-near-brick-wall-street-background-metrosexual_158538-11005.jpg",
|
||||
},
|
||||
{
|
||||
name: "Simran Preet",
|
||||
role: "Architect",
|
||||
company: "Design Studio",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/indian-man-mountains-male-traditional-turban-hinduist_1157-41083.jpg",
|
||||
},
|
||||
{
|
||||
name: "Vikram Seth",
|
||||
role: "Professional",
|
||||
company: "Tech Ventures",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-sexy-handsome-man-dressed-elegant-beige-checkered-suit_158538-4287.jpg",
|
||||
},
|
||||
{
|
||||
name: "Arjun Kumar",
|
||||
role: "Lawyer",
|
||||
company: "Legal Partners",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-serious-handsome-man-jacket-standing_171337-19792.jpg",
|
||||
},
|
||||
{
|
||||
name: "Deepak Mehta",
|
||||
role: "Manager",
|
||||
company: "Growth Inc",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-fashion-businessman-model-dressed-elegant-checkered-suit-posing-street_158538-13881.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user