Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a02e88689 | |||
| 93cee5d551 | |||
| db680bb977 | |||
| bca0b08941 | |||
| 53e59d4584 | |||
| 48b772093d | |||
| cd6c522ec0 | |||
| 49f5117668 | |||
| ca14d6c61b | |||
| 461ed9df90 | |||
| 3c3da14fa3 | |||
| a4befa94f1 |
42
src/app/dashboard/page.tsx
Normal file
42
src/app/dashboard/page.tsx
Normal 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>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -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 { Montserrat } from "next/font/google";
|
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.',
|
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"],
|
subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -28,7 +35,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${montserrat.variable} antialiased`}>
|
<body className={`${inter.variable} ${openSans.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export default function LandingPage() {
|
|||||||
{ name: "Home", id: "home" },
|
{ name: "Home", id: "home" },
|
||||||
{ name: "Leaderboard", id: "leaderboard" },
|
{ name: "Leaderboard", id: "leaderboard" },
|
||||||
{ name: "Matches", id: "matches" },
|
{ name: "Matches", id: "matches" },
|
||||||
{ name: "Dashboard", id: "/dashboard" },
|
{ name: "Admin", id: "admin" },
|
||||||
]}
|
]}
|
||||||
brandName="MarbleCityFC"
|
brandName="MarbleCityFC"
|
||||||
/>
|
/>
|
||||||
@@ -44,6 +44,7 @@ export default function LandingPage() {
|
|||||||
description="The official internal dashboard for tracking soccer matches, player stats, and club performance."
|
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"
|
imageSrc="http://img.b2bpic.net/free-photo/soccer-player-stadium-professional_654080-928.jpg?_wi=1"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
|
buttons={[{ text: "View Statistics", href: "/dashboard" }]}
|
||||||
avatars={[
|
avatars={[
|
||||||
{ src: "http://img.b2bpic.net/free-photo/soccer-training_654080-1585.jpg", alt: "Staff profile 1" },
|
{ 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-match_654080-933.jpg", alt: "Staff profile 2" },
|
||||||
@@ -119,11 +120,6 @@ export default function LandingPage() {
|
|||||||
title="Match & Stats Entry"
|
title="Match & Stats Entry"
|
||||||
description="Use this secure panel to input new player data, soccer 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"
|
inputPlaceholder="Enter admin authorization code"
|
||||||
onSubmit={(email: string) => {
|
|
||||||
if (email === "admin") {
|
|
||||||
window.location.href = "/dashboard";
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -146,70 +142,4 @@ export default function LandingPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}"
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "src/app/dashboard/page.tsx", "content": "\"use client\";
|
|
||||||
|
|
||||||
import { ThemeProvider } from \"@/providers/themeProvider/ThemeProvider\";
|
|
||||||
import ReactLenis from \"lenis/react\";
|
|
||||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
|
||||||
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
|
|
||||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
|
||||||
|
|
||||||
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>
|
|
||||||
<div id=\"nav\" data-section=\"nav\">
|
|
||||||
<NavbarStyleCentered
|
|
||||||
navItems={[
|
|
||||||
{ name: \"Home\", id: \"/\" },
|
|
||||||
{ name: \"Dashboard\", id: \"/dashboard\" },
|
|
||||||
]}
|
|
||||||
brandName=\"MarbleCityFC\"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className=\"py-20\">
|
|
||||||
<MetricCardFourteen
|
|
||||||
useInvertedBackground={false}
|
|
||||||
title=\"Executive Dashboard\"
|
|
||||||
tag=\"System Insights\"
|
|
||||||
metrics={[
|
|
||||||
{ id: \"d1\", value: \"$1.2M\", description: \"Annual Revenue\" },
|
|
||||||
{ id: \"d2\", value: \"89%\", description: \"Player Retention\" },
|
|
||||||
{ id: \"d3\", value: \"450+\", description: \"Monthly Active Users\" },
|
|
||||||
]}
|
|
||||||
metricsAnimation=\"slide-up\"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div id=\"footer\" data-section=\"footer\">
|
|
||||||
<FooterBase
|
|
||||||
columns={[
|
|
||||||
{
|
|
||||||
title: \"Navigation\", items: [
|
|
||||||
{ label: \"Back to Home\", href: \"/\" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
logoText=\"MarbleCityFC\"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</ReactLenis>
|
|
||||||
</ThemeProvider>
|
|
||||||
);
|
|
||||||
}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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-montserrat), sans-serif;
|
font-family: var(--font-open-sans), 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-montserrat), sans-serif;
|
font-family: var(--font-inter), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,13 +12,13 @@
|
|||||||
|
|
||||||
--background: #ffffff;
|
--background: #ffffff;
|
||||||
--card: #f9f9f9;
|
--card: #f9f9f9;
|
||||||
--foreground: #000612;
|
--foreground: #000612e6;
|
||||||
--primary-cta: #15479c;
|
--primary-cta: #106EFB;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #f9f9f9;
|
||||||
--secondary-cta-text: #000612;
|
--secondary-cta-text: #000612e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #e2e2e2;
|
||||||
--background-accent: #c4c4c4;
|
--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