fix(ui): stabilize file filter focus (#373)

## Summary
- Builds on #353 by @pascalandr, preserving the file tab path-copying
work and related inline file-list fixes.
- Moves the file filter row above the file list header so the list
content appears below the filter.
- Stabilizes the file filter input by using memoized file-list
derivations and a stable `FileList` component, and prevents the prompt
type-to-focus handler from stealing focus from editable event targets.

## Credits
Original feature work by @pascalandr in #353.

## Test Plan
- `npm run typecheck --workspace @codenomad/ui`

---------

Co-authored-by: Pascal André <pascalandr@gmail.com>
This commit is contained in:
Shantur Rathore
2026-04-26 15:31:25 +01:00
committed by GitHub
parent 2a25abce03
commit 2c7b81f812
9 changed files with 206 additions and 65 deletions

View File

@@ -148,6 +148,13 @@ export const instanceMessages = {
"instanceShell.filesShell.viewerTitle": "Просмотр изменений",
"instanceShell.filesShell.viewerPlaceholder": "Подробный рендер изменений будет добавлен на следующем этапе.",
"instanceShell.filesShell.viewerEmpty": "Файл не выбран.",
"instanceShell.filesShell.listEmpty": "В этой папке нет файлов.",
"instanceShell.filesShell.search.placeholder": "Фильтровать файлы в этой папке",
"instanceShell.filesShell.search.ariaLabel": "Фильтровать файлы в этой папке",
"instanceShell.filesShell.search.empty": "Совпадающих файлов нет.",
"instanceShell.filesShell.actions.copyPath": "Скопировать путь",
"instanceShell.filesShell.toast.copyPathSuccess": "Путь скопирован",
"instanceShell.filesShell.toast.copyPathError": "Не удалось скопировать путь",
"instanceShell.plan.noSessionSelected": "Выберите сессию, чтобы просмотреть план.",
"instanceShell.plan.empty": "Пока ничего не запланировано.",