import { useState } from "react"; import Image from "next/image"; import { useRouter } from "next/router"; // lib import { requiredAuth } from "lib/auth"; // services import userService from "services/user.service"; // hooks import useUser from "hooks/use-user"; // layouts import DefaultLayout from "layouts/default-layout"; // components import { InviteMembers, OnboardingCard, UserDetails, Workspace } from "components/onboarding"; // ui import { PrimaryButton } from "components/ui"; // constant import { ONBOARDING_CARDS } from "constants/workspace"; // images import Logo from "public/onboarding/logo.svg"; // types import type { NextPage, GetServerSidePropsContext } from "next"; const Onboarding: NextPage = () => { const [step, setStep] = useState(1); const [workspace, setWorkspace] = useState(); const router = useRouter(); const { user } = useUser(); return (
{step <= 3 ? (
Plane Logo
{step === 1 ? ( ) : step === 2 ? ( ) : ( )}
) : (
{step === 4 ? ( ) : step === 5 ? ( ) : step === 6 ? ( ) : step === 7 ? ( ) : ( )}
{ if (step === 8) { userService .updateUserOnBoard() .then(() => { router.push("/"); }) .catch((err) => { console.log(err); }); } else setStep((prevData) => prevData + 1); }} > {step === 4 || step === 8 ? "Get Started" : "Next"}
)}
); }; export const getServerSideProps = async (ctx: GetServerSidePropsContext) => { const user = await requiredAuth(ctx.req?.headers.cookie); const redirectAfterSignIn = ctx.resolvedUrl; if (!user) { return { redirect: { destination: `/signin?next=${redirectAfterSignIn}`, permanent: false, }, }; } return { props: { user, }, }; }; export default Onboarding;