import React, { createContext, useContext, useEffect, useState, ReactNode } from "react"; import { AuthContext } from "./auth-context"; import { ROLE_NAMES } from "common-ui"; // import { getRoles, saveRoles, deleteRoles } from "../../hooks/useJWT"; // import { ROLE_NAMES } from "../../lib/constants"; // interface RolesContextType { // roles: string[] | null; // setRoles: (roles: string[] | null) => void; // refreshRoles: () => Promise; // } // const RolesContext = createContext(undefined); // export const RolesProvider = ({ children }: { children: ReactNode }) => { // const [roles, setRoles] = useState(null); // const refreshRoles = async () => { // const r = await getRoles(); // setRoles(r); // }; // useEffect(() => { // refreshRoles(); // }, []); // return ( // // {children} // // ); // }; export const useRoles = () => { const ctx = useContext(AuthContext); if (!ctx) throw new Error("useRoles must be used within a RolesProvider"); return ctx.roles; }; export const useIsAdmin = () => { const roles = useRoles(); return roles?.includes(ROLE_NAMES.ADMIN); }