feat(community): 增加签名目录与七类发行入口

This commit is contained in:
2026-09-07 16:52:49 +08:00
parent afb76dc325
commit 508f13e5d8
17 changed files with 1429 additions and 2 deletions
@@ -30,6 +30,7 @@ const selectionSnapshot = ref<string | null>(null)
interface Command { id: string; label: string; hint: string; run: () => void | Promise<void> }
const builtinCommands = computed<Command[]>(() => [
{ id: 'community', label: t('社区目录', 'Community catalog'), hint: t('导航', 'Navigation'), run: () => router.push('/community') },
{ id: 'themes', label: t('主题管理', 'Manage themes'), hint: t('导航', 'Navigation'), run: () => router.push('/themes') },
{ id: 'tasks', label: t('任务列表', 'Tasks'), hint: t('导航', 'Navigation'), run: () => router.push('/tasks') },
{ id: 'workspace', label: t('打开工作区', 'Open workspace'), hint: t('导航', 'Navigation'), run: () => router.push('/workspace') },
@@ -20,6 +20,7 @@ const navItems = computed(() => [
{ name: 'plugins', icon: Connection, label: 'Plugin' },
{ name: 'mcp-servers', icon: Monitor, label: 'MCP' },
{ name: 'themes', icon: Brush, label: t('主题', 'Themes') },
{ name: 'community', icon: Connection, label: t('社区', 'Community') },
{ name: 'benchmarks', icon: Monitor, label: 'Benchmark' },
{ name: 'logs', icon: Document, label: t('日志', 'Logs') },
{ name: 'settings', icon: Setting, label: t('设置', 'Settings') },
@@ -42,7 +43,8 @@ function toggleExpanded() {
<template>
<aside class="primary-sidebar" :class="{ expanded }">
<nav class="nav-list">
<div
<button
type="button"
v-for="item in navItems"
:key="item.name"
class="nav-item"
@@ -52,7 +54,7 @@ function toggleExpanded() {
>
<AppIcon class="nav-icon" :icon="item.icon" :size="20" />
<span class="nav-label">{{ item.label }}</span>
</div>
</button>
</nav>
<div class="sidebar-footer">
<button class="nav-item collapse-button" type="button" :title="expanded ? t('收起导航', 'Collapse navigation') : t('展开导航', 'Expand navigation')" @click="toggleExpanded">
@@ -89,6 +91,9 @@ function toggleExpanded() {
}
.nav-item {
border: 0;
background: transparent;
font: inherit;
display: flex;
flex-direction: column;
align-items: center;