import {create} from "zustand"; import {useSessionStore} from "./sessionStore"; import {Modules} from "@/types/modules"; import axios from "axios"; interface SettingState { userRoles: Modules[]; fetchUserRoles: () => Promise; setUserRoles: (userRoles: Modules[]) => void; } interface FetchModulesResponse { data: Modules[]; } export const useGetUserRoles = create()((set) => ({ userRoles: [], setUserRoles: (userRoles) => set({userRoles}), fetchUserRoles: async () => { try { //const response = await axios.get<{data: Setting[]}>(`${process.env.NEXT_PUBLIC_URL}/api/settings/client`); const {token} = useSessionStore(); const response = await axios.get("/api/auth/getuseraccess", {headers: {Authorization: `Bearer ${token}`}}); const data: FetchModulesResponse = response.data; //await response.json(); //console.log(data); set({userRoles: data.data}); } catch (error) { console.error("Failed to fetch settings:", error); } }, }));