Files
core/src/features/admin/AdminPage.client.js
T

26 lines
824 B
JavaScript

'use client';
import { getPage } from './registry.js';
import './pages/DashboardPage.client.js';
import './pages/UsersPage.client.js';
import './pages/RolesPage.client.js';
import './pages/ProfilePage.client.js';
import './widgets/index.client.js';
export default function AdminPageClient({ params, user, widgetData }) {
const parts = params?.admin || [];
const [first, second, third] = parts;
const slug = first || 'dashboard';
const page = getPage(slug) || getPage('dashboard');
if (!page) return null;
const { Component } = page;
// Le tableau de bord reçoit les données collectées côté serveur ; les
// autres pages ne connaissent pas le widget data.
if (slug === 'dashboard') {
return <Component user={user} stats={widgetData} />;
}
return <Component user={user} params={parts} />;
}