Normalize screen layouts: extract control groups, unify sidebar widths, and refactor PromptsScreen

- Extract ToolControls group from ToolsScreen (search, list, list-changed indicator)
- Extract PromptControls and PromptListItem groups for PromptsScreen sidebar
- Refactor PromptsScreen to sidebar + detail layout (matching ResourcesScreen pattern)
- Refactor PromptArgumentsForm to accept a single prompt instead of a dropdown
- Normalize all screen sidebar widths to 340px (Tools, Resources, Prompts, Logs, Tasks, History)
- Convert ToolsScreen from Grid-only to sidebar + Grid layout
- Replace LogControls checkboxes with full-width toggle buttons
- Move Clear/Export buttons from LogControls to LogStreamPanel toolbar
- Make PromptArgumentsForm "Get Prompt" button right-aligned and compact
- Update all affected stories and ConnectedView

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
cliffhall 2026-03-31 17:54:20 -04:00
commit a6724626b7
2 changed files with 627 additions and 233 deletions

View file

@ -21,6 +21,8 @@ const meta: Meta<typeof LogStreamPanel> = {
autoScroll: true,
onToggleAutoScroll: fn(),
onCopyAll: fn(),
onClear: fn(),
onExport: fn(),
},
};

View file

@ -19,6 +19,8 @@ export interface LogStreamPanelProps {
autoScroll: boolean;
onToggleAutoScroll: () => void;
onCopyAll: () => void;
onClear: () => void;
onExport: () => void;
}
const PanelContainer = Paper.withProps({
@ -61,6 +63,8 @@ export function LogStreamPanel({
autoScroll,
onToggleAutoScroll,
onCopyAll,
onClear,
onExport,
}: LogStreamPanelProps) {
const filteredEntries = useMemo(
() => entries.filter((e) => matchesFilters(e, filterText, visibleLevels)),
@ -77,6 +81,8 @@ export function LogStreamPanel({
checked={autoScroll}
onChange={onToggleAutoScroll}
/>
<ToolbarButton onClick={onClear}>Clear</ToolbarButton>
<ToolbarButton onClick={onExport}>Export</ToolbarButton>
<ToolbarButton onClick={onCopyAll}>Copy All</ToolbarButton>
</Group>
</Group>