Files
vkv/resources/js/stores/userStore.tsx
Zdeněk Burda 41e3ce6f25 Initial commit
2026-01-09 21:26:40 +01:00

38 lines
879 B
TypeScript

import { create } from 'zustand';
import { persist } from 'zustand/middleware';
export type User = {
id: number;
name: string;
email: string;
is_admin?: boolean;
is_active?: boolean;
// případně další pole: roles, callsign, atd.
};
type UserState = {
user: User | null;
setUser: (user: User | null) => void;
clearUser: () => void;
};
export const useUserStore = create<UserState>()(
persist(
(set) => ({
user: null,
setUser: (user) => set({ user }),
clearUser: () => set({ user: null }),
}),
{ name: 'user-store' }
)
);
// použití:
// import { useUserStore } from '@/stores/userStore';
// const user = useUserStore((s) => s.user); // získání přihlášeného uživatele
// const isAuthenticated = !!user;
// const setUser = useUserStore((s) => s.setUser);
// const clearUser = useUserStore((s) => s.clearUser);