О платформе Войти
← К списку версий
v0.19.3 03.08.2026 PATCH
Исправление «слетевшего» дизайна на страницах первого уровня
Причина: конфликт CSS-специфичности у kebab-кнопок (Задание 62)
  • Симптом: на страницах первого уровня вложенности (`/dashboard`, `/admin`) «слетал» дизайн карточек: кнопка-«кебаб» (⋮) оказывалась в левом верхнем углу карточки как квадратная кнопка 36×36 с рамкой и заливкой, сдвигая контент вниз. На страницах 2–3-й глубины (`/admin/settings`, `/admin/projects`, ...) визуально всё было в порядке.
  • Гипотеза о кривых путях опровергнута: все `<link>`/`<script>`-ассеты абсолютные (`https://my.ipd.test/build/assets/...`), одинаковые на всех страницах, независимо от глубины URL. Относительных `src`/`href`/`action`/`url()` в HTML и CSS нет.
  • Настоящая причина — специфичность селекторов: для kebab-меню в шапке (`#kebabWrap`) в `resources/css/app.css` были общие правила `body.app-layout .kebab-wrap { position: relative }` и `body.app-layout .kebab-btn { width: 36px; ... border: 1px solid ... }` (специфичность 0,2,1). Эти же классы использовали карточки проектов на `/dashboard` и `/admin` со своими инлайн-стилями `.kebab-wrap { position: absolute; top: 12px; right: 12px }` и `.kebab-btn { background: none; border: none }` (специфичность 0,1,0). Правила из `app.css` выигрывали по специфичности и «ломали» карточный кебаб.
  • Исправление: стили topbar-кебаба в `resources/css/app.css` заскоуплены на `#kebabWrap` (`body.app-layout #kebabWrap ...`) — карточный кебаб теперь получает свои инлайн-стили: `position: absolute; top: 12px; right: 12px`, прозрачная кнопка без рамки, меню раскрывается в правом верхнем углу карточки.
  • Проверено в headless Chrome (Playwright): на `/dashboard` и `/admin` `.pr-card .kebab-wrap` имеет `position: absolute`, кнопка прозрачная (30×29px, без рамки), позиция в правом верхнем углу карточки; topbar `#kebabWrap` по-прежнему `position: relative` с кнопкой 36×36; меню открывается по клику; ошибок консоли нет. `/admin/settings` не содержит карточных кебабов — поэтому там дизайн и не «слетал».
  • `APP_VERSION` поднят: `0.19.2` → `0.19.3` (`.env`, `.env.example`, `config/app.php`).
  • Тест `DesignSystemRenderTest::test_version_shows_0_19_2` → `test_version_shows_0_19_3`.