refactor(ui): вынести панель «Детали задачи» (TaskDetailPanel) из монолита окна
Спеца 12.11: интерфейс + Nil + TaskDetailText в internal/ui/task_detail.go, Fyne-реализация в internal/ui/desktop/task_detail_panel.go. selectTask делегирует в панель; диалог и «Состояние» — отдельные панели, не трогаем.
This commit is contained in:
@@ -191,6 +191,19 @@
|
||||
- Обновление — на потоке Fyne; вызывающий уже внутри `fyne.Do`, панель сама
|
||||
виджет не трогает из горутин Hub.
|
||||
|
||||
### 12.11. Контракт виджета «Детали задачи» (TaskDetailPanel)
|
||||
|
||||
Детали выбранной задачи — верх `right`-сплита: заголовок, статус, детали
|
||||
(цель + репозитории).
|
||||
|
||||
- `ShowTask(t)` — рендер из снимка `storage.Task`: заголовок (bold), статус
|
||||
(italic), детали = `TaskDetailText(t)`.
|
||||
- `ShowEmpty()` — сброс к placeholder («—» / пусто) при недоступной задаче.
|
||||
- Строка деталей = pure `TaskDetailText(t)` (цель + репо), тестируется без Fyne.
|
||||
- Обновление — на потоке Fyne; вызывающий уже внутри `fyne.Do`.
|
||||
- Диалог и «Состояние» — отдельные панели (chat_panel, state_panel), здесь
|
||||
не участвуют; окно оркестрирует загрузку всех панелей по выбору задачи.
|
||||
|
||||
---
|
||||
|
||||
## Открытые пункты (TODO)
|
||||
|
||||
Reference in New Issue
Block a user