7 Commits

Author SHA1 Message Date
3d9af46812 Update src/app/page.tsx 2026-05-17 20:49:08 +00:00
6f8e068f3a Update src/app/styles/variables.css 2026-05-17 20:48:42 +00:00
237fb8463d Update src/app/styles/base.css 2026-05-17 20:48:41 +00:00
186249a414 Update src/app/page.tsx 2026-05-17 20:48:41 +00:00
ced5502ed2 Update src/app/layout.tsx 2026-05-17 20:48:40 +00:00
4293b53d74 Merge version_2 into main
Merge version_2 into main
2026-05-17 20:40:01 +00:00
13d8d7383c Update src/app/page.tsx 2026-05-17 20:39:58 +00:00
4 changed files with 107 additions and 479 deletions

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script"; import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Mulish } from "next/font/google"; import { Mulish } from "next/font/google";
import { Playfair_Display } from "next/font/google";
@@ -21,10 +22,8 @@ export const metadata: Metadata = {
}, },
}; };
const mulish = Mulish({
variable: "--font-mulish", const playfair = Playfair_Display({ variable: "--font-playfair", subsets: ["latin"] });
subsets: ["latin"],
});
export default function RootLayout({ export default function RootLayout({
children, children,
@@ -34,7 +33,7 @@ export default function RootLayout({
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body className={`${mulish.variable} antialiased`}> <body className={`${playfair.variable} antialiased`}>
<Tag /> <Tag />
{children} {children}
<script <script

View File

@@ -7,486 +7,115 @@ import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FooterBase from '@/components/sections/footer/FooterBase'; import FooterBase from '@/components/sections/footer/FooterBase';
import HeroSplitDoubleCarousel from '@/components/sections/hero/HeroSplitDoubleCarousel'; import HeroSplitDoubleCarousel from '@/components/sections/hero/HeroSplitDoubleCarousel';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout'; import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven'; import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen'; import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="text-stagger" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="reveal-blur"
borderRadius="pill" borderRadius="soft"
contentWidth="mediumLarge" contentWidth="mediumLarge"
sizing="mediumSizeLargeTitles" sizing="largeSizeMediumTitles"
background="floatingGradient" background="noiseDiagonalGradient"
cardStyle="gradient-mesh" cardStyle="glass-elevated"
primaryButtonStyle="shadow" primaryButtonStyle="primary-glow"
secondaryButtonStyle="solid" secondaryButtonStyle="glass"
headingFontWeight="light" headingFontWeight="semibold"
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingInline <NavbarLayoutFloatingInline
navItems={[ navItems={[
{ { name: "Biography", id: "about" },
name: "Events", { name: "Tickets", id: "pricing" },
id: "products", { name: "FAQ", id: "faq" }
}, ]}
{ brandName="Céline Dion"
name: "About", button={{ text: "Get Tickets", href: "#pricing" }}
id: "about", />
}, </div>
{
name: "FAQ",
id: "faq",
},
]}
brandName="ShowPass"
button={{
text: "Get Tickets",
href: "#contact",
}}
/>
</div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroSplitDoubleCarousel <HeroSplitDoubleCarousel
background={{ background={{ variant: "glowing-orb" }}
variant: "gradient-bars", title="Céline Dion: Live in Paris"
}} description="An evening of timeless elegance at the legendary Accor Arena. Join us for a once-in-a-lifetime performance."
title="Your Next Adventure Awaits" buttons={[{ text: "Get Tickets", href: "#pricing" }]}
description="Secure your seats for the most anticipated shows and events of the season. Experience magic, live." leftCarouselItems={[{ imageSrc: "https://img.b2bpic.net/free-photo/portrait-beautiful-woman-singing-microphone_1157-19069.jpg" }]}
leftCarouselItems={[ rightCarouselItems={[{ imageSrc: "https://img.b2bpic.net/free-photo/people-cheering-concert_1157-19080.jpg" }]}
{ />
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-shot-live-concert-performance-with-yellow-light-show-big-crowd-cheering_181624-55905.jpg", </div>
imageAlt: "Concert 1",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/festival-concert-show-theme-blur-background_1385-1401.jpg",
imageAlt: "Concert 2",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/rear-view-excited-people-with-arms-raised-having-fun-while-watching-confetti-fireworks-front-stage-music-festival-copy-space_637285-568.jpg",
imageAlt: "Concert 3",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/dancing-concert-while-singer-is-performing-surrounded-with-lights_181624-9688.jpg",
imageAlt: "Concert 4",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/festival-concert-show-theme-blur-background_1385-1402.jpg",
imageAlt: "Concert 5",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/rear-view-excited-fans-having-fun-music-festival-taking-pictures-stage-with-their-smart-phones-copy-space_637285-607.jpg",
imageAlt: "Concert 6",
},
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/large-group-fans-with-arms-raised-having-fun-music-concert-night_637285-584.jpg",
imageAlt: "Event 1",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/rear-view-dj-playing-music-front-excited-crowd-music-festival-by-night_637285-598.jpg",
imageAlt: "Event 2",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/american-elections-vote-right_23-2151841414.jpg",
imageAlt: "Event 3",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/people-celebrating-new-year-s-eve-city_23-2151070254.jpg",
imageAlt: "Event 4",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/excited-audience-watching-confetti-fireworks-having-fun-music-festival-night-copy-space_637285-559.jpg",
imageAlt: "Event 5",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/two-female-friends-looking-people-dancing-holi-color-explosion_23-2148129160.jpg",
imageAlt: "Event 6",
},
]}
buttons={[
{
text: "Explore Events",
href: "#products",
},
]}
avatars={[
{
src: "http://img.b2bpic.net/free-photo/young-traveler-man-checked-shirt-holding-air-tickets-clenching-fist-happy-positive-smiling-standing-white-wall_141793-50411.jpg",
alt: "Attendee 1",
},
{
src: "http://img.b2bpic.net/free-photo/smiling-young-handsome-guy-wearing-glasses-holding-tickets-showing-yes-gesture-isolated-green-wall_141793-82545.jpg",
alt: "Attendee 2",
},
{
src: "http://img.b2bpic.net/free-photo/frowning-young-handsome-slavic-party-guy-wearing-party-hat-holding-balloons-looking-camera-stretching-out-airplane-tickets-towards-camera-isolated-crimson-background-with-copy-space_141793-83411.jpg",
alt: "Attendee 3",
},
{
src: "http://img.b2bpic.net/free-photo/excited-young-traveler-man-holding-air-tickets-putting-hand-face-isolated-olive-green-wall-with-copy-space_141793-119941.jpg",
alt: "Attendee 4",
},
{
src: "http://img.b2bpic.net/free-photo/young-man-portrait-with-blurry-background_23-2148281660.jpg",
alt: "Attendee 5",
},
]}
avatarText="Join 100,000+ happy fans"
marqueeItems={[
{
type: "image",
src: "http://img.b2bpic.net/free-photo/abstract-circular-neon-lights-background_23-2147815487.jpg",
alt: "Neon Lights",
},
{
type: "image",
src: "http://img.b2bpic.net/free-photo/close-up-beautiful-optical-fiber-details_23-2149212558.jpg",
alt: "Fiber",
},
{
type: "image",
src: "http://img.b2bpic.net/free-photo/blurred-spangles-scattered-table_23-2147992671.jpg",
alt: "Spangles",
},
{
type: "image",
src: "http://img.b2bpic.net/free-photo/beautiful-optical-fiber-detail_23-2149182560.jpg",
alt: "Fiber Detail",
},
{
type: "image",
src: "http://img.b2bpic.net/free-photo/magenta-flashes-spots-light_23-2147798896.jpg",
alt: "Magenta Flash",
},
]}
/>
</div>
<div id="about" data-section="about"> <div id="about" data-section="about">
<InlineImageSplitTextAbout <InlineImageSplitTextAbout
useInvertedBackground={true} heading={[{ type: "text", content: "The Voice of a Generation" }]}
heading={[ useInvertedBackground={true}
{ />
type: "text", </div>
content: "Seamless Ticketing",
},
{
type: "image",
src: "http://img.b2bpic.net/free-photo/group-ceos-using-chroma-key-screen-tablet-meeting_482257-119055.jpg",
alt: "About",
},
]}
/>
</div>
<div id="products" data-section="products"> <div id="pricing" data-section="pricing">
<ProductCardOne <PricingCardEight
animationType="slide-up" animationType="blur-reveal"
textboxLayout="default" title="Select Your Experience"
gridVariant="three-columns-all-equal-width" description="Choose from our tiered packages for the best viewing experience."
useInvertedBackground={false} textboxLayout="default"
products={[ useInvertedBackground={false}
{ plans={[
id: "1", { id: "ga", badge: "General Admission", price: "€150", subtitle: "Main Floor", buttons: [{ text: "Select", href: "#" }], features: ["Access to floor", "Dedicated entry"] },
name: "Sunset Jazz Festival", { id: "gc", badge: "Golden Circle", price: "€350", subtitle: "Premium View", buttons: [{ text: "Select", href: "#" }], features: ["Front row access", "Exclusive bar", "Priority lane"] },
price: "$85", { id: "vip", badge: "VIP Diamond Package", price: "850", subtitle: "Luxury Experience", buttons: [{ text: "Select", href: "#" }], features: ["Private suite", "Gourmet dinner", "Meet & Greet access"] }
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-woman-with-holi-color-looking-away_23-2148129166.jpg", ]}
imageAlt: "Jazz Event", />
}, </div>
{
id: "2",
name: "The Great Gala",
price: "$210",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-shot-couple-concert_181624-22839.jpg",
imageAlt: "Gala Event",
},
{
id: "3",
name: "Indie Rock Night",
price: "$45",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-girl-with-freckles-looking-away_23-2148311239.jpg",
imageAlt: "Rock Event",
},
{
id: "4",
name: "Classical Strings",
price: "$120",
imageSrc: "http://img.b2bpic.net/free-photo/nighttime-concert-musicians-play-excited-crowd-generated-by-ai_188544-44674.jpg",
imageAlt: "Strings Event",
},
{
id: "5",
name: "Tech Expo 2025",
price: "$150",
imageSrc: "http://img.b2bpic.net/free-photo/happy-dj-rooftop-front-view_23-2149739880.jpg",
imageAlt: "Tech Event",
},
{
id: "6",
name: "Artisan Craft Fair",
price: "$25",
imageSrc: "http://img.b2bpic.net/free-photo/nyepi-day-celebration-indonesia_23-2151325628.jpg",
imageAlt: "Art Event",
},
]}
title="Featured Events"
description="Top-rated performances coming to your city."
/>
</div>
<div id="pricing" data-section="pricing"> <div id="testimonials" data-section="testimonials">
<PricingCardFive <TestimonialCardSixteen
animationType="slide-up" animationType="slide-up"
textboxLayout="default" useInvertedBackground={true}
useInvertedBackground={true} title="Press Quotes"
plans={[ description="What the world says about the legend."
{ textboxLayout="default"
id: "basic", kpiItems={[{ value: "100%", label: "Pure Talent" }, { value: "50K", label: "Fans" }, { value: "10+", label: "Awards" }]}
tag: "Standard", testimonials={[
price: "$0", { id: "1", name: "Le Monde", role: "Critics", company: "Press", rating: 5, imageSrc: "https://img.b2bpic.net/free-photo/news-concept-concept_23-2148281660.jpg" }
period: "/mo", ]}
description: "Access to standard ticketing.", />
button: { </div>
text: "Select",
},
featuresTitle: "Included",
features: [
"General Access",
"E-Tickets",
"Event Alerts",
],
},
{
id: "pro",
tag: "Premium",
price: "$29",
period: "/mo",
description: "Exclusive perks for enthusiasts.",
button: {
text: "Select",
},
featuresTitle: "Included",
features: [
"Early Bird Access",
"Priority Service",
"No Fees",
],
},
{
id: "vip",
tag: "VIP",
price: "$99",
period: "/mo",
description: "Ultimate convenience and luxury.",
button: {
text: "Select",
},
featuresTitle: "Included",
features: [
"VIP Lounges",
"Dedicated Agent",
"Private Shows",
],
},
]}
title="Event Membership Tiers"
description="Unlock exclusive benefits and early access."
/>
</div>
<div id="metrics" data-section="metrics"> <div id="faq" data-section="faq">
<MetricCardSeven <FaqSplitMedia
animationType="slide-up" faqs={[
textboxLayout="default" { id: "1", title: "Show Time?", content: "Doors open at 19:00, show starts at 20:30." },
useInvertedBackground={false} { id: "2", title: "Parking?", content: "Available at Accor Arena underground parking." }
metrics={[ ]}
{ title="Event Details"
id: "m1", description="Answers to common questions about the event."
value: "1M+", faqsAnimation="slide-up"
title: "Tickets Sold", textboxLayout="default"
items: [ useInvertedBackground={false}
"Verified Users", />
"Safe Payments", </div>
],
},
{
id: "m2",
value: "5k+",
title: "Events Hosted",
items: [
"Global Reach",
"Curated Selection",
],
},
{
id: "m3",
value: "99.9%",
title: "Customer Satisfaction",
items: [
"Real Feedback",
"Secure Platform",
],
},
]}
title="By The Numbers"
description="Trust the platform powering thousands of events."
/>
</div>
<div id="testimonials" data-section="testimonials"> <div id="contact" data-section="contact">
<TestimonialCardSixteen <ContactCTA
animationType="slide-up" tag="Newsletter"
textboxLayout="default" title="Join the Waitlist"
useInvertedBackground={true} description="Receive updates about future tours and exclusive content."
testimonials={[ buttons={[{ text: "Subscribe" }]}
{ background={{ variant: "plain" }}
id: "1", useInvertedBackground={false}
name: "Sarah Miller", />
role: "Music Fan", </div>
company: "NYC",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-adult-slavic-man-holding-travel-ticket-looking_141793-57660.jpg",
},
{
id: "2",
name: "John Doe",
role: "Traveler",
company: "London",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-couple-spend-time-autumn-field_1157-35811.jpg",
},
{
id: "3",
name: "Emily P.",
role: "Art Lover",
company: "Paris",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-celebrating-pride-day_23-2151450017.jpg",
},
{
id: "4",
name: "Mark S.",
role: "Concert Goer",
company: "Berlin",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-happy-people-with-instruments_23-2149223623.jpg",
},
{
id: "5",
name: "Alice T.",
role: "Student",
company: "Tokyo",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/blured-photo-crowded-concert-hall-with-scene-stage-lights-with-people-rock-performance_627829-6110.jpg",
},
]}
kpiItems={[
{
value: "4.9/5",
label: "Avg Rating",
},
{
value: "100k",
label: "Community",
},
{
value: "50+",
label: "Countries",
},
]}
title="Loved By Fans"
description="Hear what our community says about their experience."
/>
</div>
<div id="faq" data-section="faq"> <div id="footer" data-section="footer">
<FaqSplitMedia <FooterBase
textboxLayout="default" columns={[{ title: "Legal", items: [{ label: "Privacy", href: "#" }] }]}
useInvertedBackground={false} logoText="Céline Dion"
faqs={[ />
{ </div>
id: "1",
title: "Can I get a refund?",
content: "Yes, tickets are refundable up to 48 hours before the event.",
},
{
id: "2",
title: "Where are my tickets?",
content: "They are sent to your email and accessible in your profile.",
},
{
id: "3",
title: "Are there student discounts?",
content: "Yes, verified students receive 10% off specific events.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/woman-using-various-digital-devices_23-2148794563.jpg"
mediaAnimation="slide-up"
title="Common Questions"
description="Everything you need to know."
faqsAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
useInvertedBackground={true}
background={{
variant: "plain",
}}
tag="Contact Us"
title="Need Help With Your Booking?"
description="Our team is here to ensure you have the best experience."
buttons={[
{
text: "Contact Support",
href: "#",
},
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{
title: "Company",
items: [
{
label: "About Us",
href: "#about",
},
{
label: "Events",
href: "#products",
},
],
},
{
title: "Support",
items: [
{
label: "FAQ",
href: "#faq",
},
{
label: "Help Center",
href: "#",
},
],
},
]}
logoText="ShowPass"
/>
</div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-mulish), sans-serif; font-family: var(--font-playfair), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-mulish), sans-serif; font-family: var(--font-playfair), sans-serif;
} }

View File

@@ -10,15 +10,15 @@
--accent: #ffffff; --accent: #ffffff;
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #f6f0e9; --background: #00050a;
--card: #efe7dd; --card: #0b1016;
--foreground: #2b180a; --foreground: #f5f0e6;
--primary-cta: #2b180a; --primary-cta: #d4af37;
--primary-cta-text: #f6f0e9; --primary-cta-text: #f6f0e9;
--secondary-cta: #efe7dd; --secondary-cta: #1a222d;
--secondary-cta-text: #2b180a; --secondary-cta-text: #2b180a;
--accent: #94877c; --accent: #d4af37;
--background-accent: #afa094; --background-accent: #1a222d;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);