Merge version_2_1782147987963 into main #4
@@ -5,14 +5,14 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #000000;
|
||||
--card: #0c0c0c;
|
||||
--foreground: #ffffff;
|
||||
--background: #ffffff;
|
||||
--card: #f4f4f5;
|
||||
--foreground: #09090b;
|
||||
--primary-cta: #106EFB;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #000000;
|
||||
--secondary-cta-text: #ffffff;
|
||||
--accent: #535353;
|
||||
--secondary-cta: #e4e4e7;
|
||||
--secondary-cta-text: #09090b;
|
||||
--accent: #71717a;
|
||||
--background-accent: #106EFB;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
|
||||
@@ -1,212 +1,45 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TeamListCards from '@/components/sections/team/TeamListCards';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
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 ProductSection from './HomePage/sections/Product';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TeamSection from './HomePage/sections/Team';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import SocialProofSection from './HomePage/sections/SocialProof';
|
||||
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">
|
||||
<HeroBillboard
|
||||
tag="Next-Gen Event Management"
|
||||
title="Book Your Next Live Experience Instantly"
|
||||
description="Discover thousands of events in your city. Secure your tickets in seconds with flexible payment options and instant digital delivery."
|
||||
primaryButton={{ text: "Explore Events Now", href: "#events" }}
|
||||
secondaryButton={{ text: "For Organizers", href: "#contact" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/hand-holding-smartphone-tickets_23-2149340924.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Why Crowd?"
|
||||
title="Engineered for Seamless Event Discovery"
|
||||
description="We bridge the gap between event enthusiasts and organizers, ensuring every booking is smooth, secure, and instant."
|
||||
items={[
|
||||
{ icon: "Zap", title: "Real-time Booking", description: "Instant ticket confirmation with dynamic inventory management." },
|
||||
{ icon: "ShieldCheck", title: "Secure Payments", description: "PCI-compliant payment processing for your peace of mind." },
|
||||
{ icon: "Smartphone", title: "Mobile First", description: "Optimized for discovery on the go, anytime, anywhere." },
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/trading-manager-working-with-stock-market-diagrams-looking-real-time-stattistics-trend-with-forex-exchange-profit-rate-analyzing-hedge-fund-index-global-money-investment-laptop_482257-50292.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Event Categories"
|
||||
title="Curated Experiences Just For You"
|
||||
description="From local music gigs to grand theater performances, find it all here."
|
||||
items={[
|
||||
{ title: "Live Music", description: "Catch top-tier artists in concert.", buttonIcon: "Music", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-smartphone-tickets_23-2149340980.jpg" },
|
||||
{ title: "Theater & Arts", description: "Immersive cultural experiences.", buttonIcon: "Theater", imageSrc: "http://img.b2bpic.net/free-photo/navratri-highly-detailed-interior-decoration_23-2151193719.jpg" },
|
||||
{ title: "Sports Events", description: "Get closer to the action.", buttonIcon: "Trophy", imageSrc: "http://img.b2bpic.net/free-photo/decorated-ceremonial-area-outdoors-with-modern-transparent-chairs-beautiful-festoon-with-lots-trees-plants_8353-10828.jpg" },
|
||||
{ title: "Audio Visual", description: "High-end sound and visual productions.", buttonIcon: "Headphones", imageSrc: "http://img.b2bpic.net/free-photo/artist-composer-producing-music-using-stereo-panel-controls-electronic-gear_482257-83359.jpg" },
|
||||
{ title: "Festivals", description: "Join the biggest crowds.", buttonIcon: "Sparkles", imageSrc: "http://img.b2bpic.net/free-photo/circular-shaped-neon-lights-background_23-2147815453.jpg" },
|
||||
{ title: "Event Access", description: "Seamless entrance systems.", buttonIcon: "QrCode", imageSrc: "http://img.b2bpic.net/free-photo/person-paying-with-its-smartphone-wallet-app_23-2149167240.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="product" data-section="product">
|
||||
<SectionErrorBoundary name="product">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="For Organizers"
|
||||
title="Everything You Need to Manage Events"
|
||||
description="Powerful tools to list, sell, and track your events in real-time."
|
||||
items={[
|
||||
{ title: "Capacity Management", description: "Define zones and seating.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-with-mobile-phone_1157-31457.jpg" },
|
||||
{ title: "Dynamic Pricing", description: "Automated price adjustments.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-particle-design_1048-13547.jpg" },
|
||||
{ title: "Revenue Tracking", description: "Real-time dashboard analytics.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/eco-spa-lounge-ethno-interior-stone-wall_169016-68911.jpg" },
|
||||
{ title: "Instant Delivery", description: "Digital tickets for all.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/elegant-wedding-venue-with-swimming-pool_637285-5705.jpg" },
|
||||
{ title: "Fan Insights", description: "Know your audience better.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/male-composer-using-mixing-console-piano-edit-tracks_482257-121272.jpg" },
|
||||
{ title: "Promoter Portal", description: "Collaborate easily.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-women-with-guitar_23-2149060534.jpg" },
|
||||
{ title: "Access Control", description: "Secure scanning tools.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/japanese-subway-train-system-passenger-information-display-screen_23-2148954824.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductSection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingMediaCards
|
||||
tag="Pricing Plans"
|
||||
title="Flexible Solutions for Every Event"
|
||||
description="Choose a tier that grows with your business."
|
||||
plans={[
|
||||
{
|
||||
tag: "Essentials", price: "$0", period: "/event", features: ["Limited events", "Base analytics"],
|
||||
primaryButton: { text: "Get Started", href: "#" },
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/business-card-template-with-gradient-colors_23-2148875199.jpg"
|
||||
},
|
||||
{
|
||||
tag: "Professional", price: "$99", period: "/event", features: ["Advanced analytics", "Custom branding", "Priority support"],
|
||||
primaryButton: { text: "Upgrade", href: "#" },
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/dark-vip-card-template-with-golden-details-gradient_23-2149152245.jpg"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Our Impact"
|
||||
title="Powering Live Moments Daily"
|
||||
description="Trusted by hundreds of organizers across the country."
|
||||
metrics={[
|
||||
{ icon: "CreditCard", title: "Tickets Sold", value: "1.2M+" },
|
||||
{ icon: "Calendar", title: "Events Hosted", value: "50k+" },
|
||||
{ icon: "Users", title: "Happy Fans", value: "800k+" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamListCards
|
||||
tag="Leadership"
|
||||
title="Meet the Team Behind Crowd"
|
||||
description="We are passionate about live experiences."
|
||||
groups={[
|
||||
{
|
||||
title: "Management", members: [
|
||||
{
|
||||
name: "Sarah Chen", role: "CEO & Founder", detail: "Expert in event tech platforms.", imageSrc: "http://img.b2bpic.net/free-photo/teammates-working-late-office_23-2148991369.jpg"
|
||||
},
|
||||
{
|
||||
name: "Mark Ross", role: "CTO", detail: "Leading our scaling efforts.", imageSrc: "http://img.b2bpic.net/free-photo/colleagues-working-together-high-angle_23-2150152268.jpg"
|
||||
},
|
||||
{
|
||||
name: "Julia Varga", role: "COO", detail: "Optimizing event operations.", imageSrc: "http://img.b2bpic.net/free-photo/businessman-laptop-planning-strategy-working-concept_53876-23016.jpg"
|
||||
},
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TeamSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Social Proof"
|
||||
title="Loved by Organizers Worldwide"
|
||||
description="What people say about their experience with Crowd."
|
||||
testimonials={[
|
||||
{ name: "Alice Green", role: "Promoter", quote: "Crowd makes event management so simple.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-black-man-wool-suit_613910-16037.jpg" },
|
||||
{ name: "John Doe", role: "Venue Director", quote: "The analytics are game changing.", imageSrc: "http://img.b2bpic.net/free-photo/business-woman-portrait_93675-133802.jpg" },
|
||||
{ name: "Emma Smith", role: "Organizer", quote: "Seamless ticketing, happy fans.", imageSrc: "http://img.b2bpic.net/free-photo/mobile-colleagues_1098-14113.jpg" },
|
||||
{ name: "David Wu", role: "Promoter", quote: "Best support team ever.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-handsome-confident-middle-aged-businessman-black-background_176420-5560.jpg" },
|
||||
{ name: "Sophia Lee", role: "Venue Mgr", quote: "Finally, a platform that works.", imageSrc: "http://img.b2bpic.net/free-photo/pensive-shoe-master-glasses-is-working-his-new-shoes-collection-his-workshop_613910-17383.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Trusted By"
|
||||
title="The Biggest Names in Live Events"
|
||||
description="Our network continues to expand."
|
||||
names={[
|
||||
"The Sound Hall", "Global Arena", "City Theater", "Grand Festival", "SportWorld", "Cultural Center", "Arts Hub"]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<SocialProofSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="Help Center"
|
||||
title="Frequently Asked Questions"
|
||||
description="Get the answers you need."
|
||||
categories={[
|
||||
{
|
||||
name: "General", items: [
|
||||
{ question: "Is Crowd secure?", answer: "Yes, we use PCI-compliant standards." },
|
||||
{ question: "Can I list my own events?", answer: "Yes, register as an organizer today." },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Pricing", items: [
|
||||
{ question: "Are there hidden fees?", answer: "No, our pricing model is transparent." },
|
||||
],
|
||||
},
|
||||
]}
|
||||
cta={{
|
||||
name: "Support Team", role: "Available 24/7", buttonText: "Contact Support", buttonHref: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/handsome-black-male-dressed-suit-from-wool_613910-15983.jpg"
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get Started"
|
||||
text="Ready to host your next event?"
|
||||
primaryButton={{ text: "Contact Us", href: "#" }}
|
||||
secondaryButton={{ text: "Learn More", href: "#" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
26
src/pages/HomePage/sections/About.tsx
Normal file
26
src/pages/HomePage/sections/About.tsx
Normal 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="Why Crowd?"
|
||||
title="Engineered for Seamless Event Discovery"
|
||||
description="We bridge the gap between event enthusiasts and organizers, ensuring every booking is smooth, secure, and instant."
|
||||
items={[
|
||||
{ icon: "Zap", title: "Real-time Booking", description: "Instant ticket confirmation with dynamic inventory management." },
|
||||
{ icon: "ShieldCheck", title: "Secure Payments", description: "PCI-compliant payment processing for your peace of mind." },
|
||||
{ icon: "Smartphone", title: "Mobile First", description: "Optimized for discovery on the go, anytime, anywhere." },
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/trading-manager-working-with-stock-market-diagrams-looking-real-time-stattistics-trend-with-forex-exchange-profit-rate-analyzing-hedge-fund-index-global-money-investment-laptop_482257-50292.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Contact.tsx
Normal file
21
src/pages/HomePage/sections/Contact.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 "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 host your next event?"
|
||||
primaryButton={{ text: "Contact Us", href: "#" }}
|
||||
secondaryButton={{ text: "Learn More", href: "#" }}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Faq.tsx
Normal file
36
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// 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="Help Center"
|
||||
title="Frequently Asked Questions"
|
||||
description="Get the answers you need."
|
||||
categories={[
|
||||
{
|
||||
name: "General", items: [
|
||||
{ question: "Is Crowd secure?", answer: "Yes, we use PCI-compliant standards." },
|
||||
{ question: "Can I list my own events?", answer: "Yes, register as an organizer today." },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Pricing", items: [
|
||||
{ question: "Are there hidden fees?", answer: "No, our pricing model is transparent." },
|
||||
],
|
||||
},
|
||||
]}
|
||||
cta={{
|
||||
name: "Support Team", role: "Available 24/7", buttonText: "Contact Support", buttonHref: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/handsome-black-male-dressed-suit-from-wool_613910-15983.jpg"
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
28
src/pages/HomePage/sections/Features.tsx
Normal file
28
src/pages/HomePage/sections/Features.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 "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Event Categories"
|
||||
title="Curated Experiences Just For You"
|
||||
description="From local music gigs to grand theater performances, find it all here."
|
||||
items={[
|
||||
{ title: "Live Music", description: "Catch top-tier artists in concert.", buttonIcon: "Music", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-smartphone-tickets_23-2149340980.jpg" },
|
||||
{ title: "Theater & Arts", description: "Immersive cultural experiences.", buttonIcon: "Theater", imageSrc: "http://img.b2bpic.net/free-photo/navratri-highly-detailed-interior-decoration_23-2151193719.jpg" },
|
||||
{ title: "Sports Events", description: "Get closer to the action.", buttonIcon: "Trophy", imageSrc: "http://img.b2bpic.net/free-photo/decorated-ceremonial-area-outdoors-with-modern-transparent-chairs-beautiful-festoon-with-lots-trees-plants_8353-10828.jpg" },
|
||||
{ title: "Audio Visual", description: "High-end sound and visual productions.", buttonIcon: "Headphones", imageSrc: "http://img.b2bpic.net/free-photo/artist-composer-producing-music-using-stereo-panel-controls-electronic-gear_482257-83359.jpg" },
|
||||
{ title: "Festivals", description: "Join the biggest crowds.", buttonIcon: "Sparkles", imageSrc: "http://img.b2bpic.net/free-photo/circular-shaped-neon-lights-background_23-2147815453.jpg" },
|
||||
{ title: "Event Access", description: "Seamless entrance systems.", buttonIcon: "QrCode", imageSrc: "http://img.b2bpic.net/free-photo/person-paying-with-its-smartphone-wallet-app_23-2149167240.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
23
src/pages/HomePage/sections/Hero.tsx
Normal file
23
src/pages/HomePage/sections/Hero.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 "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboard
|
||||
tag="Next-Gen Event Management"
|
||||
title="Book Your Next Live Experience Instantly"
|
||||
description="Discover thousands of events in your city. Secure your tickets in seconds with flexible payment options and instant digital delivery."
|
||||
primaryButton={{ text: "Explore Events Now", href: "#events" }}
|
||||
secondaryButton={{ text: "For Organizers", href: "#contact" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/hand-holding-smartphone-tickets_23-2149340924.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
25
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="Our Impact"
|
||||
title="Powering Live Moments Daily"
|
||||
description="Trusted by hundreds of organizers across the country."
|
||||
metrics={[
|
||||
{ icon: "CreditCard", title: "Tickets Sold", value: "1.2M+" },
|
||||
{ icon: "Calendar", title: "Events Hosted", value: "50k+" },
|
||||
{ icon: "Users", title: "Happy Fans", value: "800k+" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
32
src/pages/HomePage/sections/Pricing.tsx
Normal file
32
src/pages/HomePage/sections/Pricing.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// 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 PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingMediaCards
|
||||
tag="Pricing Plans"
|
||||
title="Flexible Solutions for Every Event"
|
||||
description="Choose a tier that grows with your business."
|
||||
plans={[
|
||||
{
|
||||
tag: "Essentials", price: "$0", period: "/event", features: ["Limited events", "Base analytics"],
|
||||
primaryButton: { text: "Get Started", href: "#" },
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/business-card-template-with-gradient-colors_23-2148875199.jpg"
|
||||
},
|
||||
{
|
||||
tag: "Professional", price: "$99", period: "/event", features: ["Advanced analytics", "Custom branding", "Priority support"],
|
||||
primaryButton: { text: "Upgrade", href: "#" },
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/dark-vip-card-template-with-golden-details-gradient_23-2149152245.jpg"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Product.tsx
Normal file
29
src/pages/HomePage/sections/Product.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "product" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="product" data-section="product">
|
||||
<SectionErrorBoundary name="product">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="For Organizers"
|
||||
title="Everything You Need to Manage Events"
|
||||
description="Powerful tools to list, sell, and track your events in real-time."
|
||||
items={[
|
||||
{ title: "Capacity Management", description: "Define zones and seating.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/internationals-people-standing-cafe-with-mobile-phone_1157-31457.jpg" },
|
||||
{ title: "Dynamic Pricing", description: "Automated price adjustments.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-particle-design_1048-13547.jpg" },
|
||||
{ title: "Revenue Tracking", description: "Real-time dashboard analytics.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/eco-spa-lounge-ethno-interior-stone-wall_169016-68911.jpg" },
|
||||
{ title: "Instant Delivery", description: "Digital tickets for all.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/elegant-wedding-venue-with-swimming-pool_637285-5705.jpg" },
|
||||
{ title: "Fan Insights", description: "Know your audience better.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/male-composer-using-mixing-console-piano-edit-tracks_482257-121272.jpg" },
|
||||
{ title: "Promoter Portal", description: "Collaborate easily.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-women-with-guitar_23-2149060534.jpg" },
|
||||
{ title: "Access Control", description: "Secure scanning tools.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/japanese-subway-train-system-passenger-information-display-screen_23-2148954824.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/SocialProof.tsx
Normal file
22
src/pages/HomePage/sections/SocialProof.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "social-proof" section.
|
||||
|
||||
import React from 'react';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function SocialProofSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Trusted By"
|
||||
title="The Biggest Names in Live Events"
|
||||
description="Our network continues to expand."
|
||||
names={[
|
||||
"The Sound Hall", "Global Arena", "City Theater", "Grand Festival", "SportWorld", "Cultural Center", "Arts Hub"]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Team.tsx
Normal file
35
src/pages/HomePage/sections/Team.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 "team" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamListCards from '@/components/sections/team/TeamListCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamListCards
|
||||
tag="Leadership"
|
||||
title="Meet the Team Behind Crowd"
|
||||
description="We are passionate about live experiences."
|
||||
groups={[
|
||||
{
|
||||
title: "Management", members: [
|
||||
{
|
||||
name: "Sarah Chen", role: "CEO & Founder", detail: "Expert in event tech platforms.", imageSrc: "http://img.b2bpic.net/free-photo/teammates-working-late-office_23-2148991369.jpg"
|
||||
},
|
||||
{
|
||||
name: "Mark Ross", role: "CTO", detail: "Leading our scaling efforts.", imageSrc: "http://img.b2bpic.net/free-photo/colleagues-working-together-high-angle_23-2150152268.jpg"
|
||||
},
|
||||
{
|
||||
name: "Julia Varga", role: "COO", detail: "Optimizing event operations.", imageSrc: "http://img.b2bpic.net/free-photo/businessman-laptop-planning-strategy-working-concept_53876-23016.jpg"
|
||||
},
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Testimonials.tsx
Normal file
27
src/pages/HomePage/sections/Testimonials.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 "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Social Proof"
|
||||
title="Loved by Organizers Worldwide"
|
||||
description="What people say about their experience with Crowd."
|
||||
testimonials={[
|
||||
{ name: "Alice Green", role: "Promoter", quote: "Crowd makes event management so simple.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-black-man-wool-suit_613910-16037.jpg" },
|
||||
{ name: "John Doe", role: "Venue Director", quote: "The analytics are game changing.", imageSrc: "http://img.b2bpic.net/free-photo/business-woman-portrait_93675-133802.jpg" },
|
||||
{ name: "Emma Smith", role: "Organizer", quote: "Seamless ticketing, happy fans.", imageSrc: "http://img.b2bpic.net/free-photo/mobile-colleagues_1098-14113.jpg" },
|
||||
{ name: "David Wu", role: "Promoter", quote: "Best support team ever.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-handsome-confident-middle-aged-businessman-black-background_176420-5560.jpg" },
|
||||
{ name: "Sophia Lee", role: "Venue Mgr", quote: "Finally, a platform that works.", imageSrc: "http://img.b2bpic.net/free-photo/pensive-shoe-master-glasses-is-working-his-new-shoes-collection-his-workshop_613910-17383.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user