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

@@ -10,16 +10,26 @@
@keydown.escape.stop="closeDropdown"
>
<div class="platform-select__current">
<component :is="currentOption.icon" class="platform-select__icon" />
<component
:is="currentOption.icon"
class="platform-select__icon"
/>
<div class="platform-select__text">
<p class="platform-select__label">{{ currentOption.label }}</p>
<p class="platform-select__hint">{{ currentOption.hint }}</p>
<p class="platform-select__label">
{{ currentOption.label }}
</p>
<p class="platform-select__hint">
{{ currentOption.hint }}
</p>
</div>
</div>
<ChevronDown class="platform-select__chevron" />
<transition name="platform-select-fade">
<ul v-if="isOpen" class="platform-select__dropdown">
<ul
v-if="isOpen"
class="platform-select__dropdown"
>
<li
v-for="option in resolvedOptions"
:key="option.value"
@@ -27,12 +37,22 @@
:class="{ 'platform-select__option--active': option.value === modelValue }"
@click.stop="selectOption(option.value)"
>
<component :is="option.icon" class="platform-select__option-icon" />
<component
:is="option.icon"
class="platform-select__option-icon"
/>
<div class="platform-select__option-copy">
<p class="platform-select__option-label">{{ option.label }}</p>
<p class="platform-select__option-hint">{{ option.hint }}</p>
<p class="platform-select__option-label">
{{ option.label }}
</p>
<p class="platform-select__option-hint">
{{ option.hint }}
</p>
</div>
<Check class="platform-select__option-check" v-if="option.value === modelValue" />
<Check
v-if="option.value === modelValue"
class="platform-select__option-check"
/>
</li>
</ul>
</transition>