import { useQuery } from '@tanstack/react-query' import { Users, Package, TrendingUp, Activity } from 'lucide-react' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { analyticsApi, type DashboardStats } from '@/api/analytics' import { useAuthStore } from '@/stores/authStore' export default function DashboardPage() { const { isAuthenticated, token } = useAuthStore() // Only make requests if authenticated and token exists const isReady = isAuthenticated && !!token && !!localStorage.getItem('admin_token') const { data: dashboardData, isLoading: dashboardLoading } = useQuery({ queryKey: ['dashboard'], queryFn: analyticsApi.getDashboard, enabled: isReady, }) if (dashboardLoading) { return (

Dashboard

Welcome to Sto k Odnomu Admin Panel

{[...Array(4)].map((_, i) => (
))}
) } return (

Dashboard

Welcome to Sto k Odnomu Admin Panel

{/* Stats Cards */}
Total Users
{dashboardData?.users || 0}

Registered users

Active Users
{dashboardData?.activeUsers || 0}

Active in last 7 days

Question Packs
{dashboardData?.publicPacks || 0}

of {dashboardData?.questionPacks || 0} total packs

Games Today
{dashboardData?.gamesToday || 0}

of {dashboardData?.gamesPlayed || 0} total games

{/* Rooms Stats */}
Room Statistics Current room status overview

Total Rooms

All time

{dashboardData?.rooms || 0}

Active Rooms

Currently playing or waiting

{dashboardData?.activeRooms || 0}
Game Statistics Overall game activity

Total Games

All time completed games

{dashboardData?.gamesPlayed || 0}

Today's Games

Completed today

{dashboardData?.gamesToday || 0}
) }