soiz1's picture
Upload folder using huggingface_hub
4d70170 verified
import { computed, ref } from 'vue'
import { useNow } from '@vueuse/core'
const isConnected = ref(false)
const isInitializing = ref(true)
const lastDisconnect = ref(0)
const reloadTimes = ref(0)
let reloadRegistered = false
export function useAppConnection() {
const now = useNow({
interval: 1000,
})
const showDisplayDisconnected = computed(() => {
if (isInitializing.value) {
return false
}
if (lastDisconnect.value === 0) {
return false
}
// Wait for 5 seconds before showing the disconnected message
return !isConnected && now.value.getTime() - lastDisconnect.value > 5000
})
return {
isConnected,
isInitializing,
lastDisconnect,
showDisplayDisconnected,
reloadTimes,
}
}
export function setAppConnected(value: boolean, force = false, fromReload = false) {
// We got disconnected from a page reload
if (!value) {
reloadRegistered = fromReload
}
if (force) {
lastDisconnect.value = 0
}
else if (!value && isConnected.value) {
lastDisconnect.value = Date.now()
}
isConnected.value = value
// We are reconnected after a page reload
if (value && reloadRegistered) {
reloadTimes.value++
}
}
export function setAppInitializing(value: boolean) {
isInitializing.value = value
}