From f04bb1843ccf660f75794b50dae6aee45b1f332e Mon Sep 17 00:00:00 2001 From: ua1zbe Date: Mon, 28 Sep 2026 10:46:15 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BD=D0=B5=D0=B9=20=D0=B2=D0=BB=D0=B8=D1=8F=D1=8E=D1=82=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B0=D1=81=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Карточки ближайших рейсов больше не зависят от выбора дня в полном расписании: они всегда показывают рейсы на текущий день недели по московскому времени. Кнопки «Будни / Суббота / Воскресенье» переключают только таблицу. День недели для карточек вычисляется заново при каждой отрисовке, так что после полуночи приложение само переходит на расписание нового дня, не сбрасывая выбор в таблице. В шапке приложения убрана надпись «Мурманская область» вместе с её стилем .route, который больше не используется. Заголовок «Автобус №127» теперь начинает шапку. В MainActivity добавлен флаг FLAG_KEEP_SCREEN_ON: экран телефона не гаснет, пока открыто приложение с расписанием — не нужно касаться экрана, чтобы посмотреть время отправления. Также в этом же релизе: кнопки дней в полном расписании, убрана надпись «Мурманская область», экран не гаснет. versionCode поднят с 8 до 9, чтобы обновление поверх уже установленной сборки 2.6 ставилось поверх неё. --- web/index.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/web/index.html b/web/index.html index fb4028a..d2c2c80 100644 --- a/web/index.html +++ b/web/index.html @@ -255,13 +255,17 @@ let currentStop = "Полярные Зори"; // Date#getDay(): 0 — воскресенье, 6 — суббота function dayKeyFor(dow){ return dow===0 ? "sunday" : dow===6 ? "saturday" : "weekday"; } +// Карточки ближайших рейсов всегда показывают реальный сегодняшний день +function todayKey(){ return dayKeyFor(nowMs().day); } + +// Выбор пользователя — только для полного расписания function sched(){ return SCHEDULES[activeDay]; } function render(){ const now = nowMs(); const curMin = now.hour*60 + now.minute; const dirs = DIRECTIONS[currentStop]; - const data = sched(); + const data = SCHEDULES[todayKey()]; document.getElementById("dirBox").innerHTML = dirs.map(d=>{ const upcoming = data .map((r,ri)=>{ @@ -303,12 +307,12 @@ function renderDay(){ document.getElementById("dayBadge").innerHTML = `Сегодня ${DAYS[dow]}`; } -// Подсветка выбранного типа дня и перерисовка расписания +// Подсветка выбранного типа дня. Таблица полного расписания перерисовывается, +// карточки ближайших рейсов не трогаем — они всегда на сегодня. function selectDay(key){ activeDay = key; document.querySelectorAll("#dayPick button").forEach(b=> b.classList.toggle("active", b.dataset.day === key)); - render(); renderTable(); } @@ -342,9 +346,9 @@ document.getElementById("fullBtn").addEventListener("click",()=>{ b.classList.toggle("open", !open); }); -let activeDay = dayKeyFor(nowMs().day); // по умолчанию — реальный день недели +let activeDay = todayKey(); // по умолчанию — реальный день недели selectDay(activeDay); -tickClock(); renderDay(); +tickClock(); renderDay(); render(); setInterval(tickClock,1000); setInterval(render,30000); setInterval(renderDay,60000);