Files
enduro-trails/docs/work-items/ET-014/01-brd.md
claude-bot e796a6cb03
All checks were successful
CI / lint (push) Successful in 5s
CI / test (push) Successful in 10s
CI / build (push) Successful in 2s
analyst(ET): auto-commit from analyst run_id=87
2026-06-04 11:03:45 +00:00

7.0 KiB
Raw Blame History

BRD — ET-014: Панель «Фильтры» открывается позади панели слоёв (z-index)

Work Item: ET-014 Тип: Bug / UX-fix Фаза: PH-5 Redesign (затрагивает PH-8 / ET-008 — публичные GPS-треки) Приоритет: High (блокирует функциональность фильтров публичных треков) Среды: dev, test (https://openclaw.mva154.duckdns.org/enduro/)


1. Бизнес-контекст

В рамках PH-8 / ET-008 реализованы публичные GPS-треки с фильтрами по активности, источнику и цвету линий. Доступ к фильтрам — через ссылку «Фильтры…» внутри панели слоёв (terrain-popup, кнопка-гора справа).

Сейчас на устройствах в реальной эксплуатации (mobile, viewport ~360414 px, а также desktop) панель «Фильтры публичных треков» (#sheet-gps-filters) открывается позади панели слоёв (#terrain-popup). Пользователь видит только левую кромку sheet'а — основная часть с чекбоксами и сегментными переключателями полностью перекрыта панелью слоёв.

В итоге фильтрами публичных треков пользоваться невозможно, хотя они заявлены как готовая функция.

2. Проблема (как видит пользователь)

  1. Пользователь открывает карту → жмёт кнопку «Рельеф» (иконка горы справа).
  2. Открывается панель слоёв (Подложка / Эндуро / Публичные треки / POI).
  3. Включает чекбокс «Публичные треки» → появляется ссылка «Фильтры…».
  4. Жмёт «Фильтры…» → ожидает увидеть панель фильтров.
  5. Факт: панель фильтров появляется снизу, но скрыта за панелью слоёв. На мобильном видна узкая левая полоска, на desktop — частично видно содержимое слева, основной блок недоступен.
  6. Кликнуть по чекбоксам/кнопкам фильтра нельзя — клики ловит панель слоёв.

Подтверждение: скриншот мобильного браузера в зоне Москвы, zoom 12.

3. Бизнес-цель

Сделать фильтры публичных треков реально доступными для пользователя с обеих сред (мобильной и десктопной), без визуальных артефактов при открытии и закрытии.

4. Бизнес-требования

ID Требование
BR-01 При нажатии «Фильтры…» панель фильтров должна быть полностью видна и интерактивна на mobile и desktop.
BR-02 Панель слоёв (terrain-popup) не должна визуально перекрывать панель фильтров.
BR-03 Закрытие фильтров (кнопкой «✕», свайпом или кликом по backdrop на mobile) возвращает пользователя к карте без артефактов наложения.
BR-04 Поведение остальных bottom-sheets (маршрут, разведка, связка, красивый, GPX) не должно регрессировать.
BR-05 Поведение terrain-popup для остальных кейсов (открытие/закрытие, чекбоксы рельефа, переключатели подложки/единиц) не должно регрессировать.
BR-06 Решение должно одинаково работать в светлой и тёмной теме.

5. Не входит в scope

  • Редизайн панели слоёв или панели фильтров.
  • Изменение состава фильтров или логики gps_tracks.js.
  • Изменение позиционирования terrain-popup относительно кнопки «Рельеф».
  • Добавление новых способов открытия фильтров (например, отдельной кнопки на toolbar).

6. Стейкхолдеры

  • Owner / PM проекта enduro-trails — приёмка.
  • Конечные пользователи (райдеры) — пользуются фильтрами публичных треков с мобильных устройств.

7. Метрики успеха

  • Ручная проверка на mobile (viewport 360414) и desktop (≥1024) — фильтры открываются полностью видимыми и кликабельными.
  • UI e2e тест-кейсы из 04b-ui-test-cases.md проходят на обеих средах.
  • Сценарий «открыть слои → включить публичные треки → открыть фильтры → изменить активность → закрыть» выполняется без визуальных дефектов.

8. Допущения

  • Используется текущая HTML-структура: #terrain-popup (position:fixed, z-index:500) и #sheet-gps-filters (.bottom-sheet, z-index:400), #sheet-backdrop (z-index:390).
  • Открытие фильтров инициируется только из togglePublicTracksFiltersSheet() (gps_tracks.js); других точек входа сейчас нет.

9. Риски

ID Риск Митигация
R1 Изменение z-index может задеть другие оверлеи (marker-dialog z=500, search-panel/ruler-info z=600). В тест-плане отдельно проверить эти оверлеи.
R2 Закрытие terrain-popup при открытии фильтров может удивить пользователя — потеряет состояние «панель слоёв открыта». Допустимо: панель слоёв — точка входа в фильтры, после закрытия фильтров пользователь возвращается к карте, а не к панели слоёв. Решение архитектора.
R3 На desktop sheet-backdrop скрыт (display:none в media-query); если решение опирается на backdrop — нужна проверка desktop отдельно. Тест-кейс на desktop обязателен.