import type { IuserInformations } from "@/utils/requests/types"; import { createContext, useContext, useState } from "react"; import type { IauthenticationData } from "./Types"; export interface UserAuthenticationContextProps { isAuthenticated: boolean; setIsAuthenticated: React.Dispatch>; setAuthenticationData: React.Dispatch>; userInformations: IuserInformations; setUserInformations: React.Dispatch>; } export const UserAuthenticationContext = createContext({ isAuthenticated: false, setIsAuthenticated: () => {}, setAuthenticationData: () => {}, userInformations: { username: "", email: "", firstName: "", lastName: "", marchand: { // biome-ignore lint/style/useNamingConvention: marchand_id: "", nom: "", code: "", adresse: "", urlSuccess: "", urlEchec: "", entreprise: 0, user: 0, }, }, setUserInformations: () => {}, }); export const UserAuthenticationContextProvider = ({ children }: { children: React.ReactNode }) => { const [isAuthenticated, setIsAuthenticated] = useState(false); const [authenticationData, setAuthenticationData] = useState({ access: "", refresh: "", }); const [userInformations, setUserInformations] = useState({ username: "", email: "", firstName: "", lastName: "", marchand: { // biome-ignore lint/style/useNamingConvention: marchand_id: "", nom: "", code: "", adresse: "", urlSuccess: "", urlEchec: "", entreprise: 0, user: 0, }, }); return ( {children} ); }; export const useUserAuthenticationContext = () => { return useContext(UserAuthenticationContext); };