https://dev.kronoz.win/r/marzneshin.git
1import { create } from 'zustand';
2import { subscribeWithSelector } from 'zustand/middleware';
3
4type AdminStateType = {
5 isLoggedIn: boolean,
6 getAuthToken: () => string | null;
7 setAuthToken: (token: string) => void;
8 removeAuthToken: () => void;
9}
10
11export const useAuth = create(
12 subscribeWithSelector<AdminStateType>((set,) => ({
13 isLoggedIn: false,
14 getAuthToken: () => {
15 return localStorage.getItem('token');
16 },
17 setAuthToken: (token: string) => {
18 localStorage.setItem('token', token);
19 set({ isLoggedIn: true });
20 },
21
22 removeAuthToken: () => {
23 localStorage.removeItem('token');
24 set({ isLoggedIn: false });
25 },
26 }))
27)