All files / src/contexts AuthContext.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                                          45x  
// src/contexts/AuthContext.ts
import { createContext } from 'react';
import type { UserProfile } from '../types';
 
/**
 * Defines the possible authentication states for a user session.
 * - `Determining...`: The initial state while checking for a token.
 * - `SIGNED_OUT`: No user is active.
 * - `AUTHENTICATED`: The user has successfully logged in.
 */
export type AuthStatus = 'Determining...' | 'SIGNED_OUT' | 'AUTHENTICATED';
 
export interface AuthContextType {
  userProfile: UserProfile | null;
  authStatus: AuthStatus;
  isLoading: boolean;
  login: (token: string, profileData?: UserProfile) => Promise<void>;
  logout: () => void;
  updateProfile: (updatedProfileData: Partial<UserProfile>) => void;
}
 
export const AuthContext = createContext<AuthContextType | undefined>(undefined);