const defaultAuthContextValue: AuthContextData = {
user: () => {
return null;
},
isLoading: () => true,
};
const AuthContext = createContext<AuthContextData>(defaultAuthContextValue);
export const AuthProvider: Component<{ children: JSX.Element }> = (props) => {
const [user, setUser] = createSignal<Models.User<Models.Preferences> | null>(
null
);
const [isLoading, setIsLoading] = createSignal(true);
onMount(async () => {
try {
const session = await account.getSession("current");
if (session) {
const currentUser = await account.get();
console.log("π ~ onMount ~ currentUser:", currentUser);
setUser(currentUser);
}
} catch (error) {
console.log("No active session found");
} finally {
setIsLoading(false); // Set loading to false when done
}
});
return (
<AuthContext.Provider
value={{
user,
isLoading,
}}
>
{props.children}
</AuthContext.Provider>
);
};
const defaultAuthContextValue: AuthContextData = {
user: () => {
return null;
},
isLoading: () => true,
};
const AuthContext = createContext<AuthContextData>(defaultAuthContextValue);
export const AuthProvider: Component<{ children: JSX.Element }> = (props) => {
const [user, setUser] = createSignal<Models.User<Models.Preferences> | null>(
null
);
const [isLoading, setIsLoading] = createSignal(true);
onMount(async () => {
try {
const session = await account.getSession("current");
if (session) {
const currentUser = await account.get();
console.log("π ~ onMount ~ currentUser:", currentUser);
setUser(currentUser);
}
} catch (error) {
console.log("No active session found");
} finally {
setIsLoading(false); // Set loading to false when done
}
});
return (
<AuthContext.Provider
value={{
user,
isLoading,
}}
>
{props.children}
</AuthContext.Provider>
);
};