/** * Demo OTP fallback, shared by the login and registration flows. * * While the Twilio SMS sender is down we can't deliver real one-time codes. When * MOCK_OTP is on, phone verification steps skip Supabase/Twilio and accept a fixed * DEMO_OTP instead. Flip NEXT_PUBLIC_MOCK_OTP to "false" (or remove it) to restore * real SMS — no other change needed. * * IMPORTANT: this only substitutes for a *secondary* verification (e.g. confirming a * phone during registration/onboarding, where the session already exists). It cannot * mock a *login* whose sole credential is the OTP — there the OTP verification is what * mints the session, and a faked code produces no session (the dashboard's AuthGate * would bounce the user straight back). Passwordless login therefore stays real. */ export const MOCK_OTP = process.env.NEXT_PUBLIC_MOCK_OTP === "true"; export const DEMO_OTP = "123456";