Files
wiki/memory/2026-05-05.md
2026-05-05 22:00:01 +03:00

2.5 KiB
Raw Blame History

2026-05-05 — Дневник

Enduro Trails — работа над прототипом

Кнопка «Поделиться» → «Скачать GPX»

  • Слава попросил убрать кастомный диалог «Поделиться» (Telegram/WhatsApp)
  • Оставить только скачивание GPX через downloadGPX()
  • Иконка заменена на download-стрелку (стрелка вниз + линия) в том же стиле что и другие кнопки header
  • HTML уже обновлён: onclick="downloadGPX()", иконка download
  • Из app.js удалены функции: shareRoute, closeShareDialog, shareTelegram, shareWhatsApp, shareNative
  • Из app.css удалены стили: .share-dialog, .sd-*, #share-dialog

Drag-and-drop для точек маршрута

  • Слава попросил добавить иконку «перетаскивания» (grip) в каждый wl-item
  • Дев-агент добавил grip SVG (6 кружков) и touch-drag логику
  • Логика вынесена в _initWaypointDragHandles(list) с общими функциями startDrag/moveDrag/endDrag
  • Проблема: на десктопе не работало — дев сделал только touch-события
  • Фикс: добавлены mouse-события (mousedown/mousemove/mouseup) с document-level listeners для корректного завершения drag за пределами списка

Баг: «Добавить точку» не работала в баре маршрутов

  • Причина: addWaypointMode() не устанавливала routeMode = true
  • При закрытом/свайпнутом sheet routeMode мог быть false
  • Клик на карте проверяет if (!routeMode) return — и игнорировал добавление
  • Фикс: в addWaypointMode() добавить routeMode = true перед установкой addingWaypoint = true

Технические заметки

  • Web Share API требует HTTPS — на HTTP молча падает, даже на Android Chrome
  • Кастомные диалоги через DOM работают всегда, но Слава предпочёл простоту (только скачать)
  • Mouse drag: важно вешать mousemove/mouseup на document, а не на list — иначе drag ломается при выходе курсора за пределы элемента