23 Commits

Author SHA1 Message Date
0286cc1a7e Merge version_6 into main
Merge version_6 into main
2026-05-02 07:43:17 +00:00
8a02e88689 Update theme colors 2026-05-02 07:43:11 +00:00
05b1405e58 Merge version_5 into main
Merge version_5 into main
2026-05-02 07:43:01 +00:00
93cee5d551 Update theme fonts 2026-05-02 07:42:58 +00:00
db680bb977 Update theme fonts 2026-05-02 07:42:58 +00:00
48d6a19182 Merge version_5 into main
Merge version_5 into main
2026-05-02 07:42:55 +00:00
bca0b08941 Update theme fonts 2026-05-02 07:42:52 +00:00
53e59d4584 Update theme fonts 2026-05-02 07:42:52 +00:00
4a1a270b29 Merge version_5 into main
Merge version_5 into main
2026-05-02 07:41:41 +00:00
48b772093d Update src/app/dashboard/page.tsx 2026-05-02 07:41:35 +00:00
cd6c522ec0 Merge version_4 into main
Merge version_4 into main
2026-05-02 07:39:58 +00:00
49f5117668 Update src/app/page.tsx 2026-05-02 07:39:55 +00:00
ca14d6c61b Add src/app/dashboard/page.tsx 2026-05-02 07:39:54 +00:00
461ed9df90 Switch to version 2: modified src/app/page.tsx 2026-05-02 07:39:19 +00:00
3c3da14fa3 Merge version_3 into main
Merge version_3 into main
2026-05-02 07:36:44 +00:00
c18160484a Update src/app/page.tsx 2026-05-02 07:36:38 +00:00
a4befa94f1 Merge version_3 into main
Merge version_3 into main
2026-05-02 07:36:18 +00:00
29863efb09 Update src/app/page.tsx 2026-05-02 07:36:15 +00:00
7c28681f23 Merge version_2 into main
Merge version_2 into main
2026-05-02 07:31:04 +00:00
070e48df04 Update src/app/page.tsx 2026-05-02 07:30:58 +00:00
9d52c70cb5 Merge version_1 into main
Merge version_1 into main
2026-05-02 07:26:15 +00:00
877186f6b4 Merge version_1 into main
Merge version_1 into main
2026-05-02 07:25:51 +00:00
ca3dd224b9 Merge version_1 into main
Merge version_1 into main
2026-05-02 07:25:27 +00:00
5 changed files with 81 additions and 31 deletions

View File

@@ -0,0 +1,42 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
export default function DashboardPage() {
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<NavbarStyleCentered
navItems={[
{ name: "Home", id: "home" },
{ name: "Dashboard", id: "dashboard" },
]}
brandName="MarbleCityFC"
/>
<div className="pt-24 min-h-screen flex items-center justify-center p-8">
<div className="text-center space-y-4">
<h1 className="text-4xl font-bold">Login Required</h1>
<p>Please authenticate your credentials to access the statistics dashboard.</p>
<button className="px-6 py-3 bg-primary text-white rounded-md shadow hover:opacity-90">
Authenticate Now
</button>
</div>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -7,6 +7,7 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Montserrat } from "next/font/google";
import { Open_Sans } from "next/font/google";
@@ -15,8 +16,14 @@ export const metadata: Metadata = {
description: 'Manage player stats, matches, and team rankings for MarbleCityFC.',
};
const montserrat = Montserrat({
variable: "--font-montserrat",
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const openSans = Open_Sans({
variable: "--font-open-sans",
subsets: ["latin"],
});
@@ -28,7 +35,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${montserrat.variable} antialiased`}>
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -41,15 +41,16 @@ export default function LandingPage() {
<HeroBillboard
background={{ variant: "plain" }}
title="MarbleCityFC Performance Portal"
description="The official internal dashboard for tracking matches, player stats, and club performance."
imageSrc="http://img.b2bpic.net/free-photo/american-football-player-professional-stadium_654080-928.jpg?_wi=1"
description="The official internal dashboard for tracking soccer matches, player stats, and club performance."
imageSrc="http://img.b2bpic.net/free-photo/soccer-player-stadium-professional_654080-928.jpg?_wi=1"
mediaAnimation="slide-up"
buttons={[{ text: "View Statistics", href: "/dashboard" }]}
avatars={[
{ src: "http://img.b2bpic.net/free-photo/figure-skating-girl-ice-arena_654080-1585.jpg", alt: "Staff profile 1" },
{ src: "http://img.b2bpic.net/free-photo/american-football-player-professional-stadium_654080-933.jpg", alt: "Staff profile 2" },
{ src: "http://img.b2bpic.net/free-photo/sports-center_1127-4160.jpg", alt: "Staff profile 3" },
{ src: "http://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-295.jpg", alt: "Staff profile 4" },
{ src: "http://img.b2bpic.net/free-photo/business-investor-analyzing-stock-market-trend-monitor-trading-capital-profit-exchange-investment-young-broker-investing-funds-using-financial-forex-market-sales-close-up-handheld-shot_482257-40948.jpg", alt: "Staff profile 5" },
{ src: "http://img.b2bpic.net/free-photo/soccer-training_654080-1585.jpg", alt: "Staff profile 1" },
{ src: "http://img.b2bpic.net/free-photo/soccer-match_654080-933.jpg", alt: "Staff profile 2" },
{ src: "http://img.b2bpic.net/free-photo/soccer-stadium_1127-4160.jpg", alt: "Staff profile 3" },
{ src: "http://img.b2bpic.net/free-photo/soccer-player-ball_654080-295.jpg", alt: "Staff profile 4" },
{ src: "http://img.b2bpic.net/free-photo/coach-analyzing-data_482257-40948.jpg", alt: "Staff profile 5" },
]}
avatarText="Trusted by our elite staff"
marqueeItems={[
@@ -69,15 +70,15 @@ export default function LandingPage() {
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
products={[
{ id: "p1", name: "James Wilson", price: "12 Goals", imageSrc: "http://img.b2bpic.net/free-photo/figure-skating-girl-ice-arena_654080-1585.jpg?_wi=1" },
{ id: "p2", name: "Marcus Rashford", price: "10 Goals", imageSrc: "http://img.b2bpic.net/free-photo/american-football-player-professional-stadium_654080-933.jpg" },
{ id: "p3", name: "Liam Smith", price: "8 Goals", imageSrc: "http://img.b2bpic.net/free-photo/sports-center_1127-4160.jpg" },
{ id: "p4", name: "Tom Baker", price: "7 Goals", imageSrc: "http://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-295.jpg" },
{ id: "p5", name: "Alex Reed", price: "6 Goals", imageSrc: "http://img.b2bpic.net/free-photo/business-investor-analyzing-stock-market-trend-monitor-trading-capital-profit-exchange-investment-young-broker-investing-funds-using-financial-forex-market-sales-close-up-handheld-shot_482257-40948.jpg" },
{ id: "p6", name: "Sam Field", price: "5 Goals", imageSrc: "http://img.b2bpic.net/free-photo/american-football-player-professional-stadium_654080-928.jpg?_wi=2" },
{ id: "p1", name: "James Wilson", price: "12 Goals", imageSrc: "http://img.b2bpic.net/free-photo/soccer-training_654080-1585.jpg?_wi=1" },
{ id: "p2", name: "Marcus Rashford", price: "10 Goals", imageSrc: "http://img.b2bpic.net/free-photo/soccer-match_654080-933.jpg" },
{ id: "p3", name: "Liam Smith", price: "8 Goals", imageSrc: "http://img.b2bpic.net/free-photo/soccer-stadium_1127-4160.jpg" },
{ id: "p4", name: "Tom Baker", price: "7 Goals", imageSrc: "http://img.b2bpic.net/free-photo/soccer-player-ball_654080-295.jpg" },
{ id: "p5", name: "Alex Reed", price: "6 Goals", imageSrc: "http://img.b2bpic.net/free-photo/coach-analyzing-data_482257-40948.jpg" },
{ id: "p6", name: "Sam Field", price: "5 Goals", imageSrc: "http://img.b2bpic.net/free-photo/soccer-player-stadium-professional_654080-928.jpg?_wi=2" },
]}
title="Player Leaderboard"
description="Top performers based on seasonal statistics."
description="Top soccer performers based on seasonal statistics."
/>
</div>
@@ -87,12 +88,12 @@ export default function LandingPage() {
textboxLayout="split"
useInvertedBackground={true}
features={[
{ id: "m1", title: "Oct 12 vs Tigers", descriptions: ["Score: 3-1", "Goal Scorers: Wilson, Smith, Baker"], imageSrc: "http://img.b2bpic.net/free-photo/businessman-doing-research-analysis-computer-screen-plan-financial-statistics-with-charts-graphs-data-male-employee-working-with-diagram-report-find-sales-profit-e-commerce_482257-40940.jpg", imageAlt: "dashboard admin ui" },
{ id: "m2", title: "Oct 05 vs City Rovers", descriptions: ["Score: 2-2", "Goal Scorers: Rashford, Reed"], imageSrc: "http://img.b2bpic.net/free-photo/american-football-player-professional-stadium_654080-928.jpg?_wi=3", imageAlt: "dashboard admin ui" },
{ id: "m3", title: "Sep 28 vs North United", descriptions: ["Score: 4-0", "Goal Scorers: Wilson, Smith, Baker, Field"], imageSrc: "http://img.b2bpic.net/free-photo/figure-skating-girl-ice-arena_654080-1585.jpg?_wi=2", imageAlt: "dashboard admin ui" },
{ id: "m1", title: "Oct 12 vs Tigers FC", descriptions: ["Score: 3-1", "Goal Scorers: Wilson, Smith, Baker"], imageSrc: "http://img.b2bpic.net/free-photo/soccer-stats-analysis_482257-40940.jpg" },
{ id: "m2", title: "Oct 05 vs City Rovers", descriptions: ["Score: 2-2", "Goal Scorers: Rashford, Reed"], imageSrc: "http://img.b2bpic.net/free-photo/soccer-player-stadium-professional_654080-928.jpg?_wi=3" },
{ id: "m3", title: "Sep 28 vs North United", descriptions: ["Score: 4-0", "Goal Scorers: Wilson, Smith, Baker, Field"], imageSrc: "http://img.b2bpic.net/free-photo/soccer-training_654080-1585.jpg?_wi=2" },
]}
title="Recent Match Logs"
description="Historical data of recent league matches and outcomes."
description="Historical data of recent league soccer matches and outcomes."
/>
</div>
@@ -100,7 +101,7 @@ export default function LandingPage() {
<MetricCardFourteen
useInvertedBackground={false}
title="Club Performance Overview"
tag="Live Metrics"
tag="Live Soccer Metrics"
metrics={[
{ id: "stat-1", value: "18", description: "Matches Played" },
{ id: "stat-2", value: "42", description: "Goals Scored" },
@@ -117,7 +118,7 @@ export default function LandingPage() {
background={{ variant: "plain" }}
tag="Admin Tools"
title="Match & Stats Entry"
description="Use this secure panel to input new player data, match scores, and update weekly stats."
description="Use this secure panel to input new player data, soccer match scores, and update weekly stats."
inputPlaceholder="Enter admin authorization code"
/>
</div>
@@ -127,7 +128,7 @@ export default function LandingPage() {
columns={[
{
title: "Platform", items: [
{ label: "Dashboard", href: "#home" },
{ label: "Dashboard", href: "/dashboard" },
{ label: "Stats", href: "#leaderboard" },
],
},
@@ -141,4 +142,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

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

View File

@@ -12,13 +12,13 @@
--background: #ffffff;
--card: #f9f9f9;
--foreground: #000612;
--primary-cta: #15479c;
--foreground: #000612e6;
--primary-cta: #106EFB;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #000612;
--secondary-cta-text: #000612e6;
--accent: #e2e2e2;
--background-accent: #c4c4c4;
--background-accent: #106EFB;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);