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(() => {
}
}
-
-