feat : Première navigation
This commit is contained in:
@@ -8,6 +8,14 @@ export type Session = {
|
||||
role: Role;
|
||||
}
|
||||
|
||||
// Temporaire: bypass de l'auth pour avancer sur la navigation.
|
||||
const DEV_MOCK_SESSION_ENABLED = true;
|
||||
const DEV_MOCK_SESSION: Session = {
|
||||
userId: 'dev-user',
|
||||
token: 'dev-token',
|
||||
role: 'org',
|
||||
};
|
||||
|
||||
type AuthState = {
|
||||
session: Session | null;
|
||||
hydrated: boolean; // Le disque a été lu, la réponse est fiable
|
||||
@@ -23,8 +31,18 @@ export const useAuth = create<AuthState>((set) => ({
|
||||
hydrated: false,
|
||||
|
||||
hydrate: async () => {
|
||||
if (DEV_MOCK_SESSION_ENABLED) {
|
||||
set({ session: DEV_MOCK_SESSION, hydrated: true });
|
||||
return;
|
||||
}
|
||||
|
||||
const session = await SecureStore.getItemAsync(KEY);
|
||||
set({ session: session ? JSON.parse(session) : null, hydrated: true });
|
||||
if (session) {
|
||||
set({ session: JSON.parse(session), hydrated: true });
|
||||
return;
|
||||
}
|
||||
|
||||
set({ session: null, hydrated: true });
|
||||
},
|
||||
|
||||
signIn: async (s: Session) => {
|
||||
|
||||
Reference in New Issue
Block a user