From 981ee050cabcae92b2dd4a5675e02800b47795dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=D1=81=20=D0=A1=D1=83=D0=BB=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Wed, 9 Sep 2026 08:24:03 +0300 Subject: [PATCH] =?UTF-8?q?docs(log):=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=B4?= =?UTF-8?q?=D0=B2=D0=BE=D0=B9=D0=BD=D0=BE=D0=B3=D0=BE=20Sidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IMPLEMENTATION_LOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/IMPLEMENTATION_LOG.md b/IMPLEMENTATION_LOG.md index a84e86e..134d726 100644 --- a/IMPLEMENTATION_LOG.md +++ b/IMPLEMENTATION_LOG.md @@ -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 рендерили свой `` (раньше он и был хромом этих страниц, Layout использовался только для loading/error), а AppShell добавил свой поверх. +- Что изменено: из `TaskView.tsx` и `TaskDetail.tsx` убрана обёртка `` из основного return (заменена на фрагмент), удалён неиспользуемый импорт. Контент (`flex flex-col h-full overflow-hidden`) корректно ложится в `
` от AppShell. +- Как проверялось: `npm run check`, `npm run build`, `npx vitest run` (129/129) — зелёные. +- Подводные камни: Chat.tsx и ShareTarget.tsx тоже рендерят свой Sidebar — но они вне SHELL_ROUTE_PATTERNS, дублирования нет, не трогали. Правило: страницы внутри shell НЕ должны рендерить `` сами.