Files
HaBit/components/layout/onboarding-quiz-auth-gate.tsx
pricewowen 61f98866e8 avatar to main merge
I have completed the character creation screen on the avatar branch and am preparing to merge it into main.
2026-05-23 23:24:36 -06:00

27 lines
685 B
TypeScript

import { redirect } from "next/navigation";
import { requireSessionUser } from "@/lib/auth-helpers";
import {
fetchOnboardingStatusForUser,
getRedirectPathFromStatus,
} from "@/lib/onboarding-status";
import { createClient } from "@/lib/supabase/server";
type OnboardingQuizAuthGateProps = {
children: React.ReactNode;
};
export async function OnboardingQuizAuthGate({
children,
}: OnboardingQuizAuthGateProps) {
const user = await requireSessionUser();
const supabase = await createClient();
const status = await fetchOnboardingStatusForUser(user.id, supabase);
if (status.quizComplete) {
redirect(getRedirectPathFromStatus(status));
}
return children;
}