From 9b2a45568ecbf0250478ee2de88df7bd716e01bb Mon Sep 17 00:00:00 2001 From: ua1zbe Date: Tue, 29 Sep 2026 12:04:50 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20=D0=BE=D1=84=D0=B8=D1=86?= =?UTF-8?q?=D0=B8=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC=20=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=20=D0=BB=D0=B5=D1=82=D0=B0=202026,=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=B1=D1=8B=D1=82=D0=B8=D0=B5=20=D0=B8=20=D1=88?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Данные диспетчерской службы ООО «Гарант-Авто» на 01.05–31.10.2026, источник kandalaksha.org/static/auto.html. Опубликованы четыре списка ОТПОРЯЖЕНИЙ, 13/10/6 рейсов; колонка 2 — это выезд из Зашейка, а не прибытие, из-за чего приложение показывало нелогичные интервалы. Расписание: - убран рейс 08:00/08:50/09:20/09:50, которого нет в источнике; - добавлен рейс 11:30/12:20/12:50/13:20; - в рейсе на Кандалакшу 14:10 → 14:15; - суббота и воскресенье на 5 минут (09:05 → 09:10 и далее по списку); - 14:20, 14:50, 15:10 и 15:50 подтверждены источником и оставлены. Время прибытия в карточках направлений считается, а не берётся из таблицы: Зашеек = отправление + 20 мин, но не дольше интервала до выезда оттуда; Кандалакша = + 50 мин. Карта: - нижняя шторка с ручкой: перетаскивание, тап для сворачивания, автопрокрутка текста, карта перестраивается при изменении размера; - заголовок «Автобус №127» в одну строку на всех экранах, раньше на карте он переносился, а на остальных терял пробел перед №127; - кнопка «‹» на карте возвращает на главный экран; - между прибытием в Зашеек и выездом автобус стоит на остановке; - убраны 40px лишней прокрутки страницы на вкладке карты. --- apk-webview/app/src/main/assets/index.html | 268 ++++++++++++++++----- 1 file changed, 203 insertions(+), 65 deletions(-) diff --git a/apk-webview/app/src/main/assets/index.html b/apk-webview/app/src/main/assets/index.html index e53d201..8571955 100644 --- a/apk-webview/app/src/main/assets/index.html +++ b/apk-webview/app/src/main/assets/index.html @@ -65,7 +65,7 @@ color:var(--txt);border-radius:10px;width:38px;height:38px; font-size:22px;line-height:1;font-family:inherit;cursor:pointer; align-items:center;justify-content:center;padding:0} - body.app .iconbtn,body.about .iconbtn{display:inline-flex} + body.app .iconbtn,body.about .iconbtn,body.map .iconbtn{display:inline-flex} /* на главном экране стрелки нет, но место под неё оставляем, иначе съедет центр */ body.app .iconbtn.back{visibility:hidden} /* троеточие в круглой кнопке приподнято: рамка остаётся на одной линии с названием */ @@ -95,9 +95,12 @@ .aboutcard p.muted{color:var(--muted);font-size:13px} /* экран «Карта»: страница целиком занята картой, шапка остаётся */ - body.map{padding:24px 16px 16px;overflow:hidden} - body.map .wrap{height:100vh;height:100dvh;display:flex;flex-direction:column;max-width:none} + body.map{height:100vh;height:100dvh;min-height:0;padding:24px 16px 16px;overflow:hidden} + body.map .wrap{height:100%;display:flex;flex-direction:column;max-width:none} body.map header{margin-bottom:12px} + /* заголовок всегда в одну строку, в том числе на карте */ + body.map h1{font-size:20px;line-height:1.2;white-space:nowrap} + body.map .clock{font-size:18px;margin-top:6px} body.map .day,body.map .pickers,body.map .where,body.map .dir, body.map .fullbtn,body.map #fullTable,body.map .aboutcard,body.map footer{display:none} body.map #mapBox{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px} @@ -106,8 +109,23 @@ .mapcanvas.loading::after{content:"Загружаю карту…";position:absolute;inset:0; display:flex;align-items:center;justify-content:center; color:var(--muted);font-size:14px} - .mapstatus{flex:0 0 auto;background:var(--card);border:1px solid var(--line); - border-radius:14px;padding:11px 14px} + + /* нижняя шторка: свёрнута до ручки с заголовком, тянется вверх, + а текст внутри прокручивается отдельно от карты */ + .mapsheet{flex:0 0 auto;position:relative;display:flex;flex-direction:column; + background:var(--card);border:1px solid var(--line);border-radius:14px; + overflow:hidden;box-shadow:0 -6px 20px rgba(0,0,0,.35)} + .grab{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px; + padding:14px 14px 8px;cursor:grab;touch-action:none;user-select:none; + border-bottom:1px solid var(--line)} + .grab .bar{position:absolute;top:6px;left:50%;width:34px;height:4px;margin-left:-17px; + border-radius:2px;background:#3a4a70} + .grab .cap{flex:1 1 auto;min-width:0;font-size:12px;font-weight:700;color:var(--muted); + overflow:hidden;text-overflow:ellipsis;white-space:nowrap} + .grab .chev{color:var(--muted);font-size:11px;transition:transform .2s} + .mapsheet.open .grab .chev{transform:rotate(180deg)} + .mapstatus{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch; + overscroll-behavior:contain;padding:11px 14px 14px} .mapstatus .head{font-size:14px;font-weight:700;margin-bottom:4px} .mapstatus .head b{color:var(--accent)} .mapstatus .rows{font-size:13px;color:var(--muted);line-height:1.55} @@ -115,6 +133,11 @@ .mapstatus .rows .when{color:var(--txt);font-variant-numeric:tabular-nums; white-space:nowrap;font-size:12px} .mapstatus .hint{margin-top:7px;font-size:11px;color:var(--muted);line-height:1.4} + .note{margin-top:10px;padding-top:10px;border-top:1px solid var(--line); + font-size:12px;line-height:1.55;color:var(--muted)} + .note p{margin:0 0 8px} + .note p:last-child{margin-bottom:0} + .note b{color:var(--txt)} /* метки на карте. Корень двигает библиотека, вид задаёт внутренний блок */ .pin{transform:translate(-50%,-100%);white-space:nowrap;pointer-events:none} @@ -197,20 +220,44 @@
Кандалакшаотпр.
-
Полярные Зори→ Зашеек
-
Зашеекприбытие
-
Полярные Зори→ Кандалакша
+
Полярные Зориотпр. в Зашеек
+
Зашеекотпр.
+
Полярные Зориотпр. в Канд.
@@ -224,36 +271,47 @@

В меню есть «Карта»: там видно, где сейчас едут автобусы, и как пройден участок между остановками. Положение считается по расписанию — приложение не получает данные с GPS, поэтому это оценка с точностью до нескольких минут.

-

Расписание действует с 30.09.2020. Время московское (МСК).

+

Расписание сверено с официальным: отправления взяты из данных + диспетчерской службы перевозчика, летнее расписание + с 01.05.2026 по 31.10.2026. Время московское (МСК).

Карта и тайлы — VK Карты, геометрия дороги — OpenStreetMap. Пуш-уведомления приходят через RuStore Push — для этого нужен установленный и авторизованный RuStore на устройстве.

- +