RELEASE V.1.2.0 - Voici les fonctionnalités :
-> Mode sombre -> Updater
This commit is contained in:
1 parent
383354d854
commit
5fac0d4032
9 files changed
+1011
-2
No files matched your search
@@ -36,7 +36,8 @@ const MENU_GROUPS = [
|
||||
label: 'Configuration',
|
||||
items: [
|
||||
{ label: 'Gestion des parametres', href: '/parametres', match: ['/parametres'] },
|
||||
{ label: 'Gestion des menus regionaux', href: '/menu', match: ['/menu'] }
|
||||
{ label: 'Gestion des menus regionaux', href: '/menu', match: ['/menu'] },
|
||||
{ label: 'Mise à jour systeme', href: '/systeme-maj', match: ['/systeme-maj'] }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -119,6 +120,22 @@ export default function AppHeader({ isLoggedIn, userName }) {
|
||||
const [isNotificationsOpen, setIsNotificationsOpen] = useState(false);
|
||||
const [notifications, setNotifications] = useState([]);
|
||||
const [notificationCount, setNotificationCount] = useState(0);
|
||||
const [isDarkMode, setIsDarkMode] = useState(() => localStorage.getItem('theme') === 'dark');
|
||||
|
||||
const toggleDarkMode = () => {
|
||||
setIsDarkMode(prev => {
|
||||
const next = !prev;
|
||||
localStorage.setItem('theme', next ? 'dark' : 'light');
|
||||
if (next) {
|
||||
document.body.classList.add('dark-mode');
|
||||
document.documentElement.setAttribute('data-theme', 'dark');
|
||||
} else {
|
||||
document.body.classList.remove('dark-mode');
|
||||
document.documentElement.setAttribute('data-theme', 'light');
|
||||
}
|
||||
return next;
|
||||
});
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => {
|
||||
@@ -313,6 +330,7 @@ export default function AppHeader({ isLoggedIn, userName }) {
|
||||
else if (section === 'gares') permSection = 'gares';
|
||||
else if (section === 'quais') permSection = 'quais';
|
||||
else if (section === 'annonces-sonores') permSection = 'annonces_sonores';
|
||||
else if (section === 'systeme-maj') permSection = 'systeme_maj';
|
||||
|
||||
return hasAccessTo(user, permSection);
|
||||
}
|
||||
@@ -407,6 +425,16 @@ export default function AppHeader({ isLoggedIn, userName }) {
|
||||
)}
|
||||
|
||||
<div className="app-header-actions">
|
||||
<button
|
||||
type="button"
|
||||
className="app-header-notification-btn"
|
||||
aria-label="Basculer le mode sombre"
|
||||
onClick={toggleDarkMode}
|
||||
title={isDarkMode ? "Passer en mode clair" : "Passer en mode sombre"}
|
||||
>
|
||||
<wcs-mat-icon icon={isDarkMode ? 'light_mode' : 'dark_mode'}></wcs-mat-icon>
|
||||
</button>
|
||||
|
||||
{isLoggedIn && (
|
||||
<button
|
||||
type="button"
|
||||
|
||||
Reference in new issue
Block a user