studio: fix external models selectable in chat-only mode (#4779)
* fix: external models selectable in chat-only mode * fix: model selector tabs default to active model kind
This commit is contained in:
parent
19c2dd2fa4
commit
9b5c98b89e
1 changed files with 32 additions and 2 deletions
|
|
@ -129,6 +129,17 @@ function ModelSelectorContent({
|
|||
const chatOnly = usePlatformStore((s) => s.isChatOnly());
|
||||
const hasExternal = externalModels.length > 0;
|
||||
|
||||
const chatOnlyTabsDefault = useMemo(
|
||||
() => (value && externalModels.some((m) => m.id === value) ? "external" : "hub"),
|
||||
[value, externalModels],
|
||||
);
|
||||
|
||||
const studioTabsDefault = useMemo((): "hub" | "lora" | "external" => {
|
||||
if (value && externalModels.some((m) => m.id === value)) return "external";
|
||||
if (value && loraModels.some((l) => l.id === value)) return "lora";
|
||||
return "hub";
|
||||
}, [value, externalModels, loraModels]);
|
||||
|
||||
return (
|
||||
<PopoverContent
|
||||
align="start"
|
||||
|
|
@ -139,9 +150,28 @@ function ModelSelectorContent({
|
|||
)}
|
||||
>
|
||||
{chatOnly ? (
|
||||
<HubModelPicker models={models} value={value} onSelect={onSelect} onFoldersChange={onFoldersChange} />
|
||||
hasExternal ? (
|
||||
<Tabs defaultValue={chatOnlyTabsDefault} className="w-full">
|
||||
<TabsList className="mb-2 w-full">
|
||||
<TabsTrigger value="hub">Hub models</TabsTrigger>
|
||||
<TabsTrigger value="external">External</TabsTrigger>
|
||||
</TabsList>
|
||||
<TabsContent value="hub" className="m-0">
|
||||
<HubModelPicker models={models} value={value} onSelect={onSelect} onFoldersChange={onFoldersChange} />
|
||||
</TabsContent>
|
||||
<TabsContent value="external" className="m-0">
|
||||
<ExternalModelPicker
|
||||
externalModels={externalModels}
|
||||
value={value}
|
||||
onSelect={onSelect}
|
||||
/>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
) : (
|
||||
<HubModelPicker models={models} value={value} onSelect={onSelect} onFoldersChange={onFoldersChange} />
|
||||
)
|
||||
) : (
|
||||
<Tabs defaultValue="hub" className="w-full">
|
||||
<Tabs defaultValue={studioTabsDefault} className="w-full">
|
||||
<TabsList className="mb-2 w-full">
|
||||
<TabsTrigger value="hub">Hub models</TabsTrigger>
|
||||
<TabsTrigger value="lora">Fine-tuned</TabsTrigger>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue