feat(tui): Gallery screen — folders, favorites, multi-select #68

Merged
charles merged 1 commit from tui/gallery-multiselect-29 into main 2026-04-11 20:42:54 +00:00
Owner

Stacks on #67. Closes charles/loom#29.

  • multi_selection: HashSet<usize>Space toggles, A selects all, Esc clears
  • toggle_favorite() on the focused item (mirrored into GalleryStorage::toggle_favorite by the glue PR)
  • folders: Vec<String> placeholder populated by the glue PR

2 new tests (toggle/clear selection, toggle favorite), 89 total.

Stacks on #67. Closes charles/loom#29. - `multi_selection: HashSet<usize>` — `Space` toggles, `A` selects all, `Esc` clears - `toggle_favorite()` on the focused item (mirrored into `GalleryStorage::toggle_favorite` by the glue PR) - `folders: Vec<String>` placeholder populated by the glue PR 2 new tests (toggle/clear selection, toggle favorite), 89 total.
Extends GalleryScreen with:
- multi_selection: HashSet<usize> — Space toggles, A selects all,
  Esc clears, selection_count() surfaces the count
- toggle_favorite() flips the focused item's favorite flag (mirrored
  into GalleryStorage::toggle_favorite by the glue PR)
- folders: Vec<String> placeholder for the gallery-local folder
  sub-panel — populated by the glue PR from list_folders()

Closes charles/loom#29

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
charles changed target branch from tui/gallery-filter-28 to main 2026-04-11 20:42:47 +00:00
charles deleted branch tui/gallery-multiselect-29 2026-04-11 20:42:54 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/loom!68
No description provided.