docs(log): фикс двойного Sidebar

This commit is contained in:
2026-09-09 08:24:03 +03:00
parent 5af274cd0f
commit 981ee050ca

View File

@@ -551,3 +551,13 @@
- Влияние на поиск/UX: поиск не трогали (инвариант). UX: меньше запросов (нет refetch-пачек и постоянного 10-сек polling чата при живом SSE), нет перезагрузок по клику на уведомление, нет вспышки скина/шрифта, переходы/скелетоны/анимации.
- Подводные камни: (1) пузыри task-чата визуально унифицированы со стилем мессенджера (следствие общего MessageBubble) — семантика сохранена слотами; (2) boot-скрипт зеркалит ключи localStorage 'theme'/'skin'/'pwa-font-size-*' — при их изменении править и index.html; (3) Tailwind v3.4 НЕ поддерживает `not-*` варианты — классы молча не компилируются, проверять собранный CSS; (4) офлайн-очередь/reconciliation чатов не тронуты, но ручной smoke чатов (>100 сообщений, офлайн-отправка, «Загрузить ещё») на проде рекомендован; (5) организационный скин (activeSkinId) применяется после загрузки user — при расхождении с localStorage-скином возможна однократная смена после логина (не вспышка дефолта, приемлемо).
- Осталось за кадром (сознательно): slide-стек переходов на мобильном (решено: fade везде); полная миграция всех ~234 h-7 (сделаны 44 точных дубля); vaul bottom-sheet для диалогов (есть full-screen sheet); серверный /api/badges (не понадобился — polling стал fallback-only).
---
## [UI-эпопея, фикс] Двойной Sidebar на реестре задач и карточке задачи
- Статус: ✅ done (коммит `5af274c`)
- Зачем: регрессия фазы 3 — на `/forms/:id/tasks` и карточке задачи боковая панель дублировалась: TaskView/TaskDetail рендерили свой `<Sidebar>` (раньше он и был хромом этих страниц, Layout использовался только для loading/error), а AppShell добавил свой поверх.
- Что изменено: из `TaskView.tsx` и `TaskDetail.tsx` убрана обёртка `<Sidebar>` из основного return (заменена на фрагмент), удалён неиспользуемый импорт. Контент (`flex flex-col h-full overflow-hidden`) корректно ложится в `<main>` от AppShell.
- Как проверялось: `npm run check`, `npm run build`, `npx vitest run` (129/129) — зелёные.
- Подводные камни: Chat.tsx и ShareTarget.tsx тоже рендерят свой Sidebar — но они вне SHELL_ROUTE_PATTERNS, дублирования нет, не трогали. Правило: страницы внутри shell НЕ должны рендерить `<Sidebar>` сами.