From 54f60d097ef7a3b263761f6b41de58596e4b8d98 Mon Sep 17 00:00:00 2001 From: ectasy663 Date: Wed, 5 Aug 2026 13:07:36 +0530 Subject: [PATCH] UI/UX enhancements: refined footer layout, dashboard sidebar fixes, header tweaks, and theme alignment --- src/app/admin/layout.tsx | 20 +++--- src/app/dashboard/ai-coach/page.tsx | 2 +- src/app/dashboard/cbt/page.tsx | 4 +- src/app/dashboard/layout.tsx | 20 +++--- src/app/globals.css | 11 ++++ src/app/layout.tsx | 26 ++++++-- src/app/page.tsx | 83 +++++++------------------ src/components/AI/AITutorChat.tsx | 4 +- src/components/AdminThemeToggle.tsx | 44 +++++++++++++ src/components/Landing/PublicLayout.tsx | 70 +++++++-------------- src/components/ThemeToggle.tsx | 3 +- src/components/TierBadge.tsx | 2 +- src/components/ui/card.tsx | 2 +- 13 files changed, 152 insertions(+), 139 deletions(-) create mode 100644 src/components/AdminThemeToggle.tsx diff --git a/src/app/admin/layout.tsx b/src/app/admin/layout.tsx index 7961399..da2b558 100644 --- a/src/app/admin/layout.tsx +++ b/src/app/admin/layout.tsx @@ -1,18 +1,15 @@ "use client" -import { ReactNode, useEffect } from "react" +import { ReactNode } from "react" import { LayoutDashboard, Users, Database, Terminal, Settings, FileText, Tag } from "lucide-react" import Link from "next/link" import { usePathname } from "next/navigation" import { Logo } from "@/components/Logo" +import { AdminThemeToggle } from "@/components/AdminThemeToggle" export default function AdminLayout({ children }: { children: ReactNode }) { const pathname = usePathname() - useEffect(() => { - document.documentElement.classList.add('dark'); - }, []); - return (
{/* Sidebar */} @@ -35,9 +32,16 @@ export default function AdminLayout({ children }: { children: ReactNode }) { {/* Main Content */} -
- {children} -
+
+ {/* Top bar with theme toggle */} +
+

PragatiVeer Admin

+ +
+
+ {children} +
+
) } diff --git a/src/app/dashboard/ai-coach/page.tsx b/src/app/dashboard/ai-coach/page.tsx index e6e2c42..58a1be5 100644 --- a/src/app/dashboard/ai-coach/page.tsx +++ b/src/app/dashboard/ai-coach/page.tsx @@ -149,7 +149,7 @@ export default function AICoachDashboard() { { label: "Mistakes Mastered", value: 38, color: "text-green-400", bg: "bg-green-400/5", border: "border-green-400/20", icon: }, { label: "AI Sessions", value: 124, color: "text-purple-400", bg: "bg-purple-400/5", border: "border-purple-400/20", icon: }, ].map((stat) => ( - +
{stat.icon}
{stat.value}
diff --git a/src/app/dashboard/cbt/page.tsx b/src/app/dashboard/cbt/page.tsx index 499f04f..a09050e 100644 --- a/src/app/dashboard/cbt/page.tsx +++ b/src/app/dashboard/cbt/page.tsx @@ -144,7 +144,7 @@ export default function CBTPage() { type="date" value={dateFilter} onChange={(e) => setDateFilter(e.target.value)} - className="w-full px-4 py-2 bg-background border border-border rounded-xl text-sm focus:ring-2 focus:ring-[#00F0FF] outline-none text-foreground [color-scheme:dark]" + className="w-full px-4 py-2 bg-background border border-border rounded-xl text-sm focus:ring-2 focus:ring-[#00F0FF] outline-none text-foreground dark:[color-scheme:dark] [color-scheme:light]" />
@@ -370,7 +370,7 @@ export default function CBTPage() { ) : isAttempted ? (
- + diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx index f6b8652..63ea4a5 100644 --- a/src/app/dashboard/layout.tsx +++ b/src/app/dashboard/layout.tsx @@ -50,7 +50,7 @@ export default function DashboardLayout({ children }: { children: ReactNode }) { }, []) const userInitials = user ? user.name.split(" ").filter(n => /^[a-zA-Z]/.test(n)).slice(0, 2).map(n => n[0]).join("").toUpperCase() : "DS" - const targetExamLabel = user?.target_exam === "JEE_Main" ? "JEE Main" : user?.target_exam === "JEE_Advanced" ? "JEE Advanced" : user?.target_exam === "NEET" ? "NEET" : "NEET/JEE" + const targetExamLabel = user?.target_exam === "JEE_Main" ? "JEE" : user?.target_exam === "JEE_Advanced" ? "JEE Advanced" : user?.target_exam === "NEET" ? "NEET" : "NEET/JEE" // Trial logic removed as requested @@ -76,7 +76,7 @@ export default function DashboardLayout({ children }: { children: ReactNode }) {
-