on master help sign in
Get ticket from url #hash on invite activation page
commit1b600f8049188099c1cf84a149ba9a59b444e0d7 authorFang <git@fang.io> dateFri 12 Jul 2019, 18:46 (7 years ago) parentb9b21b6
2 files changed+17
src/lib/useImpliedTicket.js+14 src/views/Activate/ActivateCode.js+3
src/lib/useImpliedTicket.jsnew file+14
@@ -0,0 +1,14 @@
1+import * as ob from 'urbit-ob';
2+
3+import { prependSig } from './transformers';
4+
5+/**
6+ * pull the suggested ticket from the #hash in the url
7+ */
8+export default function useImpliedTicket() {
9+ const hash = window.location.hash.slice(1);
10+ const tick = prependSig(hash);
11+ const isValid = ob.isValidPatq(tick);
12+
13+ return isValid ? tick : null;
14+}
src/views/Activate/ActivateCode.js+3
@@ -21,11 +21,13 @@ import { generateWallet } from 'lib/invite';
2121import { generateTemporaryOwnershipWallet } from 'lib/walletgen';
2222import { useActivateFlow } from './ActivateFlow';
2323import { useLocalRouter } from 'lib/LocalRouter';
24+import useImpliedTicket from 'lib/useImpliedTicket';
2425
2526export default function ActivateCode() {
2627 const history = useHistory();
2728 const { names, push } = useLocalRouter();
2829 const { contracts } = useNetwork();
30+ const impliedTicket = useImpliedTicket();
2931 const [generalError, setGeneralError] = useState();
3032 const [deriving, setDeriving] = useState(false);
3133 const {
@@ -39,6 +41,7 @@ export default function ActivateCode() {
3941 const [ticketInput, { pass: validTicket }] = useTicketInput({
4042 name: 'ticket',
4143 label: 'Code',
44+ initialValue: impliedTicket || '',
4245 autoFocus: true,
4346 });
4447