refactor(frontend): 优化公共组件和布局组件

- 更新 Logo 相关组件 (AetherLogo, HeaderLogo, RippleLogo 等)
- 优化图表组件 (BarChart, LineChart, ScatterChart)
- 改进公共组件 (AlertDialog, EmptyState, LoadingState)
- 调整布局组件 (AppShell, SidebarNav, PageHeader 等)
- 优化 ActivityHeatmap 统计组件
This commit is contained in:
fawney19
2025-12-12 16:15:16 +08:00
parent 44e7117d4a
commit e9a6233655
21 changed files with 1130 additions and 517 deletions

View File

@@ -1,22 +1,34 @@
<template>
<div :class="containerClasses">
<div class="flex flex-col items-center gap-4">
<Skeleton v-if="variant === 'skeleton'" :class="skeletonClasses" />
<Skeleton
v-if="variant === 'skeleton'"
:class="skeletonClasses"
/>
<div v-else-if="variant === 'spinner'" class="relative">
<div class="h-12 w-12 animate-spin rounded-full border-4 border-muted border-t-primary"></div>
<div
v-else-if="variant === 'spinner'"
class="relative"
>
<div class="h-12 w-12 animate-spin rounded-full border-4 border-muted border-t-primary" />
</div>
<div v-else-if="variant === 'pulse'" class="flex gap-2">
<div
v-else-if="variant === 'pulse'"
class="flex gap-2"
>
<div
v-for="i in 3"
:key="i"
class="h-3 w-3 animate-pulse rounded-full bg-primary"
:style="{ animationDelay: `${i * 150}ms` }"
></div>
/>
</div>
<div v-if="message" class="text-sm text-muted-foreground">
<div
v-if="message"
class="text-sm text-muted-foreground"
>
{{ message }}
</div>
</div>