import { router } from '@inertiajs/vue3'
import { onMounted, ref } from 'vue'

export function useInertiaLoading() {
  const loading = ref(false)

  const start = () => loading.value = true
  const finish = () => loading.value = false

  onMounted(() => {
    router.on('start', start)
    router.on('finish', finish)
    router.on('error', finish)
    router.on('cancel', finish)
  })

  return { loading }
}