ui: Add Thinking mode toggle with reasoning effort levels + improvements for Chat Form Add Action UI (#23434)
* feat: Add "Thinking" toggle and status icon + redesign Chat Form Actions Add panel * test: Update test reference * fix: Icon * fix: E2E test command * fix: wait for greeting h1 to be visible in e2e test * fix: remove duplicate PDF option in attachment dropdown * fix: use label-based group toggle to avoid stale references * refactor: inline MCP server and tool toggles in mobile sheet * fix: serve correct build directory in e2e playwright config * feat: add reasoning effort levels selector in model dropdown * feat: Reasoning effort * refactor: Make server origin configurable via environment variable * feat: Add chat template thinking detector utility * feat: Add thinking support detection to models store * refactor: Update model selector components with thinking detection and message-specific indicators * feat: Update chat form components for model selection and thinking support * feat: Improve Reasoning controls UI * refactor: Apply suggestions from code review Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> * fix: Model tags * refactor: Cleanup * refactor: Remove unneeded components * refactor: Cleanup
This commit is contained in:
@@ -17,6 +17,8 @@ export interface UseToolsPanelReturn {
|
||||
getFavicon(group: { source: ToolSource; label: string }): string | null;
|
||||
isGroupDisabled(group: ToolGroup): boolean;
|
||||
toggleGroupExpanded(label: string): void;
|
||||
/** Toggle all tools in a group by label (avoids stale group object references). */
|
||||
toggleGroupByLabel(label: string): void;
|
||||
handleOpen(): void;
|
||||
}
|
||||
|
||||
@@ -91,6 +93,13 @@ export function useToolsPanel(): UseToolsPanelReturn {
|
||||
}
|
||||
}
|
||||
|
||||
function toggleGroupByLabel(label: string): void {
|
||||
// Find current group by label to get up-to-date tool references
|
||||
const group = activeGroups.find((g) => g.label === label);
|
||||
if (!group) return;
|
||||
toolsStore.toggleGroup(group);
|
||||
}
|
||||
|
||||
function handleOpen(): void {
|
||||
if (toolsStore.builtinTools.length === 0 && !toolsStore.loading) {
|
||||
toolsStore.fetchBuiltinTools();
|
||||
@@ -117,6 +126,7 @@ export function useToolsPanel(): UseToolsPanelReturn {
|
||||
getFavicon,
|
||||
isGroupDisabled,
|
||||
toggleGroupExpanded,
|
||||
toggleGroupByLabel,
|
||||
handleOpen
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user