feat: 重设计 UI/UX — 展示/管理分离 + shadcn/ui + Admin 后台

- 引入 shadcn/ui(base-nova 风格,Tailwind v4,14 个组件)
- 新增 Admin 后台路由架构:/admin(总览)、/admin/bookmarks(管理)
- 重写首页为纯展示书签导航(BookmarkCard + CategoryGrid)
- 新增 Admin 侧边栏导航(AdminSidebar + SidebarProvider)
- 书签管理页:双栏布局 + Dialog 表单 + DnD 排序 + Toast 通知
- 修复 IconPicker overflow 裁切(改用 Dialog portal)
- 修复嵌套 button hydration 错误(base-ui render prop)
- 删除旧组件(CategorySection/BookmarkItem/IconPicker)和旧路由
- 所有新依赖归入 root catalog
- 更新 AGENTS.md 文档(目录结构、shadcn 模式、render prop 规范)
This commit is contained in:
2026-03-30 22:54:01 +08:00
parent 430c0b0c64
commit ba8224e81e
42 changed files with 3261 additions and 781 deletions
+16 -2
View File
@@ -208,13 +208,27 @@ export const myTable = pgTable('my_table', {
.
├── apps/
│ ├── server/ # TanStack Start fullstack app
│ │ ├── components.json # shadcn/ui configuration
│ │ ├── src/
│ │ │ ├── client/ # ORPC client + TanStack Query utils
│ │ │ ├── components/
│ │ │ │ ├── ui/ # shadcn/ui components (auto-managed)
│ │ │ │ └── AdminSidebar.tsx # Admin panel sidebar
│ │ │ ├── hooks/ # Custom React hooks
│ │ │ ├── lib/ # Utilities (cn, etc.)
│ │ │ ├── modules/ # Feature modules (bookmarks, etc.)
│ │ │ ├── routes/ # File-based routing
│ │ │ └── server/ # API layer + database
│ │ │ │ ├── _protected/ # Auth guard
│ │ │ │ │ ├── index.tsx # Dashboard homepage
│ │ │ │ │ ├── admin.tsx # Admin layout (sidebar)
│ │ │ │ │ └── admin/ # Admin pages
│ │ │ │ │ ├── index.tsx # Admin overview
│ │ │ │ │ └── bookmarks.tsx # Bookmark management
│ │ │ │ └── api/ # API routes
│ │ │ └── server/ # API layer + database + auth
│ │ │ ├── api/ # ORPC contracts, routers, middlewares
│ │ │ ── db/ # Drizzle schema
│ │ │ ── auth/ # Better Auth (schema, instance, client)
│ │ │ └── db/ # Drizzle schema + relations
│ │ └── AGENTS.md
├── packages/
│ └── tsconfig/ # Shared TS configs