Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7681813f85 | |||
| 1f4fdca75e | |||
| 8264fb535b | |||
| 846226b059 | |||
| 96ea38f3a3 | |||
| 1ebf92ad02 | |||
| 56de114f89 | |||
| d8230dda2a | |||
| 205c208df3 | |||
| e9e63a0899 | |||
| e6d2403b60 |
91
src/app/archives/page.tsx
Normal file
91
src/app/archives/page.tsx
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
|
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||||
|
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||||
|
|
||||||
|
const navItems = [
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Archives", id: "/archives" },
|
||||||
|
{ name: "Search", id: "/search" },
|
||||||
|
{ name: "Top Scorers", id: "/top-scorers" },
|
||||||
|
{ name: "About", id: "/#about" },
|
||||||
|
{ name: "Matches", id: "/#matches" },
|
||||||
|
{ name: "Stats", id: "/#stats" },
|
||||||
|
{ name: "Fans Say", id: "/#testimonials" },
|
||||||
|
{ name: "FAQ", id: "/#faq" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Theme", id: "/theme" }
|
||||||
|
];
|
||||||
|
|
||||||
|
const footerColumns = [
|
||||||
|
{
|
||||||
|
title: "Navigate", items: [
|
||||||
|
{ label: "Home", href: "/" },
|
||||||
|
{ label: "Matches", href: "/#matches" },
|
||||||
|
{ label: "Stats", href: "/#stats" },
|
||||||
|
{ label: "Archives", href: "/archives" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Resources", items: [
|
||||||
|
{ label: "FAQ", href: "/#faq" },
|
||||||
|
{ label: "About Us", href: "/#about" },
|
||||||
|
{ label: "Contact", href: "/#contact" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Legal", items: [
|
||||||
|
{ label: "Privacy Policy", href: "/privacy" }, { label: "Terms of Service", href: "/terms" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function ArchivesPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="elastic-effect"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="small"
|
||||||
|
sizing="largeSizeMediumTitles"
|
||||||
|
background="none"
|
||||||
|
cardStyle="outline"
|
||||||
|
primaryButtonStyle="diagonal-gradient"
|
||||||
|
secondaryButtonStyle="solid"
|
||||||
|
headingFontWeight="extrabold"
|
||||||
|
>
|
||||||
|
<ReactLenis root>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingOverlay
|
||||||
|
navItems={navItems}
|
||||||
|
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
||||||
|
logoAlt="World Cup Hub Logo"
|
||||||
|
brandName="World Cup Hub"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="hero-archives" data-section="hero-archives">
|
||||||
|
<HeroBillboardCarousel
|
||||||
|
background={{ variant: "radial-gradient" }}
|
||||||
|
title="World Cup Archives"
|
||||||
|
description="Explore the rich history of the FIFA World Cup. Relive every tournament, match, and iconic moment."
|
||||||
|
mediaItems={[
|
||||||
|
{ imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536119.jpg?_wi=2", imageAlt: "Football stadium with cheering crowd" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterBaseReveal
|
||||||
|
logoText="World Cup Hub"
|
||||||
|
columns={footerColumns}
|
||||||
|
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
220
src/app/matches/[id]/page.tsx
Normal file
220
src/app/matches/[id]/page.tsx
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import { useParams, useRouter } from 'next/navigation';
|
||||||
|
import React from 'react';
|
||||||
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
|
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||||
|
|
||||||
|
interface GoalScorer {
|
||||||
|
name: string;
|
||||||
|
minute: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Match {
|
||||||
|
id: string;
|
||||||
|
homeTeam: string;
|
||||||
|
awayTeam: string;
|
||||||
|
homeScore: number;
|
||||||
|
awayScore: number;
|
||||||
|
date: string;
|
||||||
|
venue: string;
|
||||||
|
tournamentStage: string;
|
||||||
|
goalScorers: GoalScorer[];
|
||||||
|
imageSrc: string;
|
||||||
|
imageAlt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const dummyMatchData: Record<string, Match> = {
|
||||||
|
"match-1": {
|
||||||
|
id: "match-1", homeTeam: "Argentina", awayTeam: "France", homeScore: 3,
|
||||||
|
awayScore: 3,
|
||||||
|
date: "December 18, 2022", venue: "Lusail Stadium, Qatar", tournamentStage: "2022 Final", goalScorers: [
|
||||||
|
{ name: "Lionel Messi (ARG)", minute: 23 },
|
||||||
|
{ name: "Ángel Di María (ARG)", minute: 36 },
|
||||||
|
{ name: "Kylian Mbappé (FRA)", minute: 80 },
|
||||||
|
{ name: "Kylian Mbappé (FRA)", minute: 81 },
|
||||||
|
{ name: "Lionel Messi (ARG)", minute: 108 },
|
||||||
|
{ name: "Kylian Mbappé (FRA)", minute: 118 },
|
||||||
|
],
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/spain-vs-switzerland_187299-31172.jpg?_wi=2", imageAlt: "Argentina vs France World Cup Final 2022"
|
||||||
|
},
|
||||||
|
"match-2": {
|
||||||
|
id: "match-2", homeTeam: "Brazil", awayTeam: "Germany", homeScore: 1,
|
||||||
|
awayScore: 7,
|
||||||
|
date: "July 8, 2014", venue: "Estádio Mineirão, Brazil", tournamentStage: "2014 Semi-final", goalScorers: [
|
||||||
|
{ name: "Thomas Müller (GER)", minute: 11 },
|
||||||
|
{ name: "Miroslav Klose (GER)", minute: 23 },
|
||||||
|
{ name: "Toni Kroos (GER)", minute: 24 },
|
||||||
|
{ name: "Toni Kroos (GER)", minute: 26 },
|
||||||
|
{ name: "Sami Khedira (GER)", minute: 29 },
|
||||||
|
{ name: "André Schürrle (GER)", minute: 69 },
|
||||||
|
{ name: "André Schürrle (GER)", minute: 79 },
|
||||||
|
{ name: "Oscar (BRA)", minute: 90 },
|
||||||
|
],
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/ghana-vs-croatia-football_187299-32095.jpg?_wi=2", imageAlt: "Brazil vs Germany World Cup Semi-final 2014"
|
||||||
|
},
|
||||||
|
"match-3": {
|
||||||
|
id: "match-3", homeTeam: "Italy", awayTeam: "Brazil", homeScore: 0,
|
||||||
|
awayScore: 0,
|
||||||
|
date: "July 17, 1994", venue: "Rose Bowl, USA", tournamentStage: "1994 Final", goalScorers: [], // No goals in regular/extra time
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536180.jpg?_wi=2", imageAlt: "Italy vs Brazil World Cup Final 1994"
|
||||||
|
},
|
||||||
|
"match-4": {
|
||||||
|
id: "match-4", homeTeam: "England", awayTeam: "Germany", homeScore: 1,
|
||||||
|
awayScore: 4,
|
||||||
|
date: "June 27, 2010", venue: "Free State Stadium, South Africa", tournamentStage: "2010 Round of 16", goalScorers: [
|
||||||
|
{ name: "Miroslav Klose (GER)", minute: 20 },
|
||||||
|
{ name: "Lukas Podolski (GER)", minute: 32 },
|
||||||
|
{ name: "Matthew Upson (ENG)", minute: 37 },
|
||||||
|
{ name: "Thomas Müller (GER)", minute: 67 },
|
||||||
|
{ name: "Thomas Müller (GER)", minute: 70 },
|
||||||
|
],
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/men-playing-rugby-field_23-2150062039.jpg?_wi=2", imageAlt: "England vs Germany World Cup 2010"
|
||||||
|
},
|
||||||
|
"match-5": {
|
||||||
|
id: "match-5", homeTeam: "Spain", awayTeam: "Netherlands", homeScore: 1,
|
||||||
|
awayScore: 0,
|
||||||
|
date: "July 11, 2010", venue: "Soccer City, South Africa", tournamentStage: "2010 Final", goalScorers: [
|
||||||
|
{ name: "Andrés Iniesta (ESP)", minute: 116 },
|
||||||
|
],
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/soccer-game-concept_23-2151043781.jpg?_wi=2", imageAlt: "Spain vs Netherlands World Cup Final 2010"
|
||||||
|
},
|
||||||
|
"match-6": {
|
||||||
|
id: "match-6", homeTeam: "USA", awayTeam: "Mexico", homeScore: 2,
|
||||||
|
awayScore: 0,
|
||||||
|
date: "June 17, 2002", venue: "Jeonju World Cup Stadium, South Korea", tournamentStage: "2002 Round of 16", goalScorers: [
|
||||||
|
{ name: "Brian McBride (USA)", minute: 8 },
|
||||||
|
{ name: "Landon Donovan (USA)", minute: 65 },
|
||||||
|
],
|
||||||
|
imageSrc: "http://img.b2bpic.net/free-photo/morocco-vs-united-states-football_187299-32225.jpg?_wi=2", imageAlt: "USA vs Mexico World Cup 2002"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function MatchDetailPage() {
|
||||||
|
const params = useParams();
|
||||||
|
const matchId = params.id as string;
|
||||||
|
const match = dummyMatchData[matchId];
|
||||||
|
|
||||||
|
if (!match) {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="elastic-effect"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="small"
|
||||||
|
sizing="largeSizeMediumTitles"
|
||||||
|
background="none"
|
||||||
|
cardStyle="outline"
|
||||||
|
primaryButtonStyle="diagonal-gradient"
|
||||||
|
secondaryButtonStyle="solid"
|
||||||
|
headingFontWeight="extrabold"
|
||||||
|
>
|
||||||
|
<NavbarLayoutFloatingOverlay
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Matches", id: "/" }, // Link back to home page's matches section
|
||||||
|
{ name: "About", id: "#about" },
|
||||||
|
{ name: "Stats", id: "#stats" },
|
||||||
|
{ name: "Fans Say", id: "#testimonials" },
|
||||||
|
{ name: "FAQ", id: "#faq" },
|
||||||
|
{ name: "Contact", id: "#contact" },
|
||||||
|
]}
|
||||||
|
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
||||||
|
logoAlt="World Cup Hub Logo"
|
||||||
|
brandName="World Cup Hub"
|
||||||
|
/>
|
||||||
|
<div className="flex flex-col items-center justify-center min-h-screen text-center p-8">
|
||||||
|
<h1 className="text-4xl font-bold mb-4">Match Not Found</h1>
|
||||||
|
<p className="text-lg">The match you are looking for does not exist.</p>
|
||||||
|
</div>
|
||||||
|
<FooterBaseReveal
|
||||||
|
logoText="World Cup Hub"
|
||||||
|
columns={[
|
||||||
|
{ title: "Navigate", items: [{ label: "Home", href: "/" }, { label: "Matches", href: "/" }, { label: "Stats", href: "#stats" }, { label: "Archives", href: "#archives" }] },
|
||||||
|
{ title: "Resources", items: [{ label: "FAQ", href: "#faq" }, { label: "About Us", href: "#about" }, { label: "Contact", href: "#contact" }] },
|
||||||
|
{ title: "Legal", items: [{ label: "Privacy Policy", href: "/privacy" }, { label: "Terms of Service", href: "/terms" }] },
|
||||||
|
]}
|
||||||
|
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
||||||
|
/>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="elastic-effect"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="small"
|
||||||
|
sizing="largeSizeMediumTitles"
|
||||||
|
background="none"
|
||||||
|
cardStyle="outline"
|
||||||
|
primaryButtonStyle="diagonal-gradient"
|
||||||
|
secondaryButtonStyle="solid"
|
||||||
|
headingFontWeight="extrabold"
|
||||||
|
>
|
||||||
|
<NavbarLayoutFloatingOverlay
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Matches", id: "/" }, // Link back to home page's matches section
|
||||||
|
{ name: "About", id: "#about" },
|
||||||
|
{ name: "Stats", id: "#stats" },
|
||||||
|
{ name: "Fans Say", id: "#testimonials" },
|
||||||
|
{ name: "FAQ", id: "#faq" },
|
||||||
|
{ name: "Contact", id: "#contact" },
|
||||||
|
]}
|
||||||
|
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
||||||
|
logoAlt="World Cup Hub Logo"
|
||||||
|
brandName="World Cup Hub"
|
||||||
|
/>
|
||||||
|
<div className="min-h-screen pt-24 pb-12 flex flex-col items-center justify-center bg-background text-foreground">
|
||||||
|
<div className="container max-w-4xl mx-auto px-4">
|
||||||
|
<h1 className="text-5xl font-extrabold text-center mb-8 leading-tight">
|
||||||
|
<span className="text-primary-cta">Match Details:</span> {match.homeTeam} vs {match.awayTeam}
|
||||||
|
</h1>
|
||||||
|
<img src={match.imageSrc} alt={match.imageAlt} className="w-full h-80 object-cover rounded-xl shadow-lg mb-8" />
|
||||||
|
|
||||||
|
<div className="bg-card p-8 rounded-xl shadow-md text-center mb-8 border border-border">
|
||||||
|
<p className="text-xl font-semibold mb-2">{match.tournamentStage}</p>
|
||||||
|
<p className="text-lg mb-4">{match.date} at {match.venue}</p>
|
||||||
|
<div className="flex items-center justify-center space-x-4">
|
||||||
|
<span className="text-4xl font-bold">{match.homeTeam}</span>
|
||||||
|
<span className="text-6xl font-extrabold text-primary-cta">{match.homeScore} - {match.awayScore}</span>
|
||||||
|
<span className="text-4xl font-bold">{match.awayTeam}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{match.goalScorers.length > 0 && (
|
||||||
|
<div className="bg-card p-8 rounded-xl shadow-md border border-border">
|
||||||
|
<h2 className="text-3xl font-bold mb-6 text-center">Goal Scorers</h2>
|
||||||
|
<ul className="space-y-4">
|
||||||
|
{match.goalScorers.map((scorer, index) => (
|
||||||
|
<li key={index} className="flex items-center justify-between bg-background-accent p-4 rounded-lg shadow-sm">
|
||||||
|
<span className="text-lg font-medium">{scorer.name}</span>
|
||||||
|
<span className="text-primary-cta font-semibold">{scorer.minute}'</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{match.goalScorers.length === 0 && (
|
||||||
|
<div className="bg-card p-8 rounded-xl shadow-md border border-border text-center">
|
||||||
|
<h2 className="text-2xl font-bold mb-4">No Goals Scored in Regular Time</h2>
|
||||||
|
<p className="text-lg">This match was decided by other means (e.g., penalty shootout).</p>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<FooterBaseReveal
|
||||||
|
logoText="World Cup Hub"
|
||||||
|
columns={[
|
||||||
|
{ title: "Navigate", items: [{ label: "Home", href: "/" }, { label: "Matches", href: "/" }, { label: "Stats", href: "#stats" }, { label: "Archives", href: "#archives" }] },
|
||||||
|
{ title: "Resources", items: [{ label: "FAQ", href: "#faq" }, { label: "About Us", href: "#about" }, { label: "Contact", href: "#contact" }] },
|
||||||
|
{ title: "Legal", items: [{ label: "Privacy Policy", href: "/privacy" }, { label: "Terms of Service", href: "/terms" }] },
|
||||||
|
]}
|
||||||
|
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
||||||
|
/>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
105
src/app/page.tsx
105
src/app/page.tsx
@@ -14,6 +14,43 @@ import SplitAbout from '@/components/sections/about/SplitAbout';
|
|||||||
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
||||||
import { Flag, History, Trophy } from "lucide-react";
|
import { Flag, History, Trophy } from "lucide-react";
|
||||||
|
|
||||||
|
const navItems = [
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Archives", id: "/archives" },
|
||||||
|
{ name: "Search", id: "/search" }, { name: "Top Scorers", id: "/top-scorers" },
|
||||||
|
{ name: "About", id: "/#about" },
|
||||||
|
{ name: "Matches", id: "/#matches" },
|
||||||
|
{ name: "Stats", id: "/#stats" },
|
||||||
|
{ name: "Fans Say", id: "/#testimonials" },
|
||||||
|
{ name: "FAQ", id: "/#faq" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Theme", id: "/theme" }
|
||||||
|
];
|
||||||
|
|
||||||
|
const footerColumns = [
|
||||||
|
{
|
||||||
|
title: "Navigate", items: [
|
||||||
|
{ label: "Home", href: "/" },
|
||||||
|
{ label: "Matches", href: "/#matches" },
|
||||||
|
{ label: "Stats", href: "/#stats" },
|
||||||
|
{ label: "Archives", href: "/archives" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Resources", items: [
|
||||||
|
{ label: "FAQ", href: "/#faq" },
|
||||||
|
{ label: "About Us", href: "/#about" },
|
||||||
|
{ label: "Contact", href: "/#contact" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Legal", items: [
|
||||||
|
{ label: "Privacy Policy", href: "/privacy" },
|
||||||
|
{ label: "Terms of Service", href: "/terms" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
@@ -31,22 +68,7 @@ export default function LandingPage() {
|
|||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
navItems={[
|
navItems={navItems}
|
||||||
{
|
|
||||||
name: "Home", id: "#home"},
|
|
||||||
{
|
|
||||||
name: "About", id: "#about"},
|
|
||||||
{
|
|
||||||
name: "Matches", id: "#matches"},
|
|
||||||
{
|
|
||||||
name: "Stats", id: "#stats"},
|
|
||||||
{
|
|
||||||
name: "Fans Say", id: "#testimonials"},
|
|
||||||
{
|
|
||||||
name: "FAQ", id: "#faq"},
|
|
||||||
{
|
|
||||||
name: "Contact", id: "#contact"},
|
|
||||||
]}
|
|
||||||
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
||||||
logoAlt="World Cup Hub Logo"
|
logoAlt="World Cup Hub Logo"
|
||||||
brandName="World Cup Hub"
|
brandName="World Cup Hub"
|
||||||
@@ -61,13 +83,13 @@ export default function LandingPage() {
|
|||||||
description="Your ultimate destination for match results, detailed stats, and historical archives of the greatest football tournament."
|
description="Your ultimate destination for match results, detailed stats, and historical archives of the greatest football tournament."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{
|
||||||
text: "Explore Matches", href: "#matches"},
|
text: "Explore Matches", href: "/#matches"},
|
||||||
{
|
{
|
||||||
text: "View Stats", href: "#stats"},
|
text: "View Stats", href: "/#stats"},
|
||||||
]}
|
]}
|
||||||
mediaItems={[
|
mediaItems={[
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536119.jpg", imageAlt: "Football stadium with cheering crowd and lights"},
|
imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536119.jpg?_wi=1", imageAlt: "Football stadium with cheering crowd and lights"},
|
||||||
{
|
{
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/american-football-player-neon-style_23-2151827409.jpg", imageAlt: "Soccer player celebrating a goal in a stadium"},
|
imageSrc: "http://img.b2bpic.net/free-photo/american-football-player-neon-style_23-2151827409.jpg", imageAlt: "Soccer player celebrating a goal in a stadium"},
|
||||||
{
|
{
|
||||||
@@ -136,17 +158,17 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "match-1", name: "Argentina 3 - 3 France (4-2 PSO)", price: "2022 Final", imageSrc: "http://img.b2bpic.net/free-photo/spain-vs-switzerland_187299-31172.jpg", imageAlt: "Argentina vs France World Cup Final 2022"},
|
id: "match-1", name: "Argentina 3 - 3 France (4-2 PSO)", price: "2022 Final", imageSrc: "http://img.b2bpic.net/free-photo/spain-vs-switzerland_187299-31172.jpg?_wi=1", imageAlt: "Argentina vs France World Cup Final 2022"},
|
||||||
{
|
{
|
||||||
id: "match-2", name: "Brazil 1 - 7 Germany", price: "2014 Semi-final", imageSrc: "http://img.b2bpic.net/free-photo/ghana-vs-croatia-football_187299-32095.jpg", imageAlt: "Brazil vs Germany World Cup Semi-final 2014"},
|
id: "match-2", name: "Brazil 1 - 7 Germany", price: "2014 Semi-final", imageSrc: "http://img.b2bpic.net/free-photo/ghana-vs-croatia-football_187299-32095.jpg?_wi=1", imageAlt: "Brazil vs Germany World Cup Semi-final 2014"},
|
||||||
{
|
{
|
||||||
id: "match-3", name: "Italy 0 - 0 Brazil (2-3 PSO)", price: "1994 Final", imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536180.jpg", imageAlt: "Italy vs Brazil World Cup Final 1994"},
|
id: "match-3", name: "Italy 0 - 0 Brazil (2-3 PSO)", price: "1994 Final", imageSrc: "http://img.b2bpic.net/free-photo/soccer-fans-cheering-their-team-stadium_23-2151536180.jpg?_wi=1", imageAlt: "Italy vs Brazil World Cup Final 1994"},
|
||||||
{
|
{
|
||||||
id: "match-4", name: "England 2 - 4 Germany", price: "2010 Round of 16", imageSrc: "http://img.b2bpic.net/free-photo/men-playing-rugby-field_23-2150062039.jpg", imageAlt: "England vs Germany World Cup 2010"},
|
id: "match-4", name: "England 2 - 4 Germany", price: "2010 Round of 16", imageSrc: "http://img.b2bpic.net/free-photo/men-playing-rugby-field_23-2150062039.jpg?_wi=1", imageAlt: "England vs Germany World Cup 2010"},
|
||||||
{
|
{
|
||||||
id: "match-5", name: "Spain 1 - 0 Netherlands", price: "2010 Final", imageSrc: "http://img.b2bpic.net/free-photo/soccer-game-concept_23-2151043781.jpg", imageAlt: "Spain vs Netherlands World Cup Final 2010"},
|
id: "match-5", name: "Spain 1 - 0 Netherlands", price: "2010 Final", imageSrc: "http://img.b2bpic.net/free-photo/soccer-game-concept_23-2151043781.jpg?_wi=1", imageAlt: "Spain vs Netherlands World Cup Final 2010"},
|
||||||
{
|
{
|
||||||
id: "match-6", name: "USA 2 - 0 Mexico", price: "2002 Round of 16", imageSrc: "http://img.b2bpic.net/free-photo/morocco-vs-united-states-football_187299-32225.jpg", imageAlt: "USA vs Mexico World Cup 2002"},
|
id: "match-6", name: "USA 2 - 0 Mexico", price: "2002 Round of 16", imageSrc: "http://img.b2bpic.net/free-photo/morocco-vs-united-states-football_187299-32225.jpg?_wi=1", imageAlt: "USA vs Mexico World Cup 2002"},
|
||||||
]}
|
]}
|
||||||
title="Recent & Upcoming Matches"
|
title="Recent & Upcoming Matches"
|
||||||
description="Stay up-to-date with the latest World Cup results and upcoming fixtures. Click any match for full details including goal scorers and more."
|
description="Stay up-to-date with the latest World Cup results and upcoming fixtures. Click any match for full details including goal scorers and more."
|
||||||
@@ -241,38 +263,7 @@ export default function LandingPage() {
|
|||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterBaseReveal
|
<FooterBaseReveal
|
||||||
logoText="World Cup Hub"
|
logoText="World Cup Hub"
|
||||||
columns={[
|
columns={footerColumns}
|
||||||
{
|
|
||||||
title: "Navigate", items: [
|
|
||||||
{
|
|
||||||
label: "Home", href: "#home"},
|
|
||||||
{
|
|
||||||
label: "Matches", href: "#matches"},
|
|
||||||
{
|
|
||||||
label: "Stats", href: "#stats"},
|
|
||||||
{
|
|
||||||
label: "Archives", href: "#archives"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Resources", items: [
|
|
||||||
{
|
|
||||||
label: "FAQ", href: "#faq"},
|
|
||||||
{
|
|
||||||
label: "About Us", href: "#about"},
|
|
||||||
{
|
|
||||||
label: "Contact", href: "#contact"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Legal", items: [
|
|
||||||
{
|
|
||||||
label: "Privacy Policy", href: "/privacy"},
|
|
||||||
{
|
|
||||||
label: "Terms of Service", href: "/terms"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
92
src/app/search/page.tsx
Normal file
92
src/app/search/page.tsx
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
|
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
|
||||||
|
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||||
|
|
||||||
|
const navItems = [
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Archives", id: "/archives" },
|
||||||
|
{ name: "Search", id: "/search" },
|
||||||
|
{ name: "Top Scorers", id: "/top-scorers" },
|
||||||
|
{ name: "About", id: "/#about" },
|
||||||
|
{ name: "Matches", id: "/#matches" },
|
||||||
|
{ name: "Stats", id: "/#stats" },
|
||||||
|
{ name: "Fans Say", id: "/#testimonials" },
|
||||||
|
{ name: "FAQ", id: "/#faq" },
|
||||||
|
{ name: "Contact", id: "/#contact" },
|
||||||
|
{ name: "Theme", id: "/theme" }
|
||||||
|
];
|
||||||
|
|
||||||
|
const footerColumns = [
|
||||||
|
{
|
||||||
|
title: "Navigate", items: [
|
||||||
|
{ label: "Home", href: "/" },
|
||||||
|
{ label: "Matches", href: "/#matches" },
|
||||||
|
{ label: "Stats", href: "/#stats" },
|
||||||
|
{ label: "Archives", href: "/archives" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Resources", items: [
|
||||||
|
{ label: "FAQ", href: "/#faq" },
|
||||||
|
{ label: "About Us", href: "/#about" },
|
||||||
|
{ label: "Contact", href: "/#contact" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Legal", items: [
|
||||||
|
{ label: "Privacy Policy", href: "/privacy" },
|
||||||
|
{ label: "Terms of Service", href: "/terms" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function SearchPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="elastic-effect"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="small"
|
||||||
|
sizing="largeSizeMediumTitles"
|
||||||
|
background="none"
|
||||||
|
cardStyle="outline"
|
||||||
|
primaryButtonStyle="diagonal-gradient"
|
||||||
|
secondaryButtonStyle="solid"
|
||||||
|
headingFontWeight="extrabold"
|
||||||
|
>
|
||||||
|
<ReactLenis root>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingOverlay
|
||||||
|
navItems={navItems}
|
||||||
|
logoSrc="http://img.b2bpic.net/free-vector/hand-drawn-football-soccer-club-logo_23-2149313711.jpg"
|
||||||
|
logoAlt="World Cup Hub Logo"
|
||||||
|
brandName="World Cup Hub"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="hero-search" data-section="hero-search">
|
||||||
|
<HeroBillboardCarousel
|
||||||
|
background={{ variant: "radial-gradient" }}
|
||||||
|
title="Search World Cup Data"
|
||||||
|
description="Quickly find matches, teams, players, or tournaments with our powerful search tools."
|
||||||
|
mediaItems={[
|
||||||
|
{ imageSrc: "http://img.b2bpic.net/free-photo/soccer-game-concept_23-2151043781.jpg?_wi=3", imageAlt: "Football players on a field" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterBaseReveal
|
||||||
|
logoText="World Cup Hub"
|
||||||
|
columns={footerColumns}
|
||||||
|
copyrightText="© 2024 World Cup Hub. All rights reserved."
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #0a0a0a;
|
--background: #000000;
|
||||||
--card: #1a1a1a;
|
--card: #0c0c0c;
|
||||||
--foreground: #f5f5f5;
|
--foreground: #ffffff;
|
||||||
--primary-cta: #ffdf7d;
|
--primary-cta: #106EFB;
|
||||||
--primary-cta-text: #0a0a0a;
|
--primary-cta-text: #0a0a0a;
|
||||||
--secondary-cta: #1a1a1a;
|
--secondary-cta: #000000;
|
||||||
--secondary-cta-text: #ffffff;
|
--secondary-cta-text: #ffffff;
|
||||||
--accent: #b8860b;
|
--accent: #535353;
|
||||||
--background-accent: #8b6914;
|
--background-accent: #106EFB;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user