"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 DeniedYou 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."}
)
}