From da0ccf8d828ee9d308cab5a89fc91df1e5bf788e Mon Sep 17 00:00:00 2001 From: Benoit Schweblin Date: Thu, 15 Nov 2018 12:26:28 +0100 Subject: [PATCH] Fixed payment success modal --- src/data/simpleModals.js | 2 +- src/services/localDbSvc.js | 17 ----------------- src/services/syncSvc.js | 17 +++++++++++++++++ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/data/simpleModals.js b/src/data/simpleModals.js index aa1dfb9c..109fc80b 100644 --- a/src/data/simpleModals.js +++ b/src/data/simpleModals.js @@ -32,7 +32,7 @@ export default { 'Yes, add suffix', ), paymentSuccess: simpleModal( - '

Thank you for your payment! Your sponsorship will be active in a minute.

', + '

Thank you for your payment!

Your sponsorship will be active in a minute.

', 'Ok', ), providerRedirection: simpleModal( diff --git a/src/services/localDbSvc.js b/src/services/localDbSvc.js index f6be1275..cab9beb8 100644 --- a/src/services/localDbSvc.js +++ b/src/services/localDbSvc.js @@ -11,7 +11,6 @@ const { exportWorkspace } = utils.queryParams; const { silent } = utils.queryParams; const resetApp = utils.queryParams.reset; const deleteMarkerMaxAge = 1000; -const checkSponsorshipAfter = (5 * 60 * 1000) + (30 * 1000); // tokenExpirationMargin + 30 sec class Connection { constructor() { @@ -384,22 +383,6 @@ const localDbSvc = { .forEach(file => workspaceSvc.deleteFile(file.id)); } - // Enable sponsorship - if (utils.queryParams.paymentSuccess) { - window.location.hash = ''; // PaymentSuccess param is always on its own - store.dispatch('modal/open', 'paymentSuccess') - .catch(() => { /* Cancel */ }); - const sponsorToken = store.getters['workspace/sponsorToken']; - // Force check sponsorship after a few seconds - const currentDate = Date.now(); - if (sponsorToken && sponsorToken.expiresOn > currentDate - checkSponsorshipAfter) { - store.dispatch('data/addGoogleToken', { - ...sponsorToken, - expiresOn: currentDate - checkSponsorshipAfter, - }); - } - } - // Sync local DB periodically utils.setInterval(() => localDbSvc.sync(), 1000); diff --git a/src/services/syncSvc.js b/src/services/syncSvc.js index 032821cd..1329319c 100644 --- a/src/services/syncSvc.js +++ b/src/services/syncSvc.js @@ -17,6 +17,7 @@ const minAutoSyncEvery = 60 * 1000; // 60 sec const inactivityThreshold = 3 * 1000; // 3 sec const restartSyncAfter = 30 * 1000; // 30 sec const restartContentSyncAfter = 1000; // Enough to detect an authorize pop up +const checkSponsorshipAfter = (5 * 60 * 1000) + (30 * 1000); // tokenExpirationMargin + 30 sec const maxContentHistory = 20; const LAST_SEEN = 0; @@ -879,11 +880,27 @@ export default { } const workspace = await workspaceProvider.initWorkspace(); // Fix the URL hash + const { paymentSuccess } = utils.queryParams; utils.setQueryParams(workspaceProvider.getWorkspaceParams(workspace)); store.dispatch('workspace/setCurrentWorkspaceId', workspace.id); await localDbSvc.init(); + // Enable sponsorship + if (paymentSuccess) { + store.dispatch('modal/open', 'paymentSuccess') + .catch(() => { /* Cancel */ }); + const sponsorToken = store.getters['workspace/sponsorToken']; + // Force check sponsorship after a few seconds + const currentDate = Date.now(); + if (sponsorToken && sponsorToken.expiresOn > currentDate - checkSponsorshipAfter) { + store.dispatch('data/addGoogleToken', { + ...sponsorToken, + expiresOn: currentDate - checkSponsorshipAfter, + }); + } + } + // Try to find a suitable action provider actionProvider = providerRegistry.providersById[utils.queryParams.providerId] || actionProvider; if (actionProvider && actionProvider.performAction) {