Files
urldb/web/components/LoadingOverlay.vue
2025-07-11 02:30:57 +08:00

26 lines
807 B
Vue

<template>
<div v-if="show" class="fixed inset-0 bg-gray-900 bg-opacity-50 flex items-center justify-center z-50">
<div class="bg-white dark:bg-gray-800 rounded-lg p-8 shadow-xl">
<div class="flex flex-col items-center space-y-4">
<div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600"></div>
<div class="text-center">
<h3 class="text-lg font-semibold text-gray-900 dark:text-gray-100">{{ title }}</h3>
<p class="text-sm text-gray-600 dark:text-gray-400 mt-1">{{ message }}</p>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
interface Props {
show: boolean
title?: string
message?: string
}
withDefaults(defineProps<Props>(), {
title: '正在加载...',
message: '请稍候'
})
</script>