feat(ui): кнопка «Перезапустить» — полный аналог /retry N
Some checks failed
CI / test (push) Failing after 1m14s
CI / build-and-package (amd64, linux) (push) Failing after 59s
CI / build-and-package (amd64, windows) (push) Successful in 30s

This commit is contained in:
ki.sagidullin
2026-08-22 00:19:39 +05:00
parent 23bae9a68f
commit ef812bb3d7
6 changed files with 80 additions and 6 deletions

View File

@@ -150,6 +150,8 @@ func (w *Window) addTab(sess *ui.Session) {
panel.SetCommands(ui.NewCommands(func(text string) {
w.submitText(sess.UserID, sess.Address, text)
}))
// Кнопка «Перезапустить» активна только у вкладки с задачей (/retry N).
panel.SetBoundTask(sess.BoundTask)
content := container.NewBorder(nil, panel.Composer(), nil, nil, panel.Transcript())
tab := container.NewTabItem(sess.Title, content)
@@ -309,6 +311,9 @@ func (w *Window) bindTaskSession(chatID string, taskID int64) {
continue
}
s.BoundTask = taskID
if panel := w.panels[addr]; panel != nil {
panel.SetBoundTask(taskID)
}
if tab := w.tabForAddress(addr); tab != nil {
tab.Text = "Задача #" + ui.Itoa(taskID)
w.tabs.Refresh()