diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte
deleted file mode 100644
index 197d6c2e59..0000000000
--- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
- {#if reasoning.isReasoningActive}
-
- {:else if reasoning.isOff}
-
- {:else}
-
- {/if}
-
-
- Reasoning
-
-
- {reasoning.currentEffort}
-
-
-
-
-
- {#each reasoning.levels as level (level.value)}
- {@const tokenLabel = reasoning.tokenLabel(level)}
- reasoning.select(level)}
- >
- {#if reasoning.isSelected(level)}
-
- {:else}
-
- {/if}
-
- {level.label}
-
- {#if tokenLabel}
-
- {tokenLabel}
-
- {/if}
-
- {#if level.hasInfo}
-
-
-
-
-
-
- Maximum reasoning effort with extended context usage
-
-
- {/if}
-
- {/each}
-
-
diff --git a/tools/ui/src/lib/components/app/chat/index.ts b/tools/ui/src/lib/components/app/chat/index.ts
index d0cd2de675..59e6cd4921 100644
--- a/tools/ui/src/lib/components/app/chat/index.ts
+++ b/tools/ui/src/lib/components/app/chat/index.ts
@@ -220,14 +220,6 @@ export { default as ChatFormActionModels } from './ChatForm/ChatFormActions/Chat
*/
export { default as ChatFormActionAddToolsSubmenu } from './ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddToolsSubmenu.svelte';
-/** Dropdown submenu for selecting reasoning effort level.
- *
- * Shows a "Reasoning" sub-menu item with a lightbulb icon indicating
- * thinking status, and a nested list of effort levels.
- * Only visible when the current model supports thinking.
- */
-export { default as ChatFormActionAddReasoningSubmenu } from './ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte';
-
/**
* Compact context-usage gauge with per-turn and cumulative breakdown in the tooltip.
*/
diff --git a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDownloadItem.svelte b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDownloadItem.svelte
new file mode 100644
index 0000000000..4a88a103ee
--- /dev/null
+++ b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDownloadItem.svelte
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+ {#if entry.progress && entry.progress.totalBytes > 0}
+
+ {/if}
+
diff --git a/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDropdown.svelte
similarity index 66%
rename from tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte
rename to tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDropdown.svelte
index 30dedcbae9..67ce031dee 100644
--- a/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte
+++ b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorDropdown.svelte
@@ -1,18 +1,22 @@
-{#snippet defaultOption(item: ModelItem, hideOrgName: boolean)}
+{#snippet defaultOption(item: ModelItem, _hideOrgName: boolean)}
{@const { option } = item}
{@const isSelected = currentModel === option.model || activeId === option.id}
{@const isFav = modelsStore.favoriteModelIds.has(option.model)}