feat: 添加关于对话框并优化主题切换按钮样式

- 新增 AboutModal 组件显示应用版本和相关信息
- 重构 ThemeToggle 组件为更简洁的图标按钮
- 在侧边栏添加关于按钮并实现打开对话框功能
- 通过预加载脚本获取 package.json 版本号
- 支持命令行参数 --version/-v 显示版本号
This commit is contained in:
2026-03-22 19:18:19 +08:00
parent c7761e8468
commit cd43f34cbd
6 changed files with 201 additions and 53 deletions
+16
View File
@@ -23,6 +23,7 @@
@toggle-theme="toggleTheme"
@select-category="selectCategory"
@close="isSidebarOpen = false"
@open-about="openAboutModal"
/>
</aside>
@@ -132,6 +133,11 @@
@close="closeUninstallModal"
@success="onUninstallSuccess"
/>
<AboutModal
:show="showAboutModal"
@close="closeAboutModal"
/>
</div>
</template>
@@ -150,6 +156,7 @@ import DownloadDetail from "./components/DownloadDetail.vue";
import InstalledAppsModal from "./components/InstalledAppsModal.vue";
import UpdateAppsModal from "./components/UpdateAppsModal.vue";
import UninstallConfirmModal from "./components/UninstallConfirmModal.vue";
import AboutModal from "./components/AboutModal.vue";
import {
APM_STORE_BASE_URL,
currentApp,
@@ -240,6 +247,7 @@ const updateLoading = ref(false);
const updateError = ref("");
const showUninstallModal = ref(false);
const uninstallTargetApp: Ref<App | null> = ref(null);
const showAboutModal = ref(false);
/** 启动参数 --no-apm => 仅 Spark--no-spark => 仅 APM;由主进程 IPC 提供 */
const storeFilter = ref<"spark" | "apm" | "both">("both");
@@ -834,6 +842,14 @@ const uninstallInstalledApp = (app: App) => {
requestUninstall(app);
};
const openAboutModal = () => {
showAboutModal.value = true;
};
const closeAboutModal = () => {
showAboutModal.value = false;
};
// TODO: 目前 APM 商店不能暂停下载
const pauseDownload = (id: DownloadItem) => {
const download = downloads.value.find((d) => d.id === id.id);