初始化

This commit is contained in:
2025-08-21 10:43:04 +08:00
commit 29a79b1c6b
68 changed files with 13314 additions and 0 deletions
@@ -0,0 +1,63 @@
<template>
<div class="loading-spinner" :class="{ overlay: overlay }">
<div class="spinner">
<div class="spinner-ring"></div>
<div class="spinner-text" v-if="text">{{ text }}</div>
</div>
</div>
</template>
<script setup lang="ts">
interface Props {
text?: string;
overlay?: boolean;
}
defineProps<Props>();
</script>
<style scoped>
.loading-spinner {
display: flex;
justify-content: center;
align-items: center;
padding: 2rem;
}
.loading-spinner.overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 9999;
padding: 0;
}
.spinner {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
}
.spinner-ring {
width: 40px;
height: 40px;
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.spinner-text {
color: #666;
font-size: 0.875rem;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
</style>