fix(report): instant nav jump + scroll-position scrollspy (#958) #2105

Merged
bot-backend merged 1 commit from fix/report-nav-jump-scrollspy into main 2026-06-30 10:45:34 +00:00

1 commit

Author SHA1 Message Date
2a900cf571 fix(report): instant nav jump + scroll-position scrollspy (#958)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m0s
CI / openapi-codegen-check (pull_request) Successful in 1m55s
Скриншот-верификация PR #2104 с интеракциями вскрыла два бага навигации:

- Прыжок не работал: window.scrollTo({behavior:"smooth"}) — no-op на этой
  тяжёлой странице (Leaflet-карты / async §6 / lazy-чарты дают непрерывный
  reflow, отменяющий smooth-анимацию → страница оставалась на месте). Это и
  есть исходная жалоба «навигация не прыгает» (оригинал тоже был smooth).
  → behavior:"auto" (instant): надёжно, читается как настоящий прыжок.

- Scrollspy не трекал: узкая IntersectionObserver-полоса (-72px/-60%) пуста для
  нижней/высокой секции → if(next) держал старое значение (на §7 активной
  оставалась «1. Информация»). → scroll-position подход (rAF-throttled): активна
  последняя секция, чья верхушка прошла offset-линию; на низу страницы форсим
  последнюю секцию. Детерминированно, никогда не «пусто».
2026-06-30 15:42:28 +05:00