@@ -2,10 +2,12 @@ import { useCallback, useMemo } from 'react';
3import View from 'components/View';
3import View from 'components/View';
4import ActivateView from './ActivateView';
4import ActivateView from './ActivateView';
5+import CodeExpired from './CodeExpired';
6import { useLocalRouter } from 'lib/LocalRouter';
7import { useLocalRouter } from 'lib/LocalRouter';
7import useImpliedTicket from 'lib/useImpliedTicket';
8import useImpliedTicket from 'lib/useImpliedTicket';
8import useHasDisclaimed from 'lib/useHasDisclaimed';
9import useHasDisclaimed from 'lib/useHasDisclaimed';
10+import useIsExpired from 'lib/useCheckExpired';
10import { ReactComponent as PlaceholderSigil } from 'assets/blank-planet-sigil.svg';
12import { ReactComponent as PlaceholderSigil } from 'assets/blank-planet-sigil.svg';
11import { FadeablePointPresenter as PointPresenter } from './PointPresenter';
13import { FadeablePointPresenter as PointPresenter } from './PointPresenter';
@@ -35,58 +37,64 @@ export default function ActivateCode() {
35 [impliedTicket, impliedPatp]
37 [impliedTicket, impliedPatp]
40+ const { isExpired } = useIsExpired(impliedPatp);
39 <View inset hideBack>
43 <View inset hideBack>
40− <ActivateView
44+ {isExpired ? (
41− hideBack={hasInitialValues}
48+ hideBack={hasInitialValues}
43− <ActivateHeader
50+ <ActivateHeader
44− content={
51+ content={
45− hasInitialValues
52+ hasInitialValues
46− ? 'Welcome. This is your Urbit ID.'
53+ ? 'Welcome. This is your Urbit ID.'
47− : 'Activate a Planet'
54+ : 'Activate a Planet'
51− footer={<ActivateCodeForm afterSubmit={goToMasterKey} />}>
58+ footer={<ActivateCodeForm afterSubmit={goToMasterKey} />}>
52− <Box className="flex-col align-center justify-center w-full h-full">
59+ <Box className="flex-col align-center justify-center w-full h-full">
53− {hasInitialValues ? (
60+ {hasInitialValues ? (
56− className="mb2 sans gray5"
63+ className="mb2 sans gray5"
58− fontSize: 14,
65+ fontSize: 14,
59− textAlign: 'center',
66+ textAlign: 'center',
60− maxWidth: '38ch',
67+ maxWidth: '38ch',
61− marginLeft: 'auto',
68+ marginLeft: 'auto',
63− An Urbit ID is your unique identity that you use to communicate
70+ An Urbit ID is your unique identity that you use to
64− on Urbit. You own it forever.
71+ communicate on Urbit. You own it forever.
67− className="mb2 sans gray5"
74+ className="mb2 sans gray5"
69− fontSize: 14,
76+ fontSize: 14,
70− textAlign: 'center',
77+ textAlign: 'center',
71− maxWidth: '38ch',
78+ maxWidth: '38ch',
72− marginLeft: 'auto',
79+ marginLeft: 'auto',
74− To activate your Urbit ID, begin by claiming it via the link
81+ To activate your Urbit ID, begin by claiming it via the link
79− <Box className="mb2 sans gray5" fontSize={14}>
86+ <Box className="mb2 sans gray5" fontSize={14}>
80− Enter your planet activation code below.
87+ Enter your planet activation code below.
83− {impliedPatp ? (
90+ {impliedPatp ? (
84− <PointPresenter patp={impliedPatp} className="mb6 mt7" />
91+ <PointPresenter patp={impliedPatp} className="mb6 mt7" />
86− <PlaceholderSigil className="mv9" style={{ marginTop: 78 }} />
93+ <PlaceholderSigil className="mv9" style={{ marginTop: 78 }} />
89− </ActivateView>
96+ </ActivateView>