fix(web): keep fetched model selection in sync with form (#6841)
* fix(web): keep fetched model selection in sync with form * refactor(web): reuse parsed channel models
This commit is contained in:
@@ -53,17 +53,27 @@ function normalizeModelNameList(models: readonly string[]): string[] {
|
||||
return [...new Set(models.map((m) => normalizeModelName(m)).filter(Boolean))]
|
||||
}
|
||||
|
||||
type FetchModelsDialogProps = {
|
||||
type FetchModelsDialogBaseProps = {
|
||||
open: boolean
|
||||
onOpenChange: (open: boolean) => void
|
||||
onModelsSelected?: (models: string[]) => void
|
||||
redirectModels?: string[]
|
||||
redirectSourceModels?: string[]
|
||||
customFetcher?: () => Promise<string[]>
|
||||
existingModelsOverride?: string[]
|
||||
channelName?: string | null
|
||||
}
|
||||
|
||||
type FetchModelsDialogProps = FetchModelsDialogBaseProps &
|
||||
(
|
||||
| {
|
||||
onModelsSelected: (models: string[]) => void
|
||||
existingModelsOverride: string[]
|
||||
}
|
||||
| {
|
||||
onModelsSelected?: undefined
|
||||
existingModelsOverride?: undefined
|
||||
}
|
||||
)
|
||||
|
||||
export function FetchModelsDialog({
|
||||
open,
|
||||
onOpenChange,
|
||||
|
||||
@@ -4824,11 +4824,7 @@ export function ChannelMutateDrawer({
|
||||
channelName={
|
||||
shouldPreviewUnsavedModels ? currentName?.trim() : undefined
|
||||
}
|
||||
existingModelsOverride={
|
||||
shouldPreviewUnsavedModels
|
||||
? parseModelsString(form.getValues('models') || '')
|
||||
: undefined
|
||||
}
|
||||
existingModelsOverride={currentModelsArray}
|
||||
/>
|
||||
|
||||
<SecureVerificationDialog
|
||||
|
||||
Reference in New Issue
Block a user