mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
fix: correction des redirections vers la login page
This commit is contained in:
@ -4,24 +4,26 @@ import DropdownMenu from '@/components/DropdownMenu';
|
||||
import { getRightStr } from '@/utils/rights';
|
||||
import { ChevronDown } from 'lucide-react'; // Import de l'icône
|
||||
|
||||
const ProfileSelector = ({ onEstablishmentChange, className = '' }) => {
|
||||
const ProfileSelector = ({ onRoleChange, className = '' }) => {
|
||||
const {
|
||||
establishments,
|
||||
selectedEstablishmentId,
|
||||
selectedRoleId,
|
||||
setSelectedRoleId,
|
||||
setSelectedEstablishmentId,
|
||||
setProfileRole,
|
||||
user,
|
||||
} = useEstablishment();
|
||||
const [dropdownOpen, setDropdownOpen] = useState(false);
|
||||
|
||||
const handleEstablishmentChange = (establishmentId) => {
|
||||
setSelectedEstablishmentId(establishmentId);
|
||||
const role = establishments.find(
|
||||
(est) => est.id === establishmentId
|
||||
)?.role_type;
|
||||
const handleRoleChange = (roleId) => {
|
||||
// Pas bon quand on a plusieur role pour le même établissement
|
||||
setSelectedRoleId(roleId);
|
||||
const role = user.roles[roleId].role_type;
|
||||
setProfileRole(role);
|
||||
|
||||
if (onEstablishmentChange) {
|
||||
onEstablishmentChange(establishmentId);
|
||||
const establishmentId = user.roles[roleId].establishment__id;
|
||||
setSelectedEstablishmentId(establishmentId);
|
||||
if (onRoleChange) {
|
||||
onRoleChange(roleId);
|
||||
}
|
||||
setDropdownOpen(false); // Fermer le menu après sélection
|
||||
};
|
||||
@ -36,7 +38,7 @@ const ProfileSelector = ({ onEstablishmentChange, className = '' }) => {
|
||||
}
|
||||
|
||||
const selectedEstablishment = establishments.find(
|
||||
(est) => est.id === selectedEstablishmentId
|
||||
(est) => est.role_id === selectedRoleId
|
||||
);
|
||||
|
||||
return (
|
||||
@ -70,7 +72,7 @@ const ProfileSelector = ({ onEstablishmentChange, className = '' }) => {
|
||||
<div className="text-sm text-gray-500">{establishment.name}</div>
|
||||
</div>
|
||||
),
|
||||
onClick: () => handleEstablishmentChange(establishment.id),
|
||||
onClick: () => handleRoleChange(establishment.role_id),
|
||||
}))}
|
||||
buttonClassName="w-full"
|
||||
menuClassName="absolute mt-2 w-full bg-white border border-gray-200 rounded shadow-lg z-10"
|
||||
|
||||
Reference in New Issue
Block a user