import type { BlitzPage, GetServerSideProps } from "blitz"; import { getSession, Routes } from "blitz"; import OnboardingLayout from "../../components/onboarding-layout"; import useCurrentUser from "../../../core/hooks/use-current-user"; import db from "../../../../db"; const StepOne: BlitzPage = () => { useCurrentUser(); // preload for step two return (
Welcome, let’s set up your virtual phone!
); }; StepOne.getLayout = (page) => ( {page} ); StepOne.authenticate = { redirectTo: Routes.SignIn() }; export const getServerSideProps: GetServerSideProps = async ({ req, res }) => { const session = await getSession(req, res); if (!session.userId) { await session.$revoke(); return { redirect: { destination: Routes.Home().pathname, permanent: false, }, }; } const phoneNumber = await db.phoneNumber.findFirst({ where: { organizationId: session.orgId } }); if (phoneNumber) { await session.$setPublicData({ hasCompletedOnboarding: true }); return { redirect: { destination: Routes.Messages().pathname, permanent: false, }, }; } return { props: {} }; }; export default StepOne;