Fix admin dashboard API response handling

This commit is contained in:
Z User 2026-03-28 00:22:46 +00:00
parent 5b5cabc3d0
commit 2bc263773b

View File

@ -328,7 +328,7 @@
headers: { 'Authorization': `Bearer ${token}` } headers: { 'Authorization': `Bearer ${token}` }
}); });
const data = await response.json(); const data = await response.json();
return data.success && data.data.role === 'admin'; return data.success && data.data?.user?.role === 'admin';
} catch { } catch {
return false; return false;
} }
@ -345,8 +345,9 @@
const data = await response.json(); const data = await response.json();
if (data.success) { if (data.success) {
const totalUsers = data.data.length; const users = data.data.users || data.data;
const totalCredits = data.data.reduce((sum, u) => sum + (u.credits || 0), 0); const totalUsers = users.length;
const totalCredits = users.reduce((sum, u) => sum + (u.credits || 0), 0);
document.getElementById('statUsers').textContent = totalUsers; document.getElementById('statUsers').textContent = totalUsers;
document.getElementById('statCredits').textContent = totalCredits.toLocaleString(); document.getElementById('statCredits').textContent = totalCredits.toLocaleString();
} }
@ -362,7 +363,8 @@
const data = await response.json(); const data = await response.json();
if (data.success) { if (data.success) {
const newMessages = data.data.filter(m => m.status === 'new').length; const messages = data.data || [];
const newMessages = messages.filter(m => m.status === 'new').length;
document.getElementById('statNewMessages').textContent = newMessages; document.getElementById('statNewMessages').textContent = newMessages;
} }
} catch (error) { } catch (error) {
@ -500,7 +502,7 @@
const data = await response.json(); const data = await response.json();
if (data.success) { if (data.success) {
users = data.data; users = data.data.users || data.data;
document.getElementById('usersLoading').classList.add('hidden'); document.getElementById('usersLoading').classList.add('hidden');