"use client" import { AlertCircle, RefreshCw } from "lucide-react" import { ExperimentalWarning } from "@/components/experimental-warning" import { SubmissionsDataTable } from "@/components/submissions-data-table" import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Skeleton } from "@/components/ui/skeleton" import { useApproveSubmission, useAuth, useRejectSubmission, useSubmissions } from "@/hooks/use-submissions" export default function DashboardPage() { // Fetch auth status const { data: auth, isLoading: authLoading } = useAuth() // Fetch submissions const { data: submissions = [], isLoading: submissionsLoading, error: submissionsError, refetch } = useSubmissions() // Mutations const approveMutation = useApproveSubmission() const rejectMutation = useRejectSubmission() const isLoading = authLoading || submissionsLoading const isAuthenticated = auth?.isAuthenticated ?? false const isAdmin = auth?.isAdmin ?? false const currentUserId = auth?.userId ?? "" const handleApprove = (submissionId: string) => { approveMutation.mutate(submissionId) } const handleReject = (submissionId: string) => { rejectMutation.mutate(submissionId) } // Not authenticated if (!authLoading && !isAuthenticated) { return (
Access Denied You need to be logged in to access the dashboard.
) } // Loading state if (isLoading) { return (
) } // Error state if (submissionsError) { return (
Submissions Dashboard {isAdmin ? "Review and manage all icon submissions." : "View your icon submissions and track their status."} Error loading submissions Failed to load submissions. Please try again.
) } // Success state return (
Submissions Dashboard {isAdmin ? "Review and manage all icon submissions. Click on a row to see details." : "View your icon submissions and track their status."}
) }