ux/ui fixes#9
Conversation
- Keep menu in DOM with opacity control instead of conditional rendering - Add pointer-events control to prevent clicking hidden menu - Simplify animation logic by removing isAnimating state - Add stopPropagation on trigger to prevent immediate close on click
There was a problem hiding this comment.
Code Review
This pull request updates key bindings, localizes UI strings, refactors the Svelte dropdown component to remain in the DOM while hidden, and adjusts tunnel card styling. Feedback highlights a critical bug in the key bindings where ctrl+c is overwritten by esc, redundant cleanup logic and unnecessary event propagation in the dropdown component, and a regression in the dropdown alignment logic that negatively impacts user experience.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Pull request overview
This PR adjusts input handling and UI accessibility by (1) changing TUI quit/back key behavior and related hints, and (2) improving the Svelte dropdown’s closed-state accessibility by keeping it mounted while making it non-interactive/hidden from assistive tech.
Changes:
- Updated TUI key bindings and navigation hint strings (EN/ES).
- Reworked the Svelte
Dropdownto remain in the DOM and useinert+aria-hiddenwhen closed, plus improved outside-click handling. - Tweaked dropdown alignment logic in
TunnelCard.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/app/keyhandlers.go | Handles global key routing for Quit/Back and per-view key handlers (referenced by PR description). |
| internal/app/model_types.go | Updates default key bindings for Back/Quit. |
| internal/i18n/locales/en.yaml | Updates UI hint strings (incl. Logs hint). |
| internal/i18n/locales/es.yaml | Updates UI hint strings (incl. Logs hint). |
| web-svelte/src/lib/components/Dropdown.svelte | Keeps menu mounted; adds inert/aria-hidden; refines outside click + Escape handling. |
| web-svelte/src/lib/components/TunnelCard.svelte | Adjusts dropdown alignment logic and card hover styling. |
| .gitignore | Ignores .pi. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary