baldav/docs/session-logs/2026-09-07_rec-statusbar-backdrop.md
4aiman 5b345a1df4 rec screen: status-bar backdrop so the system bar stays visible over the map
The recording map is edge-to-edge and drew behind the system status bar,
leaving its icons unreadable over the tiles (the map controls were already
offset by --safe-area-top, so the design intended a visible bar). Paint a
solid strip the height of the top inset behind the bar — like the header on
every other screen. Disabled in the rotated landscape modes.
2026-09-07 17:15:19 +03:00

2.1 KiB
Raw Blame History

Сессия 2026-09-07: статус-бар на экране записи

Проблема

При включённом трекинге не видно системный статус-бар. Пользователь: перекрывают его только карты, остальное приложение ведёт себя нормально. Просьба — сделать бар видимым (не рисовать свой индикатор батареи).

Причина

Карта на экране записи (.rec-map-wrap/.rec-map) рисуется edge-to-edge и заходит под системный статус-бар. Контролы карты (компас, зум-кнопки leaflet) уже сдвинуты вниз на --safe-area-top (строки 1155, 1161 styles.css) — то есть дизайн задумывался с видимым статус-баром, но у самого бара нет подложки: иконки теряются на тайлах карты. На остальных экранах подложку даёт «шапка» (padding-top: calc(... + var(--safe-area-top)); background: var(--surface)).

Решение (только CSS, без сдвига координат карты)

Псевдоэлемент .rec-map-wrap::before — сплошная полоса высотой var(--safe-area-top) цвета var(--surface), z-index:1100, pointer-events:none. Даёт статус-бару подложку как «шапка». Контролы карты уже начинаются ниже полосы, наложения нет. В ландшафте (rot-90/270) полоса отключена (display:none) — там карта повёрнута и инсет физически в другом месте.

--safe-area-top ставится из нативных инсетов (main.js:189, get_safe_insets), на устройстве ненулевой.

Файлы

  • frontend/css/styles.css — .rec-map-wrap::before + отключение в rot-90/270.