deploy: notesfrais — 2026-04-29 09:57:19

This commit is contained in:
deploy
2026-04-29 09:57:19 +02:00
commit abbc9b16e1
56 changed files with 6872 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
import type { User } from '../types';
interface AuthState {
user: User | null;
accessToken: string | null;
refreshToken: string | null;
setAuth: (user: User, accessToken: string, refreshToken: string) => void;
setAccessToken: (token: string) => void;
logout: () => void;
}
export const useAuthStore = create<AuthState>()(
persist(
(set) => ({
user: null,
accessToken: null,
refreshToken: null,
setAuth: (user, accessToken, refreshToken) =>
set({ user, accessToken, refreshToken }),
setAccessToken: (accessToken) =>
set({ accessToken }),
logout: () =>
set({ user: null, accessToken: null, refreshToken: null }),
}),
{
name: 'notesfrais-auth',
// Ne persiste pas le token en clair dans sessionStorage, utilise localStorage
// (acceptable car il expire en 15 min et le refresh token sert au renouvellement)
}
)
);