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

65 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` из Яндекса — минуты. Смешивались без конвертации.
**Было:**
```python
"duration_eff": r.get("fa_flight_time") or r.get("duration_min"),
```
**Стало:**
```python
# 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):**
```js
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:**
```js
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` — успешно
## Статус
Все три правки применены и задеплоены.