feat(auth): real JWT login, RBAC routes, RGPD cookie banner + users/journal admin
Build & Deploy / build (push) Successful in 11s
Build & Deploy / build (push) Successful in 11s
This commit is contained in:
@@ -11,7 +11,9 @@ import {
|
||||
Book,
|
||||
Shield,
|
||||
FileText,
|
||||
ScrollText,
|
||||
} from 'lucide-react';
|
||||
import { useAuth } from '../../context/AuthContext';
|
||||
import styles from './Sidebar.module.css';
|
||||
|
||||
/* Un lien de navigation avec icône */
|
||||
@@ -31,6 +33,9 @@ function NavItem({ to, icon: Icon, label }) {
|
||||
}
|
||||
|
||||
export default function Sidebar({ isOpen, onClose }) {
|
||||
const { user } = useAuth();
|
||||
const isAdmin = user?.role === 'Admin';
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* Overlay mobile pour fermer la sidebar */}
|
||||
@@ -58,15 +63,18 @@ export default function Sidebar({ isOpen, onClose }) {
|
||||
<NavItem to="/historique" icon={Clock} label="Historique" />
|
||||
</div>
|
||||
|
||||
<div className={styles.separator} role="separator" />
|
||||
|
||||
{/* Section administration */}
|
||||
<div className={styles.sectionLabel} aria-hidden="true">ADMIN</div>
|
||||
<div className={styles.section} role="group" aria-label="Administration">
|
||||
<NavItem to="/admin" icon={Settings} label="Nomenclature" />
|
||||
<NavItem to="/utilisateurs" icon={Users} label="Utilisateurs" />
|
||||
|
||||
</div>
|
||||
{/* Section administration : réservée aux administrateurs */}
|
||||
{isAdmin && (
|
||||
<>
|
||||
<div className={styles.separator} role="separator" />
|
||||
<div className={styles.sectionLabel} aria-hidden="true">ADMIN</div>
|
||||
<div className={styles.section} role="group" aria-label="Administration">
|
||||
<NavItem to="/admin" icon={Settings} label="Nomenclature" />
|
||||
<NavItem to="/utilisateurs" icon={Users} label="Utilisateurs" />
|
||||
<NavItem to="/journal" icon={ScrollText} label="Journal d'audit" />
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</nav>
|
||||
|
||||
{/* Liens de pied de sidebar */}
|
||||
|
||||
Reference in New Issue
Block a user