Files
wiki/tasks/flightradar24/reports/dev-2026-04-25-ui-schedule-fix.md
2026-04-25 01:40:01 +03:00

2.4 KiB
Raw Blame History

UI Schedule Fix — 2026-04-25

Задача

Три правки в UI расписания (schedule.js, schedule.html, main.py).

Правки

1. duration_eff — единицы (main.py, строка 554555)

Проблема: fa_flight_time из FR24 — секунды, duration_min из Яндекса — минуты. Смешивались без конвертации.

Было:

"duration_eff": r.get("fa_flight_time") or r.get("duration_min"),

Стало:

# fa_flight_time — секунды (FR24), duration_min — минуты (Яндекс)
"duration_eff": (lambda fa_ft: (int(fa_ft) // 60 if fa_ft else None) or r.get("duration_min"))(r.get("fa_flight_time")),

2. Колонки фактического времени (schedule.js + schedule.html)

Проблема: Было 2 колонки «Взлёт факт» и «Посадка факт», показывались обе независимо от направления рейса.

Стало: 1 колонка «Фактическое» — для вылетов actual_takeoff, для прилётов actual_landed.

schedule.js (renderTable):

const actTime  = f.direction === "departure" ? f.actual_takeoff : f.actual_landed;
const actDelay = f.direction === "departure" ? f.delay_takeoff_min : f.delay_landed_min;
const actCell  = actTime
  ? `<span class="act-time">${fmtTime(actTime)}</span> ${delayCell(actDelay)}`
  : "—";

schedule.html: Убрана колонка «Посадка факт», «Взлёт факт» → «Фактическое».

Обновлено: все colspan="13"colspan="12" (schedule.js × 3, schedule.html × 1).


3. ВПП по направлению рейса (schedule.js)

Проблема: Показывалось runway_takeoff→runway_landed вне зависимости от типа рейса.

Стало: только один runway по направлению.

renderTable и renderCards:

const runway = f.direction === "departure"
  ? (f.runway_takeoff || "—")
  : (f.runway_landed  || "—");

Деплой

  • Файлы загружены на VM: /home/fr24/projects/fr24/frontend/
  • docker cp в контейнер fr24-api
  • docker restart fr24-api — успешно

Статус

Все три правки применены и задеплоены.