feat: add Gitea configuration page and state management

- Implemented GiteaConfigPage for managing Gitea API settings.
- Created Zustand store for Gitea configuration with local storage persistence.
- Added validation schema for Gitea configuration using Zod.
- Established routes for Gitea configuration in the application.
This commit is contained in:
2026-02-19 23:04:31 +08:00
parent 1884e87421
commit f9fd2a67b4
17 changed files with 977 additions and 4205 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "@kevisual/cnb-center",
"private": true,
"version": "0.0.2",
"version": "0.0.3",
"type": "module",
"basename": "/root/cnb-center",
"scripts": {
@@ -9,7 +9,7 @@
"build": "vite build",
"preview": "vite preview",
"ui": "pnpm dlx shadcn@latest add ",
"pub": "envision deploy ./dist -k cnb-center -v 0.0.2 -y y -u"
"pub": "envision deploy ./dist -k cnb-center -v 0.0.3 -y y -u"
},
"files": [
"dist"
@@ -17,23 +17,23 @@
"author": "abearxiong <xiongxiao@xiongxiao.me>",
"license": "MIT",
"dependencies": {
"@ai-sdk/anthropic": "^3.0.44",
"@ai-sdk/openai": "^3.0.29",
"@ai-sdk/anthropic": "^3.0.45",
"@ai-sdk/openai": "^3.0.30",
"@ai-sdk/openai-compatible": "^2.0.30",
"@base-ui/react": "^1.2.0",
"@kevisual/cnb": "^0.0.26",
"@kevisual/cnb-ai": "^0.0.2",
"@kevisual/context": "^0.0.6",
"@kevisual/router": "0.0.70",
"@tanstack/react-router": "^1.160.0",
"ai": "^6.0.86",
"@kevisual/context": "^0.0.8",
"@kevisual/router": "0.0.80",
"@tanstack/react-router": "^1.161.1",
"ai": "^6.0.91",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dayjs": "^1.11.19",
"es-toolkit": "^1.44.0",
"fuse.js": "^7.1.0",
"idb-keyval": "^6.2.2",
"lucide-react": "^0.564.0",
"lucide-react": "^0.575.0",
"nanoid": "^5.1.6",
"next-themes": "^0.4.6",
"react": "^19.2.4",
@@ -47,21 +47,21 @@
"access": "public"
},
"devDependencies": {
"@kevisual/query": "0.0.40",
"@kevisual/gitea": "^0.0.6",
"@kevisual/query": "0.0.49",
"@kevisual/types": "^0.0.12",
"@tailwindcss/vite": "^4.1.18",
"@tanstack/react-router-devtools": "^1.160.0",
"@tanstack/router-plugin": "^1.160.0",
"@types/node": "^25.2.3",
"@tailwindcss/vite": "^4.2.0",
"@tanstack/react-router-devtools": "^1.161.1",
"@tanstack/router-plugin": "^1.161.1",
"@types/node": "^25.3.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4",
"dotenv": "^17.3.1",
"tailwind-merge": "^3.4.1",
"tailwindcss": "^4.1.18",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.0",
"tw-animate-css": "^1.4.0",
"typescript": "^5.9.3",
"vite": "^8.0.0-beta.13"
},
"packageManager": "pnpm@10.29.3"
"vite": "^8.0.0-beta.14"
}
}