MultitabPane: keepAlive mode and tab strip polish
Adds keepAlive: when true, all entry bodies stay mounted via IndexedStack so switching tabs doesn't tear down their state. Hosts that own PTY-backed sessions or any long-lived widget state opt in; callers that want fresh state on each switch use the default single-body mode. Polishes the tab strip itself for production use: - bottom divider so the strip visually anchors to the body below - Column.crossAxisAlignment.stretch so the strip fills the pane width instead of sizing to its content - close button: replace the text × glyph with the CloseIcon painter (clean cross strokes, font-independent) - two-column tab layout — Expanded title on the left, fixed 16x16 close button on the right; uniform 12px left padding, 6px right padding to match the 6px top/bottom breathing room around the close button Two new widget tests cover keepAlive (state preserved across switches) and default mode (inactive bodies disposed). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+20
-11
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"exported_at": "2026-05-06T12:17:16Z",
|
||||
"exported_at": "2026-05-06T13:20:57Z",
|
||||
"decisions": [
|
||||
{
|
||||
"id": "D-1",
|
||||
@@ -2073,11 +2073,11 @@
|
||||
"type": "task",
|
||||
"parent_id": "T-3",
|
||||
"title": "secondary Claude pane UI wiring",
|
||||
"status": "ready",
|
||||
"status": "in_progress",
|
||||
"priority": "medium",
|
||||
"decision_ref": "D-41",
|
||||
"created_at": "2026-04-22 14:08:40",
|
||||
"updated_at": "2026-05-03 20:36:31"
|
||||
"updated_at": "2026-05-06 12:20:58"
|
||||
},
|
||||
{
|
||||
"id": "T-25",
|
||||
@@ -2687,18 +2687,13 @@
|
||||
"id": "T-84",
|
||||
"type": "task",
|
||||
"title": "MultitabPane: drag-to-reorder gesture wiring",
|
||||
"status": "in_progress",
|
||||
"status": "done",
|
||||
"priority": "medium",
|
||||
"created_at": "2026-05-06 10:16:02",
|
||||
"updated_at": "2026-05-06 10:17:57"
|
||||
}
|
||||
],
|
||||
"ticket_deps": [
|
||||
{
|
||||
"blocker_id": "T-84",
|
||||
"blocked_id": "T-24"
|
||||
"updated_at": "2026-05-06 12:17:27"
|
||||
}
|
||||
],
|
||||
"ticket_deps": null,
|
||||
"ticket_labels": null,
|
||||
"history": [
|
||||
{
|
||||
@@ -4056,6 +4051,20 @@
|
||||
"old_value": "backlog",
|
||||
"new_value": "in_progress",
|
||||
"changed_at": "2026-05-06 10:17:57"
|
||||
},
|
||||
{
|
||||
"ticket_id": "T-84",
|
||||
"field": "status",
|
||||
"old_value": "in_progress",
|
||||
"new_value": "done",
|
||||
"changed_at": "2026-05-06 12:17:27"
|
||||
},
|
||||
{
|
||||
"ticket_id": "T-24",
|
||||
"field": "status",
|
||||
"old_value": "ready",
|
||||
"new_value": "in_progress",
|
||||
"changed_at": "2026-05-06 12:20:58"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user