diff --git a/web/src/store/verify.ts b/web/src/store/verify.ts new file mode 100644 index 0000000..7bd79bc --- /dev/null +++ b/web/src/store/verify.ts @@ -0,0 +1,34 @@ +import { create } from "zustand"; +import { useAuth } from "./auth"; +import type { UserProfile } from "@/types"; + +export type VerifyStep = "email" | "avatar" | "review"; + +export interface IVerifyState { + step: VerifyStep | null; + + loadStep: (profile: UserProfile) => void; +} + +export const useVerify = create((set) => ({ + step: null, + + loadStep: (profile) => { + if (!profile.email_verified) { + set({ step: "email" }); + return; + } + + if (!profile.avatar_verified) { + set({ step: "avatar" }); + return; + } + + if (!profile.verified) { + set({ step: "review" }); + return; + } + + set({ step: null }); + }, +}));