import { useCallback, useMemo } from 'react'; import View from 'components/View'; import ActivateView from './ActivateView'; import CodeExpired from './CodeExpired'; import { useLocalRouter } from 'lib/LocalRouter'; import useImpliedTicket from 'lib/useImpliedTicket'; import useHasDisclaimed from 'lib/useHasDisclaimed'; import useIsExpiredInvite from 'lib/useIsExpiredInvite'; import { ReactComponent as PlaceholderSigil } from 'assets/blank-planet-sigil.svg'; import { FadeablePointPresenter as PointPresenter } from './PointPresenter'; import { Box } from '@tlon/indigo-react'; import { FadeableActivateHeader as ActivateHeader } from './ActivateHeader'; import { FadeableActivateCodeForm as ActivateCodeForm } from './ActivateCodeForm'; import useFadeIn from './useFadeIn'; export default function ActivateCode() { const { names, push }: any = useLocalRouter(); const { impliedPatp, impliedTicket } = useImpliedTicket(); const [hasDisclaimed] = useHasDisclaimed(); const goToMasterKey = useCallback(() => { if (!hasDisclaimed) { push(names.DISCLAIMER, { next: names.MASTER_KEY }); } else { push(names.MASTER_KEY); } }, [hasDisclaimed, names.DISCLAIMER, names.MASTER_KEY, push]); // Fade in on load useFadeIn(); const hasInitialValues = useMemo( () => Boolean(impliedTicket && impliedPatp), [impliedTicket, impliedPatp] ); const { isExpired } = useIsExpiredInvite(impliedPatp, impliedTicket); return ( {isExpired ? ( ) : ( } footer={}> {hasInitialValues ? (

An Urbit ID is your unique identity that you use to communicate on Urbit. You own it forever.

To activate your Urbit ID, begin by claiming it via the link below.

) : ( Enter your planet activation code below. )} {impliedPatp ? ( ) : ( )}
)}
); }