Spaces:
Running
Running
| ts | |
| import { create } from 'zustand' | |
| type User = { | |
| id: string | |
| name: string | |
| avatarUrl?: string | |
| subscribers: number | |
| } | |
| type AuthState = { | |
| token: string | null | |
| user: User | null | |
| setAuth: (data: { token: string; user: User }) => void | |
| logout: () => void | |
| } | |
| export const useAuthStore = create<AuthState>(set => ({ | |
| token: null, | |
| user: null, | |
| setAuth: ({ token, user }) => { | |
| localStorage.setItem('lt-token', token) | |
| localStorage.setItem('lt-user', JSON.stringify(user)) | |
| set({ token, user }) | |
| }, | |
| logout: () => { | |
| localStorage.removeItem('lt-token') | |
| localStorage.removeItem('lt-user') | |
| set({ token: null, user: null }) | |
| } | |
| })) | |
| </html> |