Open the systems-map gist dialog and turn the dock into a default-open TTY.

Plain node activation no longer navigates, case cards stay quiet evidence rows, and the terminal keeps one top-to-bottom scrollport.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-27 00:41:20 +02:00
parent 2635d0c639
commit 55d012cc10
25 changed files with 915 additions and 544 deletions

View File

@@ -5,7 +5,9 @@
class="terminal-dock-trigger"
[attr.aria-expanded]="open()"
[attr.aria-controls]="open() ? panelId : null"
[attr.aria-label]="copy().triggerLabel"
[attr.aria-label]="copy().triggerAccessibleName"
[attr.title]="triggerTooltip()"
[hidden]="open()"
(click)="onTriggerClick()"
>
<span>{{ copy().triggerLabel }}</span>
@@ -22,57 +24,61 @@
>
<div class="terminal-dock-toolbar cluster">
<p class="terminal-dock-title">{{ copy().panelLabel }}</p>
<button
type="button"
class="terminal-dock-control"
[attr.aria-label]="copy().maximizeLabel"
[attr.aria-pressed]="maximized()"
(click)="toggleMaximized()"
>
{{ copy().maximizeLabel }}
</button>
<button
type="button"
class="terminal-dock-control"
[attr.aria-label]="copy().collapseLabel"
(click)="collapse()"
>
{{ copy().collapseLabel }}
</button>
<div class="terminal-dock-actions cluster">
<button
type="button"
class="terminal-dock-control"
[attr.aria-label]="sizeLabel()"
[attr.title]="sizeTooltip()"
[attr.aria-pressed]="maximized()"
(click)="toggleMaximized()"
>
<span aria-hidden="true">{{ maximized() ? '▭' : '▢' }}</span>
</button>
<button
type="button"
class="terminal-dock-control"
[attr.aria-label]="copy().collapseLabel"
[attr.title]="copy().collapseTooltip"
(click)="collapse()"
>
<span aria-hidden="true"></span>
</button>
</div>
</div>
<div
#outputLog
class="terminal-dock-log"
class="terminal-dock-session"
[id]="logId"
role="log"
aria-live="polite"
aria-atomic="false"
[attr.aria-label]="copy().outputLabel"
(scroll)="onSessionScroll()"
>
@for (line of log(); track line.id) {
<p [class.echo]="line.kind === 'echo'">{{ line.text }}</p>
}
<form class="terminal-dock-form" (submit)="onSubmit($event)">
<label class="terminal-dock-prompt" [attr.for]="inputId">
<span aria-hidden="true">{{ copy().prompt }}</span>
<span class="visually-hidden">{{ copy().inputLabel }}</span>
</label>
<input
#commandInput
[id]="inputId"
type="text"
autocomplete="off"
autocapitalize="off"
spellcheck="false"
[attr.placeholder]="copy().inputPlaceholder"
[value]="query()"
(input)="onQueryInput($event)"
(keydown)="onInputKeydown($event)"
/>
</form>
</div>
<form class="terminal-dock-form" (submit)="onSubmit($event)">
<label class="terminal-dock-prompt" [attr.for]="inputId">
<span aria-hidden="true">{{ copy().prompt }}</span>
<span class="visually-hidden">{{ copy().inputLabel }}</span>
</label>
<input
#commandInput
[id]="inputId"
type="text"
autocomplete="off"
autocapitalize="off"
spellcheck="false"
[attr.placeholder]="copy().inputPlaceholder"
[value]="query()"
(input)="onQueryInput($event)"
(keydown)="onInputKeydown($event)"
/>
</form>
</section>
}
</div>