feat: 添加仓库管理页面和 AI 功能,优化路由和导航

- 新增仓库列表页面,支持查看和管理 CNB 仓库
- 添加 AI 代理系统和状态管理
- 新增 tags-input、popover、textarea、tooltip 等 UI 组件
- 更新依赖:@kevisual/cnb 升级至 0.0.22,添加 idb-keyval
- 改进路由守卫:未配置 API Key 时自动跳转配置页
- 优化 Dialog 遮罩层样式和整体布局

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-09 04:44:28 +08:00
parent 0ced574b8b
commit a2629fec7b
22 changed files with 1606 additions and 62 deletions

View File

@@ -1,14 +1,24 @@
import { Link, Outlet, createRootRoute } from '@tanstack/react-router'
import { Link, Outlet, createRootRoute, useNavigate } from '@tanstack/react-router'
import { TanStackRouterDevtools } from '@tanstack/react-router-devtools'
import { Toaster } from '@/components/ui/sonner'
import { useConfigStore } from '@/app/config/store'
import { useEffect } from 'react'
export const Route = createRootRoute({
component: RootComponent,
})
function RootComponent() {
const navigate = useNavigate()
useEffect(() => {
const config = useConfigStore.getState().config;
if (!config.CNB_API_KEY) {
navigate({
to: '/config'
})
}
}, [])
return (
<div>
<div className='h-full overflow-hidden'>
<div className="p-2 flex gap-2 text-lg">
<Link
@@ -18,11 +28,17 @@ function RootComponent() {
}}
activeOptions={{ exact: true }}
>
Home
</Link>
<Link to='/config'>
</Link>
</div>
<hr />
<Outlet />
<main className='h-[calc(100%-4rem)] overflow-auto scrollbar'>
<Outlet />
</main>
<TanStackRouterDevtools position="bottom-right" />
<Toaster />
</div>