|
import { useEffect } from "react"; |
|
import { useNavigate } from "react-router-dom"; |
|
import { supabase } from "@/integrations/supabase/client"; |
|
import { useQuery } from "@tanstack/react-query"; |
|
import { AdminHighScoresTable } from "@/components/admin/AdminHighScoresTable"; |
|
|
|
export const AdminIndex = () => { |
|
const navigate = useNavigate(); |
|
|
|
useEffect(() => { |
|
const checkAdmin = async () => { |
|
const { data: { user } } = await supabase.auth.getUser(); |
|
if (!user) { |
|
navigate("/admin/login"); |
|
return; |
|
} |
|
|
|
const { data: isAdmin, error } = await supabase.rpc('is_admin', { |
|
user_id: user.id |
|
}); |
|
|
|
if (error || !isAdmin) { |
|
console.error("Not an admin or error checking admin status:", error); |
|
navigate("/admin/login"); |
|
} |
|
}; |
|
|
|
checkAdmin(); |
|
}, [navigate]); |
|
|
|
return ( |
|
<div className="container mx-auto py-8"> |
|
<h1 className="text-2xl font-bold mb-6">Admin Dashboard</h1> |
|
<AdminHighScoresTable /> |
|
</div> |
|
); |
|
}; |