lobstertube / src /store /auth.ts
lolakd's picture
Создай полноценный frontend для проекта **LobsterTube** — полной копии YouTube, с современным дизайном, максимально приближённым к оригиналу YouTube (2025 года).
a7aae55 verified
raw
history blame contribute delete
669 Bytes
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>