From 2d6faf9d5ed65a0349038279c1b2e14a0ba7e3a9 Mon Sep 17 00:00:00 2001 From: RockChinQ Date: Tue, 16 Jun 2026 05:41:58 -0400 Subject: [PATCH] refactor(web): drop legacy ModelsDialog, use unified SettingsDialog everywhere The model-selector in dynamic forms (pipeline / knowledge base settings) still opened the old standalone ModelsDialog. Point it at the unified SettingsDialog (section pinned to models) and delete the now-unused ModelsDialog wrapper so only the new dialog remains. --- .../dynamic-form/DynamicFormItemComponent.tsx | 14 +++++-- .../components/models-dialog/ModelsDialog.tsx | 42 ------------------- 2 files changed, 11 insertions(+), 45 deletions(-) delete mode 100644 web/src/app/home/components/models-dialog/ModelsDialog.tsx diff --git a/web/src/app/home/components/dynamic-form/DynamicFormItemComponent.tsx b/web/src/app/home/components/dynamic-form/DynamicFormItemComponent.tsx index 04979d75..ce125c70 100644 --- a/web/src/app/home/components/dynamic-form/DynamicFormItemComponent.tsx +++ b/web/src/app/home/components/dynamic-form/DynamicFormItemComponent.tsx @@ -61,7 +61,9 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; -import ModelsDialog from '@/app/home/components/models-dialog/ModelsDialog'; +import SettingsDialog, { + SettingsSection, +} from '@/app/home/components/settings-dialog/SettingsDialog'; export default function DynamicFormItemComponent({ config, @@ -87,6 +89,8 @@ export default function DynamicFormItemComponent({ ); const { t } = useTranslation(); const [modelsDialogOpen, setModelsDialogOpen] = useState(false); + const [settingsSection, setSettingsSection] = + useState('models'); const fetchLlmModels = () => { httpClient @@ -561,9 +565,11 @@ export default function DynamicFormItemComponent({ {t('models.title')} - ); @@ -913,9 +919,11 @@ export default function DynamicFormItemComponent({ {t('models.title')} - diff --git a/web/src/app/home/components/models-dialog/ModelsDialog.tsx b/web/src/app/home/components/models-dialog/ModelsDialog.tsx deleted file mode 100644 index dc27f317..00000000 --- a/web/src/app/home/components/models-dialog/ModelsDialog.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { useState } from 'react'; -import { - Dialog, - DialogContent, - DialogHeader, - DialogTitle, -} from '@/components/ui/dialog'; -import { useTranslation } from 'react-i18next'; -import ModelsPanel from './ModelsPanel'; - -interface ModelsDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; -} - -// Standalone Models dialog. The unified Settings dialog renders -// directly; this wrapper is kept for places that open Models on its own -// (e.g. the model picker inside dynamic forms). -export default function ModelsDialog({ - open, - onOpenChange, -}: ModelsDialogProps) { - const { t } = useTranslation(); - const [blocking, setBlocking] = useState(false); - - return ( - { - if (!newOpen && blocking) return; - onOpenChange(newOpen); - }} - > - - - {t('models.title')} - - - - - ); -}