diff --git a/src/views/Activities/DailyRecharge/index.vue b/src/views/Activities/DailyRecharge/index.vue index 119f879..acbb358 100644 --- a/src/views/Activities/DailyRecharge/index.vue +++ b/src/views/Activities/DailyRecharge/index.vue @@ -2,13 +2,8 @@
-
- -
+ + @@ -717,6 +712,9 @@ const rewardVapPreloadElements = new Map() let rewardVapPreloadTimer = null let rewardVapPreloadIdleCallbackId = null let rewardVapPreloadStarted = false +let pageInitializationStarted = false +let connectToAppFallbackTimer = null +const CONNECT_TO_APP_FALLBACK_DELAY = 4000 const isLocalRewardAsset = (reward) => { return Boolean(reward?.localRewardAsset) @@ -1029,10 +1027,37 @@ const completePreloading = async () => { } } +const startPageInitialization = async () => { + if (pageInitializationStarted) { + return + } + + pageInitializationStarted = true + await completePreloading() +} + const connectToAppHandler = async () => { - await connectToApp(() => { - completePreloading() + connectToAppFallbackTimer = window.setTimeout(() => { + connectToAppFallbackTimer = null + void startPageInitialization() + }, CONNECT_TO_APP_FALLBACK_DELAY) + + const result = await connectToApp(() => { + if (connectToAppFallbackTimer !== null) { + window.clearTimeout(connectToAppFallbackTimer) + connectToAppFallbackTimer = null + } + void startPageInitialization() }) + + if (connectToAppFallbackTimer !== null) { + window.clearTimeout(connectToAppFallbackTimer) + connectToAppFallbackTimer = null + } + + if (!result?.success) { + await startPageInitialization() + } } onMounted(() => { @@ -1040,6 +1065,10 @@ onMounted(() => { }) onBeforeUnmount(() => { + if (connectToAppFallbackTimer !== null && typeof window !== 'undefined') { + window.clearTimeout(connectToAppFallbackTimer) + connectToAppFallbackTimer = null + } if (rewardVapPreloadTimer !== null && typeof window !== 'undefined') { window.clearTimeout(rewardVapPreloadTimer) rewardVapPreloadTimer = null @@ -1374,5 +1403,3 @@ onBeforeUnmount(() => { } } - -