import React, { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { UserInfos } from "./utils/Functions-Endpoints/General"; import { useAuth } from "./utils/AuthProvider"; import "./TrocardePerfis.css"; const ToggleIcon = ({ isOpen }) => ( ); const TrocardePerfis = () => { const navigate = useNavigate(); const { getAuthorizationHeader } = useAuth(); const [showProfiles, setShowProfiles] = useState([]); const [isOpen, setIsOpen] = useState(false); useEffect(() => { const fetchData = async () => { const authHeader = getAuthorizationHeader(); try { const userInfo = await UserInfos(authHeader); setShowProfiles(userInfo?.roles || []); } catch (error) { console.error("Erro ao buscar informações do usuário:", error); setShowProfiles([]); } }; fetchData(); }, [getAuthorizationHeader]); const handleProfileClick = (route) => { if (route) { navigate(route); setIsOpen(false); } }; const handleToggle = () => { setIsOpen(prev => !prev); }; 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" }, { key: "paciente", label: "Paciente", route: "/paciente" }, ].filter( (opt) => showProfiles?.includes(opt.key) || showProfiles?.includes("admin") ); return (
Nenhum perfil disponível.
)}