export function WithAuth({ children, className, ...rest }) {
const [session, setSession] = useState(null);
const [loading, setLoading] = useState(true);
useEffect(() => {
async function loader() {
try {
const { data } = await supabase.auth.getSession();
setSession(data.session);
supabase.auth.onAuthStateChange((_event, session) => {
setSession(session);
});
setLoading(false);
} catch (e) {
console.error("loader", e);
}
}
loader();
}, []);
if (loading) return null;
if (session) {
return <ProfileFetcher>{children}</ProfileFetcher>;
}
if (!session) return <Login />;
}
export function WithAuth({ children, className, ...rest }) {
const [session, setSession] = useState(null);
const [loading, setLoading] = useState(true);
useEffect(() => {
async function loader() {
try {
const { data } = await supabase.auth.getSession();
setSession(data.session);
supabase.auth.onAuthStateChange((_event, session) => {
setSession(session);
});
setLoading(false);
} catch (e) {
console.error("loader", e);
}
}
loader();
}, []);
if (loading) return null;
if (session) {
return <ProfileFetcher>{children}</ProfileFetcher>;
}
if (!session) return <Login />;
}