import { useCallback, useState } from "react"; import AuthLayout from "../../layouts/AuthLayout"; import { Alert } from "../../components/Alert"; import HighlightedLink from "../../components/HighlightedLink"; import { SignUpForm } from "../../components/forms/SignUpForm"; import { usePortalSettings } from "../../contexts/portal-settings"; import { PlansProvider, usePlans } from "../../contexts/plans"; import { Metadata } from "../../components/Metadata"; import { useUser } from "../../contexts/user"; import humanBytes from "../../lib/humanBytes"; const FreePortalHeader = () => { const { plans } = usePlans(); const freePlan = plans.find(({ price }) => price === 0); const freeStorage = freePlan?.limits ? humanBytes(freePlan.limits?.storageLimit, { binary: true }) : null; return (

Create your free account

{freeStorage &&

Includes {freeStorage} storage at basic speed

}
); }; const PaidPortalHeader = () => (

Create your account

If you're looking for a free portal, try{" "} SkynetFree.net {" "} with 100GB of free storage.

); const State = { Pure: "PURE", Success: "SUCCESS", Failure: "FAILURE", }; const SignUpPage = () => { const [state, setState] = useState(State.Pure); const { settings } = usePortalSettings(); const { mutate: refreshUserState } = useUser(); const onUserCreated = useCallback( (newUser) => { refreshUserState(newUser); }, [refreshUserState] ); return ( Sign Up
{!settings.areAccountsEnabled && Accounts are not enabled on this portal.} {settings.areAccountsEnabled && ( <> {settings.isSubscriptionRequired ? : } {state !== State.Success && ( <> setState(State.Failure)} />

Already have an account? Sign in

)} {state === State.Failure && (

Something went wrong, please try again later.

)} )}
); }; SignUpPage.Layout = AuthLayout; export default SignUpPage;