All files / src/store useUserStore.ts

60% Statements 3/5
100% Branches 0/0
50% Functions 2/4
60% Lines 3/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                          5x   5x                     5x            
import { create } from "zustand";
import { persist } from "zustand/middleware";
 
interface IUser {
  sessionId: string;
  accountId: number | null;
  username: string;
  isAuthenticated: boolean;
  accentColor: string;
  setAccentColor: (prarm: string) => void;
  resetState: () => void;
}
 
const useUserStore = create(
  persist<IUser>(
    (set) => ({
      accentColor: "#0177d2", // default color
      sessionId: "",
      accountId: null,
      isAuthenticated: false,
      username: "",
      setAccentColor: (color: string) => set({ accentColor: color }),
      resetState: () => set({ sessionId: "", accountId: null, isAuthenticated: false }),
    }),
    {
      name: "auth-storage",
      getStorage: () => localStorage,
    }
  )
);
 
export default useUserStore;