feat: add dashboard ui view

This commit is contained in:
2026-07-14 23:38:54 +05:00
parent cbb97a99ce
commit 4bd3aa0cd1
8 changed files with 747 additions and 30 deletions
+53
View File
@@ -0,0 +1,53 @@
# Мелкие замечания / backlog
## Dashboard
[ ] **Сохранение по Ctrl+S**
- В detail (textarea description) — hotkey `Ctrl+S` / `Cmd+S` → тот же flow, что
кнопка Save (`saveDescription`).
[ ] **Форматирование при сохранении (как в VS Code, без force-format)**
**Почему сейчас не работает:** кнопка Save в Dashboard пишет через
`saveTaskDescription``repo.update``fs.writeFile`. Это **не** save
текстового документа в editor. `editor.formatOnSave` / formatters цепляются к
`TextDocument` save (`onWillSaveTextDocument` и т.п.), а не к произвольной
записи на диск. Обычный Ctrl+S в `.md` / `.task.md` идёт через editor → format
применяется. Наша кнопка — другой путь.
**Не делать:** вручную вызывать prettier/`formatDocument` «всегда» — это не
«как в VS Code», а свой форс, игнорит user settings (off / другой formatter).
**Как сделать «как в VS Code» (если захотим паритет):** UI-адаптер save
открывает/берёт `TextDocument` файла задачи, правит body через
`WorkspaceEdit`, затем `document.save()` — тогда сработают format-on-save и
остальные will-save хуки, **только если** они включены у пользователя.
Use-case/repo для headless/тестов можно оставить; editor-save — optional path
из host.
**Пока:** не блокер; format при правке файла в editor уже ок. Ctrl+S в
Dashboard без editor-path format не даст.
[ ] **Кнопка сброса фильтров**
- В toolbar Dashboard: Reset → `filter = {}`, query/chips/groupBy defaults,
`setFilter` + при необходимости сброс groupBy.
[ ] **Фильтр по приоритету**
- Chips как у status: low / medium / high / critical → `filter.priorities` (уже
есть в `TaskFilter` / `filterTasks`).
[ ] **Dashboard: raw MD ↔ view**
- В detail переключатель режимов: **view** (текущий UI: meta + textarea body) и
**raw** (весь файл как markdown + frontmatter, как в editor).
- Редактирование/save в raw — отдельный контракт (parse → task / serialize), не
ломать format-on-save историю: raw-save тоже лучше через editor path, если
нужен паритет с VS Code.
[ ] **Боковая панель** В боковой панели должны быть
- кнопка открытия дешборда
- кнопки для - удаления, редактирования через дешборд