Build the board popover — title widget, rename, styling, git slot
The window-title widget arrives as a leading titlebar accessory — a quiet chevron on board windows only, installed and removed by the window controller's own attach lifecycle — anchoring the one board-level surface as a transient popover (the board window deliberately grows no toolbar item for it). Inside: board rename editing frontmatter title only (the folder is never renamed; an empty commit removes the key and the window title falls back to the folder name), the embedded shared style editor permanently targeting the board, and the labeled Git section that this milestone only reserves — a mode-none explanation and a disabled stub where m7's add-git, branch, remote, and authentication controls land. Cmd-I (File > Board Info) toggles it per window through a focused scene value, kept apart from board-scoped transient state since a titlebar popover belongs to one window, not to the board. Escape reverts a dirty rename field and falls through to dismiss otherwise; a foreign rename resyncs the field only while unfocused. 12 new tests. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -108,8 +108,9 @@ struct KanbanApp: App {
|
||||
@CommandsBuilder
|
||||
private var menuCommands: some Commands {
|
||||
// The File group, in 11-command-nexus.md's own row order: New Card, New Lane, (New Board…,
|
||||
// still owed), Open…. The creation pair validates against the frontmost board through the
|
||||
// focus system, so both are simply absent-of-effect when no board is in front.
|
||||
// still owed), Open…, (Open Recent, still owed), Board Info. The creation pair and Board
|
||||
// Info all validate against the frontmost board through the focus system, so each is simply
|
||||
// absent-of-effect when no board is in front.
|
||||
CommandGroup(after: .newItem) {
|
||||
BoardCreationCommands()
|
||||
|
||||
@@ -119,6 +120,10 @@ struct KanbanApp: App {
|
||||
appModel.presentOpenPanel()
|
||||
}
|
||||
.keyboardShortcut("o", modifiers: .command)
|
||||
|
||||
Divider()
|
||||
|
||||
BoardInfoCommand()
|
||||
}
|
||||
|
||||
// The Board menu (11-command-nexus.md), in its inventoried order — Rename, then Style…,
|
||||
|
||||
Reference in New Issue
Block a user