feat(tui): Settings screen — all sections #78

Merged
charles merged 1 commit from tui/settings-39 into main 2026-04-11 20:43:30 +00:00
Owner

Stacks on #77. Closes charles/loom#39.

SettingsScreen with the full nine-section selector (Backends, Paths, Generation Defaults, AI Features, NSFW, Appearance, Sharing, Key Bindings, System Prompts). Two-column layout with a placeholder pane while the settings handle is threaded through AppCtx.

With this PR, screens::build is now exhaustive over ScreenKind and StubScreen is no longer constructed (marked #[allow(dead_code)] for future scaffolding). 103 total tests.

Stacks on #77. Closes charles/loom#39. `SettingsScreen` with the full nine-section selector (Backends, Paths, Generation Defaults, AI Features, NSFW, Appearance, Sharing, Key Bindings, System Prompts). Two-column layout with a placeholder pane while the settings handle is threaded through AppCtx. With this PR, `screens::build` is now exhaustive over `ScreenKind` and `StubScreen` is no longer constructed (marked `#[allow(dead_code)]` for future scaffolding). 103 total tests.
Adds SettingsScreen with a nine-section selector (Backends, Paths,
Generation Defaults, AI Features, NSFW, Appearance, Sharing, Key
Bindings, System Prompts) driven by j/k. Two-column layout: section
list on the left, field pane on the right with a placeholder hint
while the loom-core settings handle is still being threaded through
AppCtx. capturing_key flag flips when the user enters key-binding
capture mode in the Key Bindings section.

This is the last ScreenKind variant that needed a real impl, so
screens::build is now exhaustive over the enum.

Closes charles/loom#39

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
charles changed target branch from tui/presets-38 to main 2026-04-11 20:43:29 +00:00
charles deleted branch tui/settings-39 2026-04-11 20:43:31 +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!78
No description provided.