Initial commit: Velocity-OS migration

This commit is contained in:
2026-05-01 12:32:19 +05:30
commit 407af828d4
283 changed files with 207782 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
/**
* authStore — JWT session + user profile
*/
interface User {
id: string;
name: string;
email: string;
role: 'SALES_BROKER' | 'SALES_DIRECTOR' | 'ADMIN';
avatarUrl?: string;
}
interface AuthStore {
user: User | null;
token: string | null;
isAuthenticated: boolean;
// Actions
setSession: (user: User, token: string) => void;
clearSession: () => void;
}
export const useAuthStore = create<AuthStore>()(
devtools(
persist(
(set) => ({
user: null,
token: null,
isAuthenticated: false,
setSession: (user, token) =>
set({ user, token, isAuthenticated: true }, false, 'auth/setSession'),
clearSession: () =>
set({ user: null, token: null, isAuthenticated: false }, false, 'auth/clearSession'),
}),
{
name: 'velocity-auth',
partialize: (state) => ({ token: state.token, user: state.user }),
}
),
{ name: 'AuthStore' }
)
);