diff --git a/client/src/pages/admin/Export.tsx b/client/src/pages/admin/Export.tsx index c12b96c..e5190a2 100644 --- a/client/src/pages/admin/Export.tsx +++ b/client/src/pages/admin/Export.tsx @@ -262,11 +262,19 @@ export default function Export() { const overviewCalc = (() => { if (!preview) return null; - const totalHours = (preview.hours || []).reduce((s: number, h: any) => s + Number(h.hours || 0), 0); const userCount = (preview.users || []).length; const activityCount = (preview.activities || []).length; const hourCount = (preview.hours || []).length; - const avgHours = userCount > 0 ? totalHours / userCount : 0; + let totalHours: number; + if (preview.user_totals && preview.user_totals.length > 0) { + totalHours = (preview.user_totals).reduce((s: number, u: any) => s + Number(u.total_hours || 0), 0); + } else if (preview.activity_matrix && Array.isArray(preview.activity_matrix.users)) { + totalHours = (preview.activity_matrix.users).reduce((s: number, u: any) => s + Number(u._total || 0), 0); + } else { + totalHours = (preview.hours || []).reduce((s: number, h: any) => s + Number(h.hours || 0), 0); + } + totalHours = Number(totalHours.toFixed(1)); + const avgHours = userCount > 0 ? Number((totalHours / userCount).toFixed(1)) : 0; return { totalHours, userCount, activityCount, hourCount, avgHours }; })(); diff --git a/client/src/pages/user/Dashboard.tsx b/client/src/pages/user/Dashboard.tsx index 8707fb5..576dc3a 100644 --- a/client/src/pages/user/Dashboard.tsx +++ b/client/src/pages/user/Dashboard.tsx @@ -68,7 +68,19 @@ export default function UserDashboard() {