diff --git a/src/components/TrocardePerfis.jsx b/src/components/TrocardePerfis.jsx index 815ad29..7c244d1 100644 --- a/src/components/TrocardePerfis.jsx +++ b/src/components/TrocardePerfis.jsx @@ -1,82 +1,60 @@ -import {React, useState, useEffect} from 'react' -import { useNavigate, useLocation } from 'react-router-dom' -import { UserInfos } from './utils/Functions-Endpoints/General'; -import { useAuth } from './utils/AuthProvider'; -import './Estilo/TrocardePerfis.css' +import React, { useState, useEffect } from "react"; +import { useNavigate, useLocation } from "react-router-dom"; +import { UserInfos } from "./utils/Functions-Endpoints/General"; +import { useAuth } from "./utils/AuthProvider"; +import "./Estilo/TrocardePerfis.css"; const TrocardePerfis = () => { const location = useLocation(); - - const [selectedProfile, setSelectedProfile] = useState(''); + const navigate = useNavigate(); const { getAuthorizationHeader } = useAuth(); + + const [selectedProfile, setSelectedProfile] = useState(""); const [showProfiles, setShowProfiles] = useState([]); - const navigate = useNavigate(); - let authHeader = getAuthorizationHeader(); - console.log('AUTH HEADER', authHeader) + useEffect(() => { + const fetchData = async () => { + const authHeader = getAuthorizationHeader(); + setSelectedProfile(location.pathname || ""); + const userInfo = await UserInfos(authHeader); + setShowProfiles(userInfo?.roles || []); + }; + fetchData(); + }, [location.pathname, getAuthorizationHeader]); - -const handleProfileClick = (route) => { - - navigate(route); -}; - - -useEffect(() => { - const fetchData = async () => { - setSelectedProfile(location.pathname); - const userInfo = await UserInfos(authHeader); - setShowProfiles(userInfo?.roles || []); + const handleSelectChange = (e) => { + const route = e.target.value; + setSelectedProfile(route); + if (route) navigate(route); }; - fetchData(); -}, []); + const options = [ + { key: "secretaria", label: "Secretaria", route: "/secretaria" }, + { key: "medico", label: "Médico", route: "/medico" }, + { key: "financeiro", label: "Financeiro", route: "/financeiro" }, + { key: "admin", label: "Administração", route: "/admin" }, + ].filter( + (opt) => + showProfiles?.includes(opt.key) || showProfiles?.includes("admin") + ); return ( - -
Acesso aos modulos:
-Acesso aos módulos:
+