From af5b8530169823331f592ee50b0424c5780d00ec Mon Sep 17 00:00:00 2001 From: zhixian Date: Tue, 17 Feb 2026 02:22:28 +0900 Subject: [PATCH] feat: switch to shadcn light theme, improve Settings UX - Replace custom dark navy color palette with shadcn default light theme - Remove all custom --color-* CSS variables and use semantic classes - Remove Chat Model section from Settings (no longer needed) - Replace native with Combobox (Popover + Command) for provider/model selection in Settings - Add shadcn command, popover, and dialog components Co-Authored-By: Claude Opus 4.6 --- package-lock.json | 17 +++ package.json | 1 + src/App.tsx | 28 ++-- src/components/Chat.tsx | 21 ++- src/components/DiffViewer.tsx | 4 +- src/components/ParamForm.tsx | 5 +- src/components/RecipeCard.tsx | 10 +- src/components/ui/command.tsx | 182 +++++++++++++++++++++++++ src/components/ui/dialog.tsx | 158 ++++++++++++++++++++++ src/components/ui/popover.tsx | 87 ++++++++++++ src/pages/Doctor.tsx | 14 +- src/pages/History.tsx | 8 +- src/pages/Home.tsx | 58 ++++---- src/pages/Install.tsx | 14 +- src/pages/Recipes.tsx | 6 +- src/pages/Settings.tsx | 244 ++++++++++++++++++++-------------- src/styles.css | 75 +++++------ 17 files changed, 702 insertions(+), 230 deletions(-) create mode 100644 src/components/ui/command.tsx create mode 100644 src/components/ui/dialog.tsx create mode 100644 src/components/ui/popover.tsx diff --git a/package-lock.json b/package-lock.json index ab1c6ed..ffd9b06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@tauri-apps/api": "^2.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "cmdk": "^1.1.1", "json5": "^2.2.3", "lucide-react": "^0.564.0", "radix-ui": "^1.4.3", @@ -3141,6 +3142,22 @@ "node": ">=6" } }, + "node_modules/cmdk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.1.1.tgz", + "integrity": "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-id": "^1.1.0", + "@radix-ui/react-primitive": "^2.0.2" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", diff --git a/package.json b/package.json index f40d66a..7d5026e 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@tauri-apps/api": "^2.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "cmdk": "^1.1.1", "json5": "^2.2.3", "lucide-react": "^0.564.0", "radix-ui": "^1.4.3", diff --git a/src/App.tsx b/src/App.tsx index 1414c24..a6f9ec2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -27,14 +27,14 @@ export function App() { return (
-