import { create } from 'zustand'; import { persist } from 'zustand/middleware'; import type { User } from '../types'; interface AuthState { token: string | null; user: User | null; isAuthenticated: boolean; setAuth: (token: string, user: User) => void; logout: () => void; } export const useAuthStore = create()( persist( (set) => ({ token: null, user: null, isAuthenticated: false, setAuth: (token, user) => set({ token, user, isAuthenticated: true }), logout: () => set({ token: null, user: null, isAuthenticated: false }), }), { name: 'mikrotik-auth', partialize: (state) => ({ token: state.token, user: state.user, isAuthenticated: state.isAuthenticated, }), } ) );