Кнопки дней влияют только на полное расписание
Карточки ближайших рейсов больше не зависят от выбора дня в полном расписании: они всегда показывают рейсы на текущий день недели по московскому времени. Кнопки «Будни / Суббота / Воскресенье» переключают только таблицу. День недели для карточек вычисляется заново при каждой отрисовке, так что после полуночи приложение само переходит на расписание нового дня, не сбрасывая выбор в таблице. В шапке приложения убрана надпись «Мурманская область» вместе с её стилем .route, который больше не используется. Заголовок «Автобус №127» теперь начинает шапку. В MainActivity добавлен флаг FLAG_KEEP_SCREEN_ON: экран телефона не гаснет, пока открыто приложение с расписанием — не нужно касаться экрана, чтобы посмотреть время отправления. Также в этом же релизе: кнопки дней в полном расписании, убрана надпись «Мурманская область», экран не гаснет. versionCode поднят с 8 до 9, чтобы обновление поверх уже установленной сборки 2.6 ставилось поверх неё.
This commit is contained in:
@@ -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 = `Сегодня <b>${DAYS[dow]}</b>`;
|
||||
}
|
||||
|
||||
// Подсветка выбранного типа дня и перерисовка расписания
|
||||
// Подсветка выбранного типа дня. Таблица полного расписания перерисовывается,
|
||||
// карточки ближайших рейсов не трогаем — они всегда на сегодня.
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user