{"version":3,"file":"default.0b49902e.js","sources":["../../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator.js","../../../../src/components/header.vue","../../../../src/layouts/default.vue"],"sourcesContent":["import { computed, defineComponent, h, onBeforeUnmount, ref } from \"vue\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { globalMiddleware } from \"#build/middleware\";\nexport default defineComponent({\n name: \"NuxtLoadingIndicator\",\n props: {\n throttle: {\n type: Number,\n default: 200\n },\n duration: {\n type: Number,\n default: 2e3\n },\n height: {\n type: Number,\n default: 3\n },\n color: {\n type: [String, Boolean],\n default: \"repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)\"\n }\n },\n setup(props, { slots }) {\n const indicator = useLoadingIndicator({\n duration: props.duration,\n throttle: props.throttle\n });\n const nuxtApp = useNuxtApp();\n const router = useRouter();\n globalMiddleware.unshift(indicator.start);\n router.beforeResolve((to, from) => {\n if (to === from || to.matched.every((comp, index) => comp.components && comp.components?.default === from.matched[index]?.components?.default)) {\n indicator.finish();\n }\n });\n nuxtApp.hook(\"page:finish\", indicator.finish);\n nuxtApp.hook(\"vue:error\", indicator.finish);\n onBeforeUnmount(() => {\n const index = globalMiddleware.indexOf(indicator.start);\n if (index >= 0) {\n globalMiddleware.splice(index, 1);\n }\n indicator.clear();\n });\n return () => h(\"div\", {\n class: \"nuxt-loading-indicator\",\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n left: 0,\n pointerEvents: \"none\",\n width: \"auto\",\n height: `${props.height}px`,\n opacity: indicator.isLoading.value ? 1 : 0,\n background: props.color || void 0,\n backgroundSize: `${100 / indicator.progress.value * 100}% auto`,\n transform: `scaleX(${indicator.progress.value}%)`,\n transformOrigin: \"left\",\n transition: \"transform 0.1s, height 0.4s, opacity 0.4s\",\n zIndex: 999999\n }\n }, slots);\n }\n});\nfunction useLoadingIndicator(opts) {\n const progress = ref(0);\n const isLoading = ref(false);\n const step = computed(() => 1e4 / opts.duration);\n let _timer = null;\n let _throttle = null;\n function start() {\n clear();\n progress.value = 0;\n if (opts.throttle && process.client) {\n _throttle = setTimeout(() => {\n isLoading.value = true;\n _startTimer();\n }, opts.throttle);\n } else {\n isLoading.value = true;\n _startTimer();\n }\n }\n function finish() {\n progress.value = 100;\n _hide();\n }\n function clear() {\n clearInterval(_timer);\n clearTimeout(_throttle);\n _timer = null;\n _throttle = null;\n }\n function _increase(num) {\n progress.value = Math.min(100, progress.value + num);\n }\n function _hide() {\n clear();\n if (process.client) {\n setTimeout(() => {\n isLoading.value = false;\n setTimeout(() => {\n progress.value = 0;\n }, 400);\n }, 500);\n }\n }\n function _startTimer() {\n if (process.client) {\n _timer = setInterval(() => {\n _increase(step.value);\n }, 100);\n }\n }\n return {\n progress,\n isLoading,\n start,\n finish,\n clear\n };\n}\n","\n\n\n \n\n\n\n","\n\n\n \n\n\n\n"],"names":["__nuxt_component_0","props","slots","indicator","useLoadingIndicator","nuxtApp","useNuxtApp","router","useRouter","globalMiddleware","to","from","comp","index","_a","_c","_b","onBeforeUnmount","h","opts","progress","ref","isLoading","step","computed","_timer","_throttle","start","clear","_startTimer","finish","_hide","_increase","num","userStore","useUserStore","logout","scrollClass","onMounted","lastScrollY","useAsyncData","useHead","title"],"mappings":"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","x_google_ignoreList":[0]}