- Introduced `PassengerInfo.tsx` for displaying trip details, including upcoming trips and fare information. - Added `PassengerSettings.tsx` for managing user-defined important places and fare settings. - Implemented validation functions for passenger settings in `passenger-settings.mjs`. - Created utility functions for transliterating stop names in `transliteration.ts`. - Developed weather hint functionality in `weather-hint.ts` to provide precipitation probabilities. - Established a mock server for testing passenger-related features in `passenger-server.mjs`. - Added comprehensive tests for passenger guide logic and transliteration functionality.
3.9 KiB
3.9 KiB
Схема ближайшего рейса и транслит
Проверено 11 октября 2026 года.
Изменения
- Убраны повторные номер, направление и время отправления из карточки схемы. Ближайший рейс остаётся в постоянной нижней панели.
- Карточка и её переключатель называются «Дальше по ближайшему рейсу».
- Убран заголовок «Информация» и занимаемый им отступ. Вкладки компактной компоновки и заголовок уведомлений сохранены.
- Дополнительная строка латиницей появляется над основным названием при включённом
journeyTranslitEnabled. Основное название сохраняется, уже латинские названия не дублируются. Это читаемая транслитерация, без перевода. - Настройка есть локально в «Экраны» и в админке устройств
polotsk-transit-api. Старые настройки без нового поля используютfalse; миграция SQL не нужна.
Проверки
ridebus-board: TypeScript + Vite build; 84 теста пройдены, включая транслитерацию, сохранение настроек и совместимость удалённых конфигураций.polotsk-transit-api: frontend build; 8 тестов сервиса устройств и 1 тест HTTP API пройдены. Новый флаг сохраняется при удалённом обновлении и возвращается в конфигурации устройства. Повреждённые значения отклоняются.- Браузер: 960×540, 879×593, 855×723, 390×844, 1280×800. На узкой и широкой карточке нет вертикального переполнения; латинская строка находится выше основного названия. На широкой компоновке нет пустого места от скрытого общего заголовка.
- Обе темы и оба профиля проверены на 960×540. Включение и отключение флага сохраняются после перезагрузки.
- Тестовые счётчики на переходах 1→2, 2→3, 3→4 с транслитом: в обоих профилях ноль изменений размеров блока названия и ноль записей размера шрифта за 1200 мс. Два заранее подготовленных слоя текста продолжают двигаться через transform/opacity. Это проверка работы DOM, а не измерение FPS на телевизоре.
Ограничения
Локальный API стенда 127.0.0.1:5193 в проверочном браузере возвращал ERR_BLOCKED_BY_CLIENT. Сервер отдельно вернул валидный ответ и полное расписание с HTTP 200; визуальные проверки сделаны на встроенных демонстрационных данных. Xiaomi Mi Box 4 в этом запуске не проверялся.
Примеры
journey-translit-960x540.png: тёмная тема, ТВ-профиль, демонстрационные данные.journey-translit-street-light-960x540.png: светлая тема, уличный профиль, демонстрационные данные.
Для удалённого переключения нужно обновить табло, backend и frontend админки.