Files
Michess/client/src/context/ContextProvider.tsx
2023-03-04 18:38:07 +08:00

23 lines
585 B
TypeScript

"use client";
import type { User } from "@chessu/types";
import { useState, useEffect } from "react";
import { SessionContext } from "./session";
import { fetchSession } from "@/lib/auth";
export default function ContextProvider({ children }: { children: React.ReactNode }) {
const [user, setUser] = useState<User | null>({});
async function getSession() {
const user = await fetchSession();
setUser(user || null);
}
useEffect(() => {
getSession();
}, []);
return <SessionContext.Provider value={{ user, setUser }}>{children}</SessionContext.Provider>;
}