This commit is contained in:
zhongluofeng
2026-07-23 16:03:38 +08:00
parent 95a69b0017
commit 62db8e1982
5 changed files with 374 additions and 227 deletions
+61 -27
View File
@@ -22,6 +22,7 @@ import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'
import { ScrollArea } from '@/components/ui/scroll-area'
import { Separator } from '@/components/ui/separator'
import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@/components/ui/accordion'
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { Progress } from '@/components/ui/progress'
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'
import {
@@ -924,9 +925,14 @@ const saveSettingsForm = async () => {
</div>
<div v-if="store.kernel?.exists" class="flex items-center justify-between">
<span class="text-muted-foreground">当前版本</span>
<Badge variant="secondary" class="font-mono text-xs" :title="store.kernel?.version ?? ''">
{{ versionShort }}
</Badge>
<Tooltip>
<TooltipTrigger as-child>
<Badge variant="secondary" class="font-mono text-xs cursor-default">
{{ versionShort }}
</Badge>
</TooltipTrigger>
<TooltipContent>{{ store.kernel?.version ?? '' }}</TooltipContent>
</Tooltip>
</div>
<div v-if="kernelUpdateInfo" class="flex items-center justify-between">
<span class="text-muted-foreground">最新版本</span>
@@ -947,19 +953,33 @@ const saveSettingsForm = async () => {
<div class="flex items-center justify-between gap-3">
<span class="text-muted-foreground shrink-0">路径</span>
<div class="flex items-center gap-1.5 min-w-0">
<span
v-if="store.kernel?.exists"
class="font-mono text-xs text-right truncate"
:title="store.kernel?.path ?? ''"
>{{ pathDisplay || pathShort }}</span>
<span v-else class="font-mono text-xs text-right" :title="store.kernel?.path ?? ''">{{ pathShort }}</span>
<Tooltip>
<TooltipTrigger as-child>
<span
v-if="store.kernel?.exists"
class="font-mono text-xs text-right truncate cursor-default"
>{{ pathDisplay || pathShort }}</span>
<span v-else class="font-mono text-xs text-right cursor-default">{{ pathShort }}</span>
</TooltipTrigger>
<TooltipContent class="max-w-[400px] break-all">{{ store.kernel?.path ?? '' }}</TooltipContent>
</Tooltip>
<template v-if="store.kernel?.exists">
<Button size="icon-xs" variant="ghost" title="复制路径" @click="copyPath">
<Copy class="size-3" />
</Button>
<Button size="icon-xs" variant="ghost" title="在文件夹中显示" @click="openFolder">
<FolderOpen class="size-3" />
</Button>
<Tooltip>
<TooltipTrigger as-child>
<Button size="icon-xs" variant="ghost" @click="copyPath">
<Copy class="size-3" />
</Button>
</TooltipTrigger>
<TooltipContent>复制路径</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger as-child>
<Button size="icon-xs" variant="ghost" @click="openFolder">
<FolderOpen class="size-3" />
</Button>
</TooltipTrigger>
<TooltipContent>在文件夹中显示</TooltipContent>
</Tooltip>
</template>
</div>
</div>
@@ -1448,18 +1468,32 @@ const saveSettingsForm = async () => {
</p>
</div>
<div class="flex gap-1 shrink-0">
<Button size="icon-sm" variant="ghost" title="更新" @click="doUpdate(p.id)">
<RefreshCw class="size-3.5" />
</Button>
<Button
v-if="store.settings.currentProfile !== p.id"
size="icon-sm" variant="ghost" title="切换" @click="doActivate(p.id)"
>
<Check class="size-3.5" />
</Button>
<Button size="icon-sm" variant="ghost" title="删除" @click="doDelete(p.id, p.name)">
<Trash2 class="size-3.5 text-destructive" />
</Button>
<Tooltip>
<TooltipTrigger as-child>
<Button size="icon-sm" variant="ghost" @click="doUpdate(p.id)">
<RefreshCw class="size-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>更新</TooltipContent>
</Tooltip>
<Tooltip v-if="store.settings.currentProfile !== p.id">
<TooltipTrigger as-child>
<Button
size="icon-sm" variant="ghost" @click="doActivate(p.id)"
>
<Check class="size-3.5" />
</Button>
</TooltipTrigger>
<TooltipContent>切换</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger as-child>
<Button size="icon-sm" variant="ghost" @click="doDelete(p.id, p.name)">
<Trash2 class="size-3.5 text-destructive" />
</Button>
</TooltipTrigger>
<TooltipContent>删除</TooltipContent>
</Tooltip>
</div>
</div>
</div>