# 主题重构指南 ## 修改原则 本次重构将固定的 Tailwind 颜色类替换为 shadcn 主题变量,以支持主题切换。 ## CSS变量替换规则 ### 1. 背景色替换 #### 信息展示框、输入框禁用状态 ```tsx // 旧写法 className="bg-gray-50 dark:bg-gray-800" className="bg-gray-50" // 新写法 className="bg-muted" ``` #### 卡片次要背景 ```tsx // 旧写法 className="bg-gray-100" // 新写法(非状态色场景) className="bg-accent" ``` #### 交互悬停效果 ```tsx // 旧写法 className="hover:bg-gray-50" className="hover:bg-gray-100" // 新写法 className="hover:bg-accent" ``` ### 2. 状态色(保留不变) 以下场景使用固定颜色类表示状态,**不需要替换**: #### 成功/激活状态(绿色) ```tsx className="bg-green-100 text-green-800" className="bg-green-50" ``` #### 错误/危险状态(红色) ```tsx className="bg-red-100 text-red-800" className="bg-red-50" ``` #### 警告状态(黄色) ```tsx className="bg-yellow-100 text-yellow-800" className="bg-yellow-50" ``` #### 提示/信息状态(蓝色) ```tsx className="bg-blue-100 text-blue-800" className="bg-blue-50" ``` #### 中性/禁用状态(灰色) ```tsx // 用于表示"离线"、"已忽略"、"禁用"、"建议"等状态 className="bg-gray-100 text-gray-800" className="bg-gray-100 text-gray-700" ``` ### 3. 文本颜色替换 #### 次要文本 ```tsx // 旧写法 className="text-gray-700" className="text-gray-600" // 新写法 className="text-muted-foreground" ``` #### 主要文本 ```tsx // 旧写法 className="text-gray-900 dark:text-gray-100" // 新写法 className="text-foreground" ``` ### 4. 边框颜色 ```tsx // 旧写法(非状态色) className="border-gray-200" className="border-gray-300" // 新写法 className="border-border" 或 className="border" // 默认使用border颜色 ``` ## 代码替换示例 ### 示例1:信息展示卡片 ```tsx // 修改前