feat: Gestion de la sidebar [N3WTS-8]

This commit is contained in:
N3WT DE COMPET
2026-02-15 18:02:57 +01:00
parent a82483f3bd
commit ddcaba382e

View File

@ -35,7 +35,7 @@ import { useEstablishment } from '@/context/EstablishmentContext';
export default function Layout({ children }) {
const t = useTranslations('sidebar');
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
const { profileRole, establishments, user, clearContext } =
const { profileRole, establishments, clearContext } =
useEstablishment();
const sidebarItems = {
@ -112,6 +112,15 @@ export default function Layout({ children }) {
setIsSidebarOpen(false);
}, [pathname]);
// Filtrage dynamique des items de la sidebar selon le rôle
let sidebarItemsToDisplay = Object.values(sidebarItems);
if (profileRole === 0) {
// Si pas admin, on retire "directory" et "settings"
sidebarItemsToDisplay = sidebarItemsToDisplay.filter(
(item) => item.id !== 'directory' && item.id !== 'settings'
);
}
return (
<ProtectedRoute requiredRight={[RIGHTS.ADMIN, RIGHTS.TEACHER]}>
{/* Sidebar */}
@ -123,7 +132,7 @@ export default function Layout({ children }) {
<Sidebar
establishments={establishments}
currentPage={currentPage}
items={Object.values(sidebarItems)}
items={sidebarItemsToDisplay}
onCloseMobile={toggleSidebar}
/>
</div>