Merge version_5 into main #7

Merged
development merged 2 commits from version_5 into main 2025-12-22 11:00:03 +00:00
2 changed files with 128 additions and 264 deletions

View File

@@ -1,289 +1,153 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import ProductCardFour from '@/components/sections/product/ProductCardFour';
import FeatureCardTwenty from '@/components/sections/feature/FeatureCardTwenty';
import MetricCardOne from '@/components/sections/metrics/MetricCardOne';
import TestimonialCardSix from '@/components/sections/testimonial/TestimonialCardSix';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FooterBase from '@/components/sections/footer/FooterBase';
import { Users, TrendingUp, Target, Star, Quote } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="shift-hover" defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur" defaultTextAnimation="entrance-slide"
borderRadius="soft" borderRadius="rounded"
contentWidth="large" contentWidth="medium"
sizing="mediumSizeExtraSmallSpacing" sizing="medium"
background="grid" background="circleGradient"
cardStyle="solid-bordered" cardStyle="glass-elevated"
primaryButtonStyle="neon-glow-border" primaryButtonStyle="gradient"
secondaryButtonStyle="outline" secondaryButtonStyle="glass"
headingFontWeight="semibold" headingFontWeight="normal"
> >
{/* Navbar */}
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <div className="text-center py-16">
brandName="OddsVault" <h1 className="text-4xl font-bold mb-4">OddsVault</h1>
links={[ <p className="text-lg opacity-75">Real-time NBA Team & Player Odds</p>
{ label: "Home", href: "hero" }, <nav className="mt-8 space-x-6">
{ label: "Team Odds", href: "product" }, <a href="#hero" className="hover:opacity-75">Home</a>
{ label: "How It Works", href: "feature" }, <a href="#product" className="hover:opacity-75">Team Odds</a>
{ label: "Testimonials", href: "testimonial" }, <a href="#feature" className="hover:opacity-75">How It Works</a>
{ label: "Get Started", href: "contact" } <a href="#testimonial" className="hover:opacity-75">Testimonials</a>
]} <a href="#contact" className="hover:opacity-75">Get Started</a>
logoSrc="/placeholders/placeholder1.webp" </nav>
ctaButton={{ text: "Explore Odds", href: "product" }} </div>
/>
</div> </div>
{/* Hero */}
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboard <div className="text-center py-20">
title="Real-time NBA Team & Player Odds" <h1 className="text-5xl font-bold mb-6">Real-time NBA Team & Player Odds</h1>
description="Bet smarter with live updates and exclusive betting lines. Your edge in the game starts here." <p className="text-xl opacity-75 mb-8 max-w-2xl mx-auto">Bet smarter with live updates and exclusive betting lines. Your edge in the game starts here.</p>
primaryButtonText="Get Started" <div className="space-x-4">
primaryButtonHref="product" <button className="bg-blue-600 text-white px-8 py-3 rounded-lg hover:bg-blue-700">Get Started</button>
secondaryButtonText="Learn More" <button className="border border-gray-300 px-8 py-3 rounded-lg hover:bg-gray-50">Learn More</button>
secondaryButtonHref="feature" </div>
backgroundImage="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399481083-1b76akuc.jpg" </div>
/>
</div> </div>
{/* Product */}
<div id="product" data-section="product"> <div id="product" data-section="product">
<ProductCardFour <div className="py-20">
title="NBA Team & Player Odds" <div className="text-center mb-16">
description="Access the most competitive betting lines for tonight's games. Live odds with real-time updates." <h2 className="text-4xl font-bold mb-4">NBA Team & Player Odds</h2>
tag="Live Now" <p className="text-lg opacity-75">Access the most competitive betting lines for tonight's games. Live odds with real-time updates.</p>
textboxLayout="default" </div>
gridVariant="uniform-all-items-equal" <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 max-w-6xl mx-auto px-4">
animationType="slide-up" <div className="bg-white rounded-lg shadow-lg p-6 border">
containerStyle="default" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399486812-olv4o32v.jpg" alt="Lakers vs Celtics matchup" className="w-full h-32 object-cover rounded mb-4" />
useInvertedBackground="noInvert" <h3 className="font-semibold mb-2">Lakers vs Celtics Spread</h3>
products={[ <p className="text-blue-600 font-bold">-110 / +110</p>
{ </div>
id: "1", <div className="bg-white rounded-lg shadow-lg p-6 border">
name: "Lakers vs Celtics Spread", <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399482580-ts2malqq.png" alt="LeBron James points prop" className="w-full h-32 object-cover rounded mb-4" />
price: "-110 / +110", <h3 className="font-semibold mb-2">LeBron Over 25.5 Points</h3>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399486812-olv4o32v.jpg", <p className="text-blue-600 font-bold">-115 / -105</p>
imageAlt: "Lakers vs Celtics matchup" </div>
}, <div className="bg-white rounded-lg shadow-lg p-6 border">
{ <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399481083-1b76akuc.jpg" alt="Warriors game odds" className="w-full h-32 object-cover rounded mb-4" />
id: "2", <h3 className="font-semibold mb-2">Warriors Moneyline</h3>
name: "LeBron Over 25.5 Points", <p className="text-blue-600 font-bold">-250 / +210</p>
price: "-115 / -105", </div>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399482580-ts2malqq.png", <div className="bg-white rounded-lg shadow-lg p-6 border">
imageAlt: "LeBron James points prop" <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399487883-n3fvenqc.jpg" alt="Doncic triple double prop" className="w-full h-32 object-cover rounded mb-4" />
}, <h3 className="font-semibold mb-2">Luka Doncic Triple Double</h3>
{ <p className="text-blue-600 font-bold">+180 / -200</p>
id: "3", </div>
name: "Warriors Moneyline", </div>
price: "-250 / +210", </div>
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399481083-1b76akuc.jpg",
imageAlt: "Warriors game odds"
},
{
id: "4",
name: "Luka Doncic Triple Double",
price: "+180 / -200",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399487883-n3fvenqc.jpg",
imageAlt: "Doncic triple double prop"
}
]}
/>
</div> </div>
{/* Feature */}
<div id="feature" data-section="feature"> <div id="feature" data-section="feature">
<FeatureCardTwenty <div className="py-20 bg-gray-50">
title="How OddsVault Stands Apart" <div className="text-center mb-16">
description="Different approach to NBA sports betting. We deliver real-time odds, exclusive player props, and competitive lines you won't find elsewhere. Built for serious bettors who demand clarity and accuracy." <h2 className="text-4xl font-bold mb-4">How OddsVault Stands Apart</h2>
tag="Why Choose Us" <p className="text-lg opacity-75 max-w-3xl mx-auto">Different approach to NBA sports betting. We deliver real-time odds, exclusive player props, and competitive lines you won't find elsewhere. Built for serious bettors who demand clarity and accuracy.</p>
textboxLayout="default" </div>
useInvertedBackground="noInvert" <div className="grid grid-cols-2 lg:grid-cols-4 gap-6 max-w-6xl mx-auto px-4">
images={[ <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399485808-dgvco7wg.jpg" alt="Real-time odds updates" className="w-full h-48 object-cover rounded-lg" />
{ <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399484647-2hnh078u.jpg" alt="Professional betting platform" className="w-full h-48 object-cover rounded-lg" />
id: 1, <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399487883-n3fvenqc.jpg" alt="Advanced player analytics" className="w-full h-48 object-cover rounded-lg" />
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399485808-dgvco7wg.jpg", <img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399486812-olv4o32v.jpg" alt="Comprehensive game analysis" className="w-full h-48 object-cover rounded-lg" />
imageAlt: "Real-time odds updates" </div>
}, </div>
{
id: 2,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399484647-2hnh078u.jpg",
imageAlt: "Professional betting platform"
},
{
id: 3,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399487883-n3fvenqc.jpg",
imageAlt: "Advanced player analytics"
},
{
id: 4,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399486812-olv4o32v.jpg",
imageAlt: "Comprehensive game analysis"
}
]}
/>
</div>
<div id="metric" data-section="metric">
<MetricCardOne
title="OddsVault by the Numbers"
description="Trusted by thousands of NBA bettors worldwide"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
animationType="slide-up"
containerStyle="default"
useInvertedBackground="noInvert"
metrics={[
{
id: "1",
value: "50K+",
title: "Active Bettors",
description: "Daily users on the platform",
icon: Users
},
{
id: "2",
value: "250+",
title: "Live Odds",
description: "Updated every second",
icon: TrendingUp
},
{
id: "3",
value: "1M+",
title: "Bets Placed",
description: "Successful monthly transactions",
icon: Target
},
{
id: "4",
value: "4.8★",
title: "User Rating",
description: "Highest rated sportsbook",
icon: Star
}
]}
/>
</div>
<div id="testimonial" data-section="testimonial">
<TestimonialCardSix
title="Trusted by Winning Bettors"
description="Real players, real wins, real stories. See why serious NBA bettors choose OddsVault."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground="noInvert"
testimonials={[
{
id: "1",
name: "Marcus Johnson",
role: "Professional Bettor",
testimonial: "I've tried every major sportsbook out there. OddsVault consistently offers the tightest spreads and most competitive lines. My ROI has improved significantly since switching.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399489339-4b0slwhc.jpg",
imageAlt: "Marcus Johnson",
icon: Quote
},
{
id: "2",
name: "Sarah Chen",
role: "Sports Analytics Expert",
testimonial: "The live odds updates are lightning fast. I caught a line movement before anyone else and made a killing on the Warriors game. This is the platform for serious players.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399490259-ptyv09vk.jpg",
imageAlt: "Sarah Chen",
icon: Quote
},
{
id: "3",
name: "James Rodriguez",
role: "Trading Strategist",
testimonial: "The player props selection here is unmatched. Every bet I've analyzed has been accurate and profitable. OddsVault is my go-to platform for serious betting.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399481083-1b76akuc.jpg",
imageAlt: "James Rodriguez",
icon: Quote
},
{
id: "4",
name: "Emma Wilson",
role: "Data Analyst",
testimonial: "The real-time analytics dashboard is incredible. I can track line movements across multiple books simultaneously. This is the future of sports betting.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399482580-ts2malqq.png",
imageAlt: "Emma Wilson",
icon: Quote
},
{
id: "5",
name: "David Park",
role: "Betting Coach",
testimonial: "I recommend OddsVault to all my clients. The platform is user-friendly, odds are sharp, and the customer service is exceptional.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399484647-2hnh078u.jpg",
imageAlt: "David Park",
icon: Quote
},
{
id: "6",
name: "Lisa Turner",
role: "Sharp Bettor",
testimonial: "Best platform for finding value in NBA odds. The interface is clean, execution is fast, and limits are generous. Exactly what a pro bettor needs.",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399485808-dgvco7wg.jpg",
imageAlt: "Lisa Turner",
icon: Quote
}
]}
/>
</div> </div>
{/* Contact */}
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactSplit <div className="py-20">
tag="Stay Updated" <div className="max-w-4xl mx-auto px-4 text-center">
title="Get Live Odds Alerts" <h2 className="text-4xl font-bold mb-4">Get Live Odds Alerts</h2>
description="Never miss a line movement. Get instant notifications when odds shift, new player props drop, or your favorite teams are playing." <p className="text-lg opacity-75 mb-8">Never miss a line movement. Get instant notifications when odds shift, new player props drop, or your favorite teams are playing.</p>
useInvertedBackground="noInvert" <div className="flex flex-col sm:flex-row gap-4 justify-center max-w-md mx-auto">
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766399484647-2hnh078u.jpg" <input type="email" placeholder="Enter your email" className="flex-1 px-4 py-3 border border-gray-300 rounded-lg" />
imageAlt="NBA arena packed with fans" <button className="bg-blue-600 text-white px-8 py-3 rounded-lg hover:bg-blue-700">Notify Me</button>
mediaPosition="right" </div>
inputPlaceholder="Enter your email" <p className="text-sm opacity-60 mt-4">We respect your inbox. Unsubscribe anytime. Real-time odds updates only.</p>
buttonText="Notify Me" </div>
termsText="We respect your inbox. Unsubscribe anytime. Real-time odds updates only." </div>
/>
</div> </div>
{/* Footer */}
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBase <div className="bg-gray-900 text-white py-16">
logoText="OddsVault" <div className="max-w-6xl mx-auto px-4">
copyrightText="© 2025 OddsVault. All rights reserved." <div className="grid grid-cols-1 md:grid-cols-4 gap-8">
columns={[ <div>
{ <h3 className="font-bold text-xl mb-4">OddsVault</h3>
title: "Platform", <p className="opacity-75">Real-time NBA betting odds platform</p>
items: [ </div>
{ label: "How It Works", href: "feature" }, <div>
{ label: "Team Odds", href: "product" }, <h4 className="font-semibold mb-4">Platform</h4>
{ label: "Player Props", href: "product" }, <ul className="space-y-2 opacity-75">
{ label: "Live Updates", href: "hero" } <li><a href="#feature" className="hover:opacity-100">How It Works</a></li>
] <li><a href="#product" className="hover:opacity-100">Team Odds</a></li>
}, <li><a href="#product" className="hover:opacity-100">Player Props</a></li>
{ <li><a href="#hero" className="hover:opacity-100">Live Updates</a></li>
title: "Company", </ul>
items: [ </div>
{ label: "About Us", href: "hero" }, <div>
{ label: "Contact", href: "contact" }, <h4 className="font-semibold mb-4">Company</h4>
{ label: "Blog", href: "hero" }, <ul className="space-y-2 opacity-75">
{ label: "Careers", href: "hero" } <li><a href="#hero" className="hover:opacity-100">About Us</a></li>
] <li><a href="#contact" className="hover:opacity-100">Contact</a></li>
}, <li><a href="#hero" className="hover:opacity-100">Blog</a></li>
{ <li><a href="#hero" className="hover:opacity-100">Careers</a></li>
title: "Legal", </ul>
items: [ </div>
{ label: "Terms of Service", href: "hero" }, <div>
{ label: "Privacy Policy", href: "hero" }, <h4 className="font-semibold mb-4">Legal</h4>
{ label: "Responsible Gambling", href: "hero" }, <ul className="space-y-2 opacity-75">
{ label: "Compliance", href: "hero" } <li><a href="#hero" className="hover:opacity-100">Terms of Service</a></li>
] <li><a href="#hero" className="hover:opacity-100">Privacy Policy</a></li>
} <li><a href="#hero" className="hover:opacity-100">Responsible Gambling</a></li>
]} <li><a href="#hero" className="hover:opacity-100">Compliance</a></li>
/> </ul>
</div>
</div>
<div className="border-t border-gray-700 mt-12 pt-8 text-center opacity-75">
<p>© 2025 OddsVault. All rights reserved.</p>
</div>
</div>
</div>
</div> </div>
</ThemeProvider> </ThemeProvider>
); );