import { useState, useEffect } from 'react'; import { LogIn, LogOut, Eye, MessageSquare, CheckCircle, User, Video } from 'lucide-react'; export default function AdminDashboard() { const [isLoggedIn, setIsLoggedIn] = useState(false); const [submissions, setSubmissions] = useState([]); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [selectedSubmission, setSelectedSubmission] = useState(null); const [feedback, setFeedback] = useState(''); const [stats, setStats] = useState({ total: 0, pending: 0, reviewed: 0 }); useEffect(() => { if (isLoggedIn) { fetchSubmissions(); } }, [isLoggedIn]); const fetchSubmissions = async () => { try { const response = await fetch(`https://www.sitebrew.ai/api/xzJwLk/submissions`); const data = await response.json(); const submissions = data.document || []; setSubmissions(submissions); // Calculate stats setStats({ total: submissions.length, pending: submissions.filter(s => s.status === 'pending').length, reviewed: submissions.filter(s => s.status === 'reviewed').length }); } catch (error) { console.error('Error fetching submissions:', error); } }; const handleLogin = async (e) => { e.preventDefault(); // In production, replace this with proper authentication if (username === 'admin' && password === 'password') { setIsLoggedIn(true); } else { alert('Invalid credentials'); } }; const handleSubmitFeedback = async () => { if (!selectedSubmission || !feedback) return; try { const updatedSubmission = { ...selectedSubmission, feedback, status: 'reviewed' }; const response = await fetch(`https://www.sitebrew.ai/api/xzJwLk/submissions`, { method: 'PUT', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ document: updatedSubmission }), }); if (response.ok) { await fetchSubmissions(); setSelectedSubmission(null); setFeedback(''); } } catch (error) { console.error('Error submitting feedback:', error); } }; if (!isLoggedIn) { return (
{submission.name}
{submission.email}
{selectedSubmission.name}
{selectedSubmission.description}