tui: gallery — move-to-folder action with folder picker #138
Labels
No labels
area:agents
area:ai
area:config
area:dashboard
area:design
area:design-review
area:devtools
area:entities
area:gallery
area:generate
area:image
area:infra
area:meta
area:model-browser
area:navigation
area:presets
area:security
area:sessions
area:settings
area:sharing
area:test
area:ux
area:webhook
area:workdir
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/loom#138
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As a user organizing my gallery, I want to move selected items to a folder via a keybind + picker overlay, so that I can categorize without leaving the keyboard.
Background
GalleryItemhas afolder: Stringfield and the storage already filters by folder, but there's no UI to change an item's folder. GTK supports drag-drop folder moves.Acceptance criteria
Picker overlay
OverlayKind::FolderPicker { item_ids: Vec<Uuid> }opens viamfrom grid/list/detailstring_pickercomponent populated fromself.foldersplus a "(root)" entryMove N item(s) to:Storage
pub fn move_to_folder(&self, ids: &[Uuid], folder: &str) -> Result<()>toGalleryStorageLoomEvent::GalleryChangedso the gallery refreshesNew folder
Ctrl+Nfrom the picker opens a small text input overlay to create a folder nameself.foldersand applied as the move targetTests
move_to_folderupdates the rows and round-trips throughlist(&filter)Out of scope
References
crates/loom-tui/src/screens/gallery.rs(folders: Vec<String>)crates/loom-tui/src/components/string_picker.rs(reusable picker)crates/loom-core/src/services/storage.rs