on master help sign in
prevent users bailing midway through activate
commit9a09bfc8f55b97b7da7aec5fa82fc32bebbc97ba authorLiam Fitzgerald <liam@urizen.co> dateSat 16 Nov 2019, 12:38 (7 years ago) parent75342bd
2 files changed+20
src/lib/useBlockWindowClose.js+17 src/views/Activate/PassportTransfer.js+3
src/lib/useBlockWindowClose.jsnew file+17
@@ -0,0 +1,17 @@
1+import { useEffect } from 'react';
2+
3+function onBeforeUnload(e) {
4+ e.preventDefault();
5+
6+ e.returnValue = '';
7+}
8+
9+export default function useBlockWindowClose() {
10+ return useEffect(() => {
11+ window.addEventListener('beforeunload', onBeforeUnload);
12+
13+ return function cleanup() {
14+ window.removeEventListener('beforeunload', onBeforeUnload);
15+ };
16+ });
17+}
src/views/Activate/PassportTransfer.js+3
@@ -8,6 +8,7 @@ import { usePointCursor } from 'store/pointCursor';
88
99import * as need from 'lib/need';
1010import useLifecycle from 'lib/useLifecycle';
11+import useBlockWindowClose from 'lib/useBlockWindowClose';
1112import {
1213 reticketPointBetweenWallets,
1314 TRANSACTION_PROGRESS,
@@ -60,6 +61,8 @@ export default function PassportTransfer({ className, resetActivateRouter }) {
6061 [replaceWith, names]
6162 );
6263
64+ useBlockWindowClose();
65+
6366 const goToRestart = useCallback(() => {
6467 // NOTE: because we're already on the ACTIVATE view in the history,
6568 // react (intelligently) doesn't trigger a re-render and that means the