on master help sign in
Merge pull request #220 from urbit/mino-disclaimer-flow
87a9d76Fang
src/Bridge.js+6−7
@@ -48,13 +48,12 @@ function useInitialRoutes() {
48 ];
48 ];
49 }
49 }
50
50
51− const landingPage = hasImpliedTicket
51+ return hasImpliedTicket
52− ? ROUTE_NAMES.ACTIVATE
52+ ? [{ key: ROUTE_NAMES.ACTIVATE }]
53+ : [
53− : ROUTE_NAMES.LOGIN;
54+ { key: ROUTE_NAMES.LOGIN },
54−
55− const extraRoutes = !hasDisclaimed ? [{ key: ROUTE_NAMES.DISCLAIMER }] : [];
55+ ...(!hasDisclaimed ? [{ key: ROUTE_NAMES.DISCLAIMER }] : []),
56−
56+ ];
57− return [{ key: landingPage }, ...extraRoutes];
58}
57}
59
58
60function Bridge() {
59function Bridge() {
src/views/Activate.js+2
@@ -7,6 +7,7 @@ import useActivateFlowState from './Activate/useActivateFlowState';
7import ActivateCode from './Activate/ActivateCode';
7import ActivateCode from './Activate/ActivateCode';
8import { LocalRouterProvider } from 'lib/LocalRouter';
8import { LocalRouterProvider } from 'lib/LocalRouter';
9import ActivatePassport from './Activate/ActivatePassport';
9import ActivatePassport from './Activate/ActivatePassport';
10+import Disclaimer from './Disclaimer';
10
11
11const NAMES = {
12const NAMES = {
12 CODE: 'CODE',
13 CODE: 'CODE',
@@ -17,6 +18,7 @@ const NAMES = {
17const VIEWS = {
18const VIEWS = {
18 [NAMES.CODE]: ActivateCode,
19 [NAMES.CODE]: ActivateCode,
19 [NAMES.PASSPORT]: ActivatePassport,
20 [NAMES.PASSPORT]: ActivatePassport,
21+ [NAMES.DISCLAIMER]: Disclaimer,
20};
22};
21
23
22export default function Activate() {
24export default function Activate() {
src/views/Activate/ActivateCode.js+8−1
@@ -22,12 +22,14 @@ import { generateTemporaryOwnershipWallet } from 'lib/walletgen';
22import { useActivateFlow } from './ActivateFlow';
22import { useActivateFlow } from './ActivateFlow';
23import { useLocalRouter } from 'lib/LocalRouter';
23import { useLocalRouter } from 'lib/LocalRouter';
24import useImpliedTicket from 'lib/useImpliedTicket';
24import useImpliedTicket from 'lib/useImpliedTicket';
25+import useHasDisclaimed from 'lib/useHasDisclaimed';
25
26
26export default function ActivateCode() {
27export default function ActivateCode() {
27 const history = useHistory();
28 const history = useHistory();
28 const { names, push } = useLocalRouter();
29 const { names, push } = useLocalRouter();
29 const { contracts } = useNetwork();
30 const { contracts } = useNetwork();
30 const impliedTicket = useImpliedTicket();
31 const impliedTicket = useImpliedTicket();
32+ const [hasDisclaimed] = useHasDisclaimed();
31 const [generalError, setGeneralError] = useState();
33 const [generalError, setGeneralError] = useState();
32 const [deriving, setDeriving] = useState(false);
34 const [deriving, setDeriving] = useState(false);
33 const {
35 const {
@@ -48,7 +50,12 @@ export default function ActivateCode() {
48 const goToLogin = useCallback(() => history.popAndPush(ROUTE_NAMES.LOGIN), [
50 const goToLogin = useCallback(() => history.popAndPush(ROUTE_NAMES.LOGIN), [
49 history,
51 history,
50 ]);
52 ]);
51− const goToPassport = useCallback(() => push(names.PASSPORT), [names, push]);
53+ const goToPassport = useCallback(() => {
54+ push(names.PASSPORT);
55+ if (!hasDisclaimed) {
56+ push(names.DISCLAIMER);
57+ }
58+ }, [names, push, hasDisclaimed]);
52
59
53 const pass = derivedWallet.matchWith({
60 const pass = derivedWallet.matchWith({
54 Nothing: () => false,
61 Nothing: () => false,