diff --git a/src/views/dashboards/userDashboard/wash/MyWashStart.vue b/src/views/dashboards/userDashboard/wash/MyWashStart.vue index b44ddc69..1accbb38 100644 --- a/src/views/dashboards/userDashboard/wash/MyWashStart.vue +++ b/src/views/dashboards/userDashboard/wash/MyWashStart.vue @@ -715,6 +715,7 @@ const activeWashRestoreTimeout = ref | null const recentCompletedRefreshTimeout = ref | null>(null); const recentCompletedRefreshInterval = ref | null>(null); const isMyWashStartUnmounted = ref(false); +const getMyWashWindow = () => (typeof window === "undefined" ? null : window); const registrationOptions = computed(() => customerVehicles.value @@ -1327,14 +1328,14 @@ refreshRecentlyCompletedWashState(); const clearRecentCompletedRefreshTimeout = () => { if (recentCompletedRefreshTimeout.value !== null) { - window.clearTimeout(recentCompletedRefreshTimeout.value); + getMyWashWindow()?.clearTimeout(recentCompletedRefreshTimeout.value); recentCompletedRefreshTimeout.value = null; } }; const clearRecentCompletedRefreshInterval = () => { if (recentCompletedRefreshInterval.value !== null) { - window.clearInterval(recentCompletedRefreshInterval.value); + getMyWashWindow()?.clearInterval(recentCompletedRefreshInterval.value); recentCompletedRefreshInterval.value = null; } }; @@ -1350,7 +1351,12 @@ const scheduleRecentCompletedWashRefresh = (attempt = 0) => { return; } - recentCompletedRefreshTimeout.value = window.setTimeout(() => { + const hostWindow = getMyWashWindow(); + if (!hostWindow) { + return; + } + + recentCompletedRefreshTimeout.value = hostWindow.setTimeout(() => { if (isMyWashStartUnmounted.value) { return; } @@ -1362,7 +1368,12 @@ const scheduleRecentCompletedWashRefresh = (attempt = 0) => { const startRecentCompletedWashRefresh = () => { clearRecentCompletedRefreshInterval(); - recentCompletedRefreshInterval.value = window.setInterval(() => { + const hostWindow = getMyWashWindow(); + if (!hostWindow) { + return; + } + + recentCompletedRefreshInterval.value = hostWindow.setInterval(() => { if (isMyWashStartUnmounted.value) { clearRecentCompletedRefreshInterval(); return;