Merge version_2_1781363120920 into main
Merge version_2_1781363120920 into main
This commit was merged in pull request #1.
This commit is contained in:
@@ -1,273 +1,28 @@
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
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; this shell only fixes render order.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import PlansSection from './HomePage/sections/Plans';
|
||||
import ProcessSection from './HomePage/sections/Process';
|
||||
import ReviewsSection from './HomePage/sections/Reviews';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import CustomSection from './HomePage/sections/Custom';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Minecraft Thumbnail Forge"
|
||||
title="Thumbnails baked in the Nether"
|
||||
description="High-impact 3D Minecraft thumbnails with cinema-grade color grading."
|
||||
primaryButton={{
|
||||
text: "View Plans",
|
||||
href: "#plans",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Custom Order",
|
||||
href: "#custom",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128050.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-senior-woman-with-purple-boxing-gloves-womens-day-celebration_23-2151257743.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hands-unrecognizable-man-selecting-flower-bouquet-online-tablet_1098-20134.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vivid-abstract-background-cubes_58702-6100.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fantasy-coast-landscape_23-2151515088.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128059.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="plans" data-section="plans">
|
||||
<SectionErrorBoundary name="plans">
|
||||
<PricingCenteredCards
|
||||
tag="Pricing"
|
||||
title="Enchantment Tiers"
|
||||
description="Pick your loadout. Every plan includes full 3D rendering and source files."
|
||||
plans={[
|
||||
{
|
||||
tag: "Tier I",
|
||||
price: "₹499",
|
||||
description: "Perfect for quick, impactful uploads.",
|
||||
features: [
|
||||
"1 Thumbnail",
|
||||
"2-Day turnaround",
|
||||
"1080p resolution",
|
||||
"Full 3D Render",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Spawn Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Tier II",
|
||||
price: "₹2,199",
|
||||
description: "The weekly engine for growing creators.",
|
||||
features: [
|
||||
"4 Thumbnails",
|
||||
"1-Week turnaround",
|
||||
"2K resolution",
|
||||
"Cinematic grading",
|
||||
"Priority Queue",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Diamond Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Tier III",
|
||||
price: "₹5,199",
|
||||
description: "A full month of next-level content.",
|
||||
features: [
|
||||
"8 Thumbnails",
|
||||
"1-Month turnaround",
|
||||
"4K resolution",
|
||||
"Cinematic grading",
|
||||
"Style consultation",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Netherite Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="process" data-section="process">
|
||||
<SectionErrorBoundary name="process">
|
||||
<FaqSimple
|
||||
tag="Workflow"
|
||||
title="The Bake Process"
|
||||
description="Simple steps from request to render."
|
||||
items={[
|
||||
{
|
||||
question: "How do I start?",
|
||||
answer: "Choose a plan or submit a custom order detailing your build, mob, or vibe.",
|
||||
},
|
||||
{
|
||||
question: "Can I provide references?",
|
||||
answer: "Yes! We encourage sending screenshots of your builds or specific thumbnail styles you admire.",
|
||||
},
|
||||
{
|
||||
question: "What's included?",
|
||||
answer: "Every project includes 3D scene creation, cinematic lighting, color grading, and revision rounds.",
|
||||
},
|
||||
{
|
||||
question: "Turnaround times?",
|
||||
answer: "Turnaround varies by plan; Tier I is 2 days, while custom projects are quoted based on complexity.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialOverlayCards
|
||||
tag="Social Proof"
|
||||
title="Creator Testimonials"
|
||||
description="See why top creators choose BlindBake."
|
||||
testimonials={[
|
||||
{
|
||||
name: "BlockCrafterYT",
|
||||
role: "Creator",
|
||||
company: "42K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128044.jpg",
|
||||
},
|
||||
{
|
||||
name: "MineWithMira",
|
||||
role: "Creator",
|
||||
company: "18K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-futuristic-city-with-lots-vegetation-greenery_23-2150842788.jpg",
|
||||
},
|
||||
{
|
||||
name: "KryptoCrafts",
|
||||
role: "Creator",
|
||||
company: "96K Subs",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/shoulder-view-gamer-feeling-unhappy-after-losing-difficult-level-online-space-shooter-gaming-pc-home-man-playing-internet-multiplayer-game-disappointed-after-failing-competition_482257-46573.jpg",
|
||||
},
|
||||
{
|
||||
name: "RedstoneGuru",
|
||||
role: "Creator",
|
||||
company: "12K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-isometric-view-castle-with-river_23-2151891282.jpg",
|
||||
},
|
||||
{
|
||||
name: "PixelPioneer",
|
||||
role: "Creator",
|
||||
company: "55K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-dice-outdoors_23-2151110388.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Payments"
|
||||
title="Secure Payments"
|
||||
description="Simple and safe payment flows for all clients."
|
||||
metrics={[
|
||||
{
|
||||
value: "UPI",
|
||||
title: "GPay / PhonePe",
|
||||
description: "Instant and secure local transfers.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cartoon-man-wearing-vr-glasses_23-2151136906.jpg",
|
||||
},
|
||||
{
|
||||
value: "Bank",
|
||||
title: "Direct Transfer",
|
||||
description: "Perfect for larger subscriptions.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/computer-doodle-illustration_23-2151875150.jpg",
|
||||
},
|
||||
{
|
||||
value: "PayPal",
|
||||
title: "Global Invoice",
|
||||
description: "Seamless for international creators.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/game-man-with-long-hair-while-playing-shooter-games-powerful-computer-woman-with-vr-headset_482257-32842.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Policies"
|
||||
title="Payment Terms"
|
||||
description="Clear guidelines on how we process orders."
|
||||
items={[
|
||||
{
|
||||
question: "Do I pay upfront?",
|
||||
answer: "50% advance is required for custom and large packs, while smaller packs are paid in full.",
|
||||
},
|
||||
{
|
||||
question: "Are revisions free?",
|
||||
answer: "Yes, unlimited minor revisions are included within the project's scope.",
|
||||
},
|
||||
{
|
||||
question: "How are files delivered?",
|
||||
answer: "Final renders are sent via secure download links upon project completion.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="custom" data-section="custom">
|
||||
<SectionErrorBoundary name="custom">
|
||||
<ContactCta
|
||||
tag="Custom Request"
|
||||
text="Need a bespoke 4K scene or specific character design? Request a custom quote."
|
||||
primaryButton={{
|
||||
text: "Send Request",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:businessitzkaddy@gmail.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Contact"
|
||||
text="Ready to enhance your thumbnail? Contact us today."
|
||||
primaryButton={{
|
||||
text: "Email Business",
|
||||
href: "mailto:businessitzkaddy@gmail.com",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Copy Email",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<HeroSection />
|
||||
<PlansSection />
|
||||
<ProcessSection />
|
||||
<ReviewsSection />
|
||||
<MetricsSection />
|
||||
<FaqSection />
|
||||
<CustomSection />
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
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="Contact"
|
||||
text="Ready to enhance your thumbnail? Contact us today."
|
||||
primaryButton={{
|
||||
text: "Email Business",
|
||||
href: "mailto:businessitzkaddy@gmail.com",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Copy Email",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Custom.tsx
Normal file
27
src/pages/HomePage/sections/Custom.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 "custom" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function CustomSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="custom" data-section="custom">
|
||||
<SectionErrorBoundary name="custom">
|
||||
<ContactCta
|
||||
tag="Custom Request"
|
||||
text="Need a bespoke 4K scene or specific character design? Request a custom quote."
|
||||
primaryButton={{
|
||||
text: "Send Request",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:businessitzkaddy@gmail.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Faq.tsx
Normal file
34
src/pages/HomePage/sections/Faq.tsx
Normal 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="Policies"
|
||||
title="Payment Terms"
|
||||
description="Clear guidelines on how we process orders."
|
||||
items={[
|
||||
{
|
||||
question: "Do I pay upfront?",
|
||||
answer: "50% advance is required for custom and large packs, while smaller packs are paid in full.",
|
||||
},
|
||||
{
|
||||
question: "Are revisions free?",
|
||||
answer: "Yes, unlimited minor revisions are included within the project's scope.",
|
||||
},
|
||||
{
|
||||
question: "How are files delivered?",
|
||||
answer: "Final renders are sent via secure download links upon project completion.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
48
src/pages/HomePage/sections/Hero.tsx
Normal file
48
src/pages/HomePage/sections/Hero.tsx
Normal 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="Minecraft Thumbnail Forge"
|
||||
title="Thumbnails baked in the Nether"
|
||||
description="High-impact 3D Minecraft thumbnails with cinema-grade color grading."
|
||||
primaryButton={{
|
||||
text: "View Plans",
|
||||
href: "#plans",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Custom Order",
|
||||
href: "#custom",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128050.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-senior-woman-with-purple-boxing-gloves-womens-day-celebration_23-2151257743.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hands-unrecognizable-man-selecting-flower-bouquet-online-tablet_1098-20134.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vivid-abstract-background-cubes_58702-6100.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fantasy-coast-landscape_23-2151515088.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128059.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Metrics.tsx
Normal file
21
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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="Payments"
|
||||
title="Secure Payments"
|
||||
description="Simple and safe payment flows for all clients."
|
||||
metrics={[{"title":"GPay / PhonePe","imageSrc":"http://img.b2bpic.net/free-photo/cartoon-man-wearing-vr-glasses_23-2151136906.jpg","value":"UPI","description":"Instant and secure local transfers."},{"title":"Global Invoice","imageSrc":"http://img.b2bpic.net/free-photo/game-man-with-long-hair-while-playing-shooter-games-powerful-computer-woman-with-vr-headset_482257-32842.jpg","value":"PayPal","description":"Seamless for international creators."}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
69
src/pages/HomePage/sections/Plans.tsx
Normal file
69
src/pages/HomePage/sections/Plans.tsx
Normal file
@@ -0,0 +1,69 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "plans" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingCenteredCards from '@/components/sections/pricing/PricingCenteredCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PlansSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="plans" data-section="plans">
|
||||
<SectionErrorBoundary name="plans">
|
||||
<PricingCenteredCards
|
||||
tag="Pricing"
|
||||
title="Enchantment Tiers"
|
||||
description="Pick your loadout. Every plan includes full 3D rendering and source files."
|
||||
plans={[
|
||||
{
|
||||
tag: "Tier I",
|
||||
price: "₹499",
|
||||
description: "Perfect for quick, impactful uploads.",
|
||||
features: [
|
||||
"1 Thumbnail",
|
||||
"2-Day turnaround",
|
||||
"1080p resolution",
|
||||
"Full 3D Render",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Spawn Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Tier II",
|
||||
price: "₹2,199",
|
||||
description: "The weekly engine for growing creators.",
|
||||
features: [
|
||||
"4 Thumbnails",
|
||||
"1-Week turnaround",
|
||||
"2K resolution",
|
||||
"Cinematic grading",
|
||||
"Priority Queue",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Diamond Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Tier III",
|
||||
price: "₹5,199",
|
||||
description: "A full month of next-level content.",
|
||||
features: [
|
||||
"8 Thumbnails",
|
||||
"1-Month turnaround",
|
||||
"4K resolution",
|
||||
"Cinematic grading",
|
||||
"Style consultation",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Order Netherite Pack",
|
||||
href: "#custom",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Process.tsx
Normal file
38
src/pages/HomePage/sections/Process.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "process" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProcessSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="process" data-section="process">
|
||||
<SectionErrorBoundary name="process">
|
||||
<FaqSimple
|
||||
tag="Workflow"
|
||||
title="The Bake Process"
|
||||
description="Simple steps from request to render."
|
||||
items={[
|
||||
{
|
||||
question: "How do I start?",
|
||||
answer: "Choose a plan or submit a custom order detailing your build, mob, or vibe.",
|
||||
},
|
||||
{
|
||||
question: "Can I provide references?",
|
||||
answer: "Yes! We encourage sending screenshots of your builds or specific thumbnail styles you admire.",
|
||||
},
|
||||
{
|
||||
question: "What's included?",
|
||||
answer: "Every project includes 3D scene creation, cinematic lighting, color grading, and revision rounds.",
|
||||
},
|
||||
{
|
||||
question: "Turnaround times?",
|
||||
answer: "Turnaround varies by plan; Tier I is 2 days, while custom projects are quoted based on complexity.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Reviews.tsx
Normal file
57
src/pages/HomePage/sections/Reviews.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 "reviews" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ReviewsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="reviews" data-section="reviews">
|
||||
<SectionErrorBoundary name="reviews">
|
||||
<TestimonialOverlayCards
|
||||
tag="Social Proof"
|
||||
title="Creator Testimonials"
|
||||
description="See why top creators choose BlindBake."
|
||||
testimonials={[
|
||||
{
|
||||
name: "BlockCrafterYT",
|
||||
role: "Creator",
|
||||
company: "42K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128044.jpg",
|
||||
},
|
||||
{
|
||||
name: "MineWithMira",
|
||||
role: "Creator",
|
||||
company: "18K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-futuristic-city-with-lots-vegetation-greenery_23-2150842788.jpg",
|
||||
},
|
||||
{
|
||||
name: "KryptoCrafts",
|
||||
role: "Creator",
|
||||
company: "96K Subs",
|
||||
rating: 4,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/shoulder-view-gamer-feeling-unhappy-after-losing-difficult-level-online-space-shooter-gaming-pc-home-man-playing-internet-multiplayer-game-disappointed-after-failing-competition_482257-46573.jpg",
|
||||
},
|
||||
{
|
||||
name: "RedstoneGuru",
|
||||
role: "Creator",
|
||||
company: "12K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-isometric-view-castle-with-river_23-2151891282.jpg",
|
||||
},
|
||||
{
|
||||
name: "PixelPioneer",
|
||||
role: "Creator",
|
||||
company: "55K Subs",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-dice-outdoors_23-2151110388.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user