Files
tehran_tala/apps/user-app/src/composables/useRefresh.ts
T
2026-09-09 06:46:27 +03:30

18 lines
643 B
TypeScript

// Ported from legacy henza_pwa/src/Mixins/useRefresh.ts.
// Auto-applies a waiting service worker as soon as one is available, so the
// PWA self-updates instead of serving a stale precache indefinitely.
import { unref, watchEffect } from 'vue'
import { useRegisterSW } from 'virtual:pwa-register/vue'
export function useRefresh() {
const { offlineReady, needRefresh, updateServiceWorker } = useRegisterSW()
const refreshApp = async () => {
await updateServiceWorker()
offlineReady.value = false
needRefresh.value = false
}
watchEffect(async () => (unref(offlineReady) || unref(needRefresh)) && (await refreshApp()))
}