From 9c9ef05d13962586cbd0decb2377d003a8901679 Mon Sep 17 00:00:00 2001 From: jeffusion Date: Thu, 5 Mar 2026 11:35:27 +0800 Subject: [PATCH] feat(frontend): update config UI for DB-first config architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ConfigSource type: 'default' | 'db' (removed 'env') - Badge: 'db' shows '已配置', 'default' shows '默认值' - Removed readonly field lock icon and env-var-only warning message - Updated 'override' → 'db' references in ConfigGroupCard and ConfigManager - Removed readonly/readonlyWarning from ConfigFieldDto interface --- frontend/src/components/ConfigFieldInput.tsx | 34 +++----------------- frontend/src/components/ConfigGroupCard.tsx | 6 ++-- frontend/src/components/ConfigManager.tsx | 4 +-- frontend/src/services/configService.ts | 4 +-- 4 files changed, 11 insertions(+), 37 deletions(-) diff --git a/frontend/src/components/ConfigFieldInput.tsx b/frontend/src/components/ConfigFieldInput.tsx index 41a5e4a..4f96c8b 100644 --- a/frontend/src/components/ConfigFieldInput.tsx +++ b/frontend/src/components/ConfigFieldInput.tsx @@ -6,7 +6,6 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@ import { Textarea } from '@/components/ui/textarea'; import { Badge } from '@/components/ui/badge'; import { Label } from '@/components/ui/label'; -import { Lock } from 'lucide-react'; interface ConfigFieldInputProps { field: ConfigFieldDto; @@ -15,18 +14,15 @@ interface ConfigFieldInputProps { } export function ConfigFieldInput({ field, value, onChange }: ConfigFieldInputProps) { - const isReadonly = !!field.readonly; - const renderInput = () => { - const baseInputClasses = "bg-zinc-900/50 border-white/10 focus-visible:ring-primary focus-visible:border-primary transition-all duration-200" + (isReadonly ? " opacity-50 cursor-not-allowed" : ""); + const baseInputClasses = "bg-zinc-900/50 border-white/10 focus-visible:ring-primary focus-visible:border-primary transition-all duration-200"; switch (field.type) { case 'boolean': return ( ); case 'enum': @@ -34,7 +30,6 @@ export function ConfigFieldInput({ field, value, onChange }: ConfigFieldInputPro