A small web app for watching movies and shows easily
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

59 lines
1.7 KiB

import { useState } from "react";
import { GoogleReCaptchaProvider } from "react-google-recaptcha-v3";
import { SubPageLayout } from "@/pages/layouts/SubPageLayout";
import {
AccountCreatePart,
AccountProfile,
} from "@/pages/parts/auth/AccountCreatePart";
import { PassphraseGeneratePart } from "@/pages/parts/auth/PassphraseGeneratePart";
import { TrustBackendPart } from "@/pages/parts/auth/TrustBackendPart";
import { VerifyPassphrase } from "@/pages/parts/auth/VerifyPassphrasePart";
import { conf } from "@/setup/config";
export function RegisterPage() {
const [step, setStep] = useState(0);
const [mnemonic, setMnemonic] = useState<null | string>(null);
const [account, setAccount] = useState<null | AccountProfile>(null);
const reCaptchaKey = conf().RECAPTCHA_SITE_KEY;
return (
<GoogleReCaptchaProvider reCaptchaKey={reCaptchaKey}>
<SubPageLayout>
{step === 0 ? (
<TrustBackendPart
onNext={() => {
setStep(1);
}}
/>
) : null}
{step === 1 ? (
<PassphraseGeneratePart
onNext={(m) => {
setMnemonic(m);
setStep(2);
}}
/>
) : null}
{step === 2 ? (
<AccountCreatePart
onNext={(a) => {
setAccount(a);
setStep(3);
}}
/>
) : null}
{step === 3 ? (
<VerifyPassphrase
mnemonic={mnemonic}
userData={account}
onNext={() => {
setStep(4);
}}
/>
) : null}
{step === 4 ? <p>Success, account now exists</p> : null}
</SubPageLayout>
</GoogleReCaptchaProvider>
);
}