2026-01-02 15:58:21 +01:00

30 lines
761 B
TypeScript

import { AuthLoginResponse, UserResponse } from "@/api/types";
import { AxiosError } from "axios";
import { createContext } from "react";
export interface LoginOptions {
onSuccess?: (data: AuthLoginResponse) => void;
onError?: (error: AxiosError) => void
}
interface AuthContextType {
user?: UserResponse;
isAuthorized: boolean;
isLoading: boolean;
login: (email: string, password: string, options?: LoginOptions) => void;
logout: () => void;
errorLogin?: Error|null;
isPendingLogin: boolean;
}
const AuthContext = createContext<AuthContextType>({
user: undefined,
isAuthorized: false,
isLoading: false,
login: (email, password) => {},
logout: () => {},
errorLogin: null,
isPendingLogin: false
});
export default AuthContext;