Files
BigStickNewOfficialWebsite-V2/composables/useRefreshNuxtDataOnResume.js
T

27 lines
722 B
JavaScript
Raw Normal View History

export function useRefreshNuxtDataOnResume(keys) {
const refreshKeys = Array.isArray(keys) ? keys : [keys]
let isRefreshing = false
async function refreshVisibleData() {
if (isRefreshing || document.visibilityState !== 'visible') return
isRefreshing = true
try {
await refreshNuxtData(refreshKeys)
} finally {
isRefreshing = false
}
}
onMounted(() => {
window.addEventListener('focus', refreshVisibleData)
document.addEventListener('visibilitychange', refreshVisibleData)
refreshVisibleData()
})
onBeforeUnmount(() => {
window.removeEventListener('focus', refreshVisibleData)
document.removeEventListener('visibilitychange', refreshVisibleData)
})
}