From 101df25c529728160b5f60bb622546b61fa2fb22 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 14 Jun 2026 13:25:27 +0000 Subject: [PATCH 1/2] Bob AI: Add dashboard page --- src/App.tsx | 2 + src/components/Layout.tsx | 4 +- src/pages/DashboardPage.tsx | 74 +++++++++++++++++++++++++++++++++++++ src/routes.ts | 1 + 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/pages/DashboardPage.tsx diff --git a/src/App.tsx b/src/App.tsx index 33d15f9..21c0cfa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom'; import Layout from './components/Layout'; import HomePage from './pages/HomePage'; +import DashboardPage from "@/pages/DashboardPage"; export default function App() { return ( }> } /> + } /> ); diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 815d53a..8671380 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -34,7 +34,9 @@ export default function Layout() { { "name": "Testimonials", "href": "#testimonials" - } + }, + { name: "Dashboard", href: "/dashboard" }, + ]; return ( diff --git a/src/pages/DashboardPage.tsx b/src/pages/DashboardPage.tsx new file mode 100644 index 0000000..b5d9475 --- /dev/null +++ b/src/pages/DashboardPage.tsx @@ -0,0 +1,74 @@ +import React from "react"; +import { routes } from "@/routes"; +import NavbarCentered from "@/components/ui/NavbarCentered"; +import HeroSplit from "@/components/sections/hero/HeroSplit"; +import MetricsSimpleCards from "@/components/sections/metrics/MetricsSimpleCards"; +import FeaturesIconCards from "@/components/sections/features/FeaturesIconCards"; +import FooterMinimal from "@/components/sections/footer/FooterMinimal"; + +export default function DashboardPage() { + return ( +
+ ({ name: r.label, href: r.path }))} + ctaButton={{ text: "Login with Discord", href: "/login" }} + /> + +
+ + + + + +
+ + +
+ ); +} \ No newline at end of file diff --git a/src/routes.ts b/src/routes.ts index 362ecb5..6f95978 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -6,4 +6,5 @@ export interface Route { export const routes: Route[] = [ { path: '/', label: 'Home', pageFile: 'HomePage' }, + { path: '/dashboard', label: 'Dashboard', pageFile: 'DashboardPage' }, ]; -- 2.49.1 From 73cfe0d1f3e850d153d0b0150ff6754bff9bc0da Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 14 Jun 2026 13:27:07 +0000 Subject: [PATCH 2/2] Bob AI: Populate the newly-created page at src/pages/DashboardPage.t --- src/pages/DashboardPage.tsx | 164 ++++++++++++++++++++++-------------- 1 file changed, 102 insertions(+), 62 deletions(-) diff --git a/src/pages/DashboardPage.tsx b/src/pages/DashboardPage.tsx index b5d9475..8c504c7 100644 --- a/src/pages/DashboardPage.tsx +++ b/src/pages/DashboardPage.tsx @@ -1,74 +1,114 @@ -import React from "react"; +import React, { useState } from "react"; import { routes } from "@/routes"; -import NavbarCentered from "@/components/ui/NavbarCentered"; -import HeroSplit from "@/components/sections/hero/HeroSplit"; -import MetricsSimpleCards from "@/components/sections/metrics/MetricsSimpleCards"; -import FeaturesIconCards from "@/components/sections/features/FeaturesIconCards"; -import FooterMinimal from "@/components/sections/footer/FooterMinimal"; +import Button from "@/components/ui/Button"; +import Card from "@/components/ui/Card"; +import Tag from "@/components/ui/Tag"; +import { LogIn, Database, Users, Activity, CheckCircle2 } from "lucide-react"; export default function DashboardPage() { + const [isLoggedIn, setIsLoggedIn] = useState(false); + return ( -
- ({ name: r.label, href: r.path }))} - ctaButton={{ text: "Login with Discord", href: "/login" }} - /> +
+
+ {!isLoggedIn ? ( + +
+ +
+
+

Server Authentication

+

+ Connect your Discord account to access your personalized dashboard and Supabase database. +

+
+