feat(tui): make session title interactive

This commit is contained in:
Xubin Ren
2026-08-17 20:56:10 +08:00
parent 3fdf7ae64a
commit cf82b89307
3 changed files with 104 additions and 4 deletions
+7 -2
View File
@@ -26,8 +26,12 @@ export class SessionMenu {
readonly root: BoxRenderable
private readonly picker: PickerMenu<SessionMenuRow>
constructor(renderer: CliRenderer, theme: PickerMenuTheme) {
this.picker = new PickerMenu(renderer, theme, {
constructor(
renderer: CliRenderer,
theme: PickerMenuTheme,
onSelect?: (session: SessionSummary) => void,
) {
this.picker = new PickerMenu<SessionMenuRow>(renderer, theme, {
id: "nanobot-tui-session-menu",
searchText: (session) => [
sessionLabel(session),
@@ -49,6 +53,7 @@ export class SessionMenu {
return `${marker}${sessionLabel(session)}${detail ? ` ${detail}` : ""}`
},
emptyText: "No matching sessions",
onSelect,
})
this.root = this.picker.root
}