Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/packages/kbx-ui/src/wms/useKbxNetworkState.ts
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

24 lines
566 B
TypeScript

import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
export function useKbxNetworkState() {
const online = ref(typeof navigator === 'undefined' ? true : navigator.onLine)
const refresh = () => {
online.value = navigator.onLine
}
onMounted(() => {
window.addEventListener('online', refresh)
window.addEventListener('offline', refresh)
})
onBeforeUnmount(() => {
window.removeEventListener('online', refresh)
window.removeEventListener('offline', refresh)
})
return {
online: computed(() => online.value),
}
}