{/* Status icon */}
{validatingModelIndex !==
@@ -1093,6 +1180,9 @@ export function ModelConfigDialog({
value={
model.modelId
}
+ title={
+ model.modelId
+ }
onChange={(
e,
) => {
@@ -1111,7 +1201,7 @@ export function ModelConfigDialog({
},
)
}}
- className="flex-1 font-mono text-sm h-8 border-0 bg-transparent focus-visible:bg-background focus-visible:ring-1"
+ className="flex-1 min-w-0 font-mono text-sm h-8 border-0 bg-transparent focus-visible:bg-background focus-visible:ring-1"
/>
),
)}
@@ -1191,12 +1304,20 @@ export function ModelConfigDialog({
{/* Delete Confirmation Dialog */}
{
+ setDeleteConfirmOpen(open)
+ if (!open) setDeleteConfirmText("")
+ }}
>
-
+
- Delete Provider
-
+
+
+ Delete Provider
+
+
Are you sure you want to delete{" "}
{selectedProvider
@@ -1209,11 +1330,43 @@ export function ModelConfigDialog({
be undone.
+ {selectedProvider &&
+ selectedProvider.models.length >= 3 && (
+
+
+
+ setDeleteConfirmText(e.target.value)
+ }
+ placeholder="Type provider name..."
+ className="h-9"
+ />
+
+ )}
Cancel
= 3 &&
+ deleteConfirmText !==
+ (selectedProvider.name ||
+ PROVIDER_INFO[selectedProvider.provider]
+ .label)
+ }
+ className="bg-destructive text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50"
>
Delete
diff --git a/components/model-selector.tsx b/components/model-selector.tsx
index 10b7c64..37baa4c 100644
--- a/components/model-selector.tsx
+++ b/components/model-selector.tsx
@@ -1,6 +1,6 @@
"use client"
-import { Bot, Check, Server, Settings2 } from "lucide-react"
+import { Bot, Check, ChevronDown, Server, Settings2 } from "lucide-react"
import { useMemo, useState } from "react"
import {
ModelSelectorContent,
@@ -96,8 +96,8 @@ export function ModelSelector({
}
const tooltipContent = selectedModel
- ? `Model: ${selectedModel.modelId}`
- : "Model: Server Default"
+ ? `${selectedModel.modelId} (click to change)`
+ : "Using server default model (click to change)"
return (
@@ -105,11 +105,15 @@ export function ModelSelector({
-
+
+
+ {selectedModel ? selectedModel.modelId : "Default"}
+
+
diff --git a/components/settings-dialog.tsx b/components/settings-dialog.tsx
index 9f7738e..029fc8d 100644
--- a/components/settings-dialog.tsx
+++ b/components/settings-dialog.tsx
@@ -1,6 +1,6 @@
"use client"
-import { Moon, Settings2, Sun } from "lucide-react"
+import { Moon, Sun } from "lucide-react"
import { useEffect, useState } from "react"
import { Button } from "@/components/ui/button"
import {
@@ -19,7 +19,6 @@ interface SettingsDialogProps {
open: boolean
onOpenChange: (open: boolean) => void
onCloseProtectionChange?: (enabled: boolean) => void
- onOpenModelConfig: () => void
drawioUi: "min" | "sketch"
onToggleDrawioUi: () => void
darkMode: boolean
@@ -41,7 +40,6 @@ export function SettingsDialog({
open,
onOpenChange,
onCloseProtectionChange,
- onOpenModelConfig,
drawioUi,
onToggleDrawioUi,
darkMode,
@@ -178,26 +176,6 @@ export function SettingsDialog({
)}