import { createContext, useContext, useEffect, useState } from "react"; import { supabase } from "./supabase"; import { Session } from "@supabase/supabase-js"; type AuthContextType = { session: Session | null; loading: boolean; }; const AuthContext = createContext({ session: null, loading: true }); export function AuthProvider({ children }: { children: React.ReactNode }) { const [session, setSession] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { supabase.auth.getSession().then(({ data: { session } }) => { setSession(session); setLoading(false); }); const { data: listener } = supabase.auth.onAuthStateChange((_event, session) => { setSession(session); }); return () => { listener.subscription.unsubscribe(); }; }, []); return ( {children} ); } export function useAuth() { return useContext(AuthContext); }