feat(web): add an open-monitoring-column button to the server list

When a server is connected, has monitor screens to show, and the monitoring
column isn't open, show an "open monitoring column" button to the right of the
list expand/collapse toggle on the server list. It reuses PinColumnButton (the
same right-sidebar affordance the monitor screens use, now with an optional
label), so opening the column is reachable from the server list — not only from
a monitor screen's pin button. InspectorView gates it on
`canPin && monitorAvailable.length > 0 && !effectivePinned`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BrihGWcrM9JGRyu41nzZYw
This commit is contained in:
cliffhall 2026-07-10 20:23:27 -04:00
commit 0c6fafbf60

View file

@ -67,6 +67,12 @@ export interface ServerListScreenProps {
onClearHighlight?: (id: string) => void;
compact: boolean;
onToggleCompact: () => void;
/**
* Open the monitoring column. Provided only when a server is connected, the
* column can open, and it isn't already shown; forwarded to the controls to
* reveal an open-sidebar button beside the list toggle.
*/
onOpenMonitor?: () => void;
}
const PageContainer = Stack.withProps({
@ -99,6 +105,7 @@ export function ServerListScreen({
onClearHighlight,
compact,
onToggleCompact,
onOpenMonitor,
}: ServerListScreenProps) {
const sensors = useSensors(
useSensor(PointerSensor),
@ -196,6 +203,7 @@ export function ServerListScreen({
onImportConfig={onImportConfig}
onImportServerJson={onImportServerJson}
onExport={onExport}
onOpenMonitor={onOpenMonitor}
/>
<ScrollArea.Autosize