feat: Suppression des localStorage

This commit is contained in:
N3WT DE COMPET
2025-03-09 16:44:37 +01:00
parent 16178296ec
commit 023b46e16e
4 changed files with 7 additions and 44 deletions

View File

@ -1,5 +1,4 @@
'use client' 'use client'
// src/components/Layout.js
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import Sidebar from '@/components/Sidebar'; import Sidebar from '@/components/Sidebar';
import { usePathname } from 'next/navigation'; import { usePathname } from 'next/navigation';
@ -119,13 +118,8 @@ export default function Layout({
name: role.establishment__name, name: role.establishment__name,
role_type: role.role_type role_type: role.role_type
}))); })));
// Sélectionner l'établissement depuis le localStorage ou le premier établissement par défaut // Sélectionner l'établissement depuis la session ou le premier établissement par défaut
const storedEstablishmentId = localStorage.getItem('selectedEstablishmentId'); if (!selectedEstablishmentId && session.user.roles.length > 0) {
if (storedEstablishmentId) {
setSelectedEstablishmentId(storedEstablishmentId);
const storedProfileRole = session.user.roles.find(role => role.establishment__id === parseInt(storedEstablishmentId))?.role_type;
setProfileRole(storedProfileRole);
} else if (session.user.roles.length > 0) {
setSelectedEstablishmentId(session.user.roles[0].establishment__id); setSelectedEstablishmentId(session.user.roles[0].establishment__id);
setProfileRole(session.user.roles[0].role_type); setProfileRole(session.user.roles[0].role_type);
} }

View File

@ -37,14 +37,11 @@ export default function ParentHomePage() {
})); }));
setEstablishments(userEstablishments); setEstablishments(userEstablishments);
const storedEstablishmentId = localStorage.getItem('selectedEstablishmentId'); if (!selectedEstablishmentId && userEstablishments.length > 0) {
if (storedEstablishmentId) {
setSelectedEstablishmentId(storedEstablishmentId);
} else if (userEstablishments.length > 0) {
setSelectedEstablishmentId(userEstablishments[0].id); setSelectedEstablishmentId(userEstablishments[0].id);
} }
fetchChildren(userIdFromSession, storedEstablishmentId).then(data => { fetchChildren(userIdFromSession, selectedEstablishmentId).then(data => {
setChildren(data); setChildren(data);
}); });
} }
@ -53,7 +50,6 @@ export default function ParentHomePage() {
const handleEstablishmentChange = (e) => { const handleEstablishmentChange = (e) => {
const establishmentId = parseInt(e.target.value, 10); const establishmentId = parseInt(e.target.value, 10);
setSelectedEstablishmentId(establishmentId); setSelectedEstablishmentId(establishmentId);
localStorage.setItem('selectedEstablishmentId', establishmentId);
}; };
function handleEdit(eleveId) { function handleEdit(eleveId) {

View File

@ -100,7 +100,7 @@ export const archiveRegisterForm = (id) => {
} }
export const fetchStudents = (id=null, establishment) => { export const fetchStudents = (id=null, establishment) => {
const url = (id)?`${BE_SUBSCRIPTION_STUDENTS_URL}/${id}?establishment_id=${establishment}`:`${BE_SUBSCRIPTION_STUDENTS_URL}?establishment_id=${establishment}`; const url = (id)?`${BE_SUBSCRIPTION_STUDENTS_URL}/${id}`:`${BE_SUBSCRIPTION_STUDENTS_URL}?establishment_id=${establishment}`;
const request = new Request( const request = new Request(
url, url,
{ {

View File

@ -3,35 +3,8 @@ import React, { createContext, useContext, useState, useEffect } from 'react';
const EstablishmentContext = createContext(); const EstablishmentContext = createContext();
export const EstablishmentProvider = ({ children }) => { export const EstablishmentProvider = ({ children }) => {
const [selectedEstablishmentId, setSelectedEstablishmentId] = useState(() => { const [selectedEstablishmentId, setSelectedEstablishmentId] = useState(null);
// Récupérer l'ID de l'établissement depuis le localStorage const [profileRole, setProfileRole] = useState(null);
if (typeof window !== 'undefined') {
return localStorage.getItem('selectedEstablishmentId') || null;
}
return null;
});
const [profileRole, setProfileRole] = useState(() => {
// Récupérer le rôle du profil depuis le localStorage
if (typeof window !== 'undefined') {
return localStorage.getItem('profileRole') || null;
}
return null;
});
useEffect(() => {
// Sauvegarder l'ID de l'établissement dans le localStorage
if (selectedEstablishmentId) {
localStorage.setItem('selectedEstablishmentId', selectedEstablishmentId);
}
}, [selectedEstablishmentId]);
useEffect(() => {
// Sauvegarder le rôle du profil dans le localStorage
if (profileRole) {
localStorage.setItem('profileRole', profileRole);
}
}, [profileRole]);
return ( return (
<EstablishmentContext.Provider value={{ selectedEstablishmentId, setSelectedEstablishmentId, profileRole, setProfileRole }}> <EstablishmentContext.Provider value={{ selectedEstablishmentId, setSelectedEstablishmentId, profileRole, setProfileRole }}>