diff --git a/e2e/terminal.e2e.ts b/e2e/terminal.e2e.ts index b27a68f..00e6903 100644 --- a/e2e/terminal.e2e.ts +++ b/e2e/terminal.e2e.ts @@ -64,4 +64,25 @@ test.describe('terminal dock', () => { await input.press('Tab'); await expect(input).toHaveValue('navigate'); }); + + test('Escape from a panel control collapses the dock and returns focus to the trigger', async ({ + page, + }) => { + const copy = SIGNATURE_COPY.de.terminal; + await page.goto('/'); + + const trigger = page.locator('.terminal-dock-trigger'); + const panel = page.locator('.terminal-dock-panel'); + + await trigger.click(); + await expect(panel).toBeVisible(); + + const collapse = page.getByRole('button', { name: copy.collapseLabel }); + await collapse.focus(); + await expect(collapse).toBeFocused(); + + await page.keyboard.press('Escape'); + await expect(panel).toHaveCount(0); + await expect(trigger).toBeFocused(); + }); }); diff --git a/src/app/core/content/signature-copy.ts b/src/app/core/content/signature-copy.ts index c0a6129..910f5d5 100644 --- a/src/app/core/content/signature-copy.ts +++ b/src/app/core/content/signature-copy.ts @@ -11,11 +11,9 @@ export interface SignatureCopy { readonly inputLabel: string; readonly inputPlaceholder: string; readonly collapseLabel: string; - readonly expandLabel: string; readonly restoreLabel: string; readonly maximizeLabel: string; readonly outputLabel: string; - readonly emptySuggestions: string; readonly unknownCommand: string; readonly unknownTarget: string; readonly validTargetsLabel: string; @@ -61,11 +59,9 @@ export const SIGNATURE_COPY: Record = { inputLabel: 'Befehl', inputPlaceholder: 'Befehl eingeben', collapseLabel: 'Terminal einklappen', - expandLabel: 'Terminal öffnen', restoreLabel: 'Terminal verkleinern', maximizeLabel: 'Terminal vergrößern', outputLabel: 'Ausgabe', - emptySuggestions: 'Keine passenden Befehle.', unknownCommand: 'Unbekannter Befehl: {command}', unknownTarget: 'Unbekanntes Ziel: {target}', validTargetsLabel: 'Gültige Ziele:', @@ -117,11 +113,9 @@ export const SIGNATURE_COPY: Record = { inputLabel: 'Command', inputPlaceholder: 'Type a command', collapseLabel: 'Collapse the terminal', - expandLabel: 'Open the terminal', restoreLabel: 'Restore the terminal', maximizeLabel: 'Maximise the terminal', outputLabel: 'Output', - emptySuggestions: 'No matching commands.', unknownCommand: 'Unknown command: {command}', unknownTarget: 'Unknown target: {target}', validTargetsLabel: 'Valid targets:', diff --git a/src/app/shared/terminal/terminal-dock.html b/src/app/shared/terminal/terminal-dock.html index f4e7faf..d73df48 100644 --- a/src/app/shared/terminal/terminal-dock.html +++ b/src/app/shared/terminal/terminal-dock.html @@ -13,7 +13,13 @@ @if (open()) { -
+

{{ copy().panelLabel }}