'use client'; /** * Admin Dashboard Page * Displays core stats and dynamically loads module dashboard widgets */ import { Suspense } from 'react'; import { StatCard } from '../../../../shared/components'; import { UserMultiple02Icon } from '../../../../shared/Icons.js'; import { getModuleDashboardWidgets } from '../../../../modules/modules.pages.js'; /** * Loading placeholder for widgets */ function WidgetLoading() { return (
); } export default function DashboardPage({ user, stats, moduleStats = {}, enabledModules = {} }) { const loading = !stats; // Get only enabled module dashboard widgets const allModuleWidgets = getModuleDashboardWidgets(); const moduleWidgets = Object.fromEntries( Object.entries(allModuleWidgets).filter(([moduleName]) => enabledModules[moduleName]) ); return (

Tableau de bord

Vue d'ensemble de votre application

{/* Module dashboard widgets (dynamically loaded) */} {Object.entries(moduleWidgets).map(([moduleName, widgets]) => ( widgets.map((Widget, index) => ( }> )) ))} {/* Core stats - always shown */}
); }