Translate schedule headers and connection badges
- Schedule round-trip page: 'Outbound' / 'Return' section headings now
use SCHEDULE.OUTBOUND / SCHEDULE.RETURN keys ('Туда' / 'Обратно' in
Russian).
- SignalR connection badge: 'Live' / 'Reconnecting…' / 'Offline' now
route through SHARED.CONNECTION-* keys ('Онлайн' / 'Соединение…' /
'Нет связи' in Russian). Applied on both board search and details
pages.
- Bag-belt label on leg stations switched to the existing
DETAILS.BAG_BELT key (SHARED variant doesn't exist).
- Integration tests updated to match the new badge keys under mocked t.
This commit is contained in:
@@ -92,7 +92,7 @@ function LegStation({
|
||||
{gate && <span className="flight-details__gate">{t("SHARED.GATE")} {gate}</span>}
|
||||
{bagBelt && (
|
||||
<span className="flight-details__bag-belt">
|
||||
{t("SHARED.BAG_BELT")} {bagBelt}
|
||||
{t("DETAILS.BAG_BELT")} {bagBelt}
|
||||
</span>
|
||||
)}
|
||||
<div className="flight-details__time-row">
|
||||
@@ -335,13 +335,19 @@ export const OnlineBoardDetailsPage: FC<OnlineBoardDetailsPageProps> = ({
|
||||
{/* Connection status */}
|
||||
<div className="flight-details__status" data-testid="connection-status">
|
||||
{connectionStatus === "live" && (
|
||||
<span className="connection-badge connection-badge--live">Live</span>
|
||||
<span className="connection-badge connection-badge--live">
|
||||
{t("SHARED.CONNECTION-LIVE")}
|
||||
</span>
|
||||
)}
|
||||
{connectionStatus === "reconnecting" && (
|
||||
<span className="connection-badge connection-badge--reconnecting">Reconnecting...</span>
|
||||
<span className="connection-badge connection-badge--reconnecting">
|
||||
{t("SHARED.CONNECTION-RECONNECTING")}
|
||||
</span>
|
||||
)}
|
||||
{connectionStatus === "offline" && (
|
||||
<span className="connection-badge connection-badge--offline">Offline</span>
|
||||
<span className="connection-badge connection-badge--offline">
|
||||
{t("SHARED.CONNECTION-OFFLINE")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -332,13 +332,19 @@ export const OnlineBoardSearchPage: FC<OnlineBoardSearchPageProps> = ({
|
||||
{/* Connection status indicator */}
|
||||
<div className="online-board-search__status" data-testid="connection-status">
|
||||
{connectionStatus === "live" && (
|
||||
<span className="connection-badge connection-badge--live">Live</span>
|
||||
<span className="connection-badge connection-badge--live">
|
||||
{t("SHARED.CONNECTION-LIVE")}
|
||||
</span>
|
||||
)}
|
||||
{connectionStatus === "reconnecting" && (
|
||||
<span className="connection-badge connection-badge--reconnecting">Reconnecting...</span>
|
||||
<span className="connection-badge connection-badge--reconnecting">
|
||||
{t("SHARED.CONNECTION-RECONNECTING")}
|
||||
</span>
|
||||
)}
|
||||
{connectionStatus === "offline" && (
|
||||
<span className="connection-badge connection-badge--offline">Offline</span>
|
||||
<span className="connection-badge connection-badge--offline">
|
||||
{t("SHARED.CONNECTION-OFFLINE")}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -152,14 +152,14 @@ export const ScheduleSearchPage: FC<ScheduleSearchPageProps> = ({ params }) => {
|
||||
|
||||
{/* Outbound flights */}
|
||||
<div className="schedule-search__outbound" data-testid="outbound-results">
|
||||
<h2>Outbound: {outbound.departure} → {outbound.arrival}</h2>
|
||||
<h2>{t("SCHEDULE.OUTBOUND")}: {outbound.departure} → {outbound.arrival}</h2>
|
||||
<FlightList flights={outboundSimple} loading={outboundLoading} />
|
||||
</div>
|
||||
|
||||
{/* Inbound flights (round-trip) */}
|
||||
{inbound && (
|
||||
<div className="schedule-search__inbound" data-testid="inbound-results">
|
||||
<h2>Return: {inbound.departure} → {inbound.arrival}</h2>
|
||||
<h2>{t("SCHEDULE.RETURN")}: {inbound.departure} → {inbound.arrival}</h2>
|
||||
<FlightList flights={inboundSimple} loading={inboundLoading} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "Flugplan",
|
||||
"TITLE": "Flugplan",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Flugplan",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Auf der Seite mit dem Flugplan von Aeroflot finden Sie alle wichtigen Informationen zu den Abflug- und Ankunftszeiten unserer Flüge. <br> Wählen Sie Ihr Reisedatum und planen Sie Ihre Reise im Voraus - egal ob es sich um einen Direktflug oder einen Flug mit Zwischenstopps handelt.</p> <p>Wir bieten preisgünstige Flugtickets und einen bequemen <a target='_blank' href='https://www.aeroflot.ru/de/booking'>Online-Buchungsserviceм</a>.</p> <p>Reisen Sie mit Aeroflot, wo Komfort und Zuverlässigkeit immer an erster Stelle stehen!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Auf der Seite mit dem Flugplan von Aeroflot finden Sie alle wichtigen Informationen zu den Abflug- und Ankunftszeiten unserer Flüge. <br> Wählen Sie Ihr Reisedatum und planen Sie Ihre Reise im Voraus - egal ob es sich um einen Direktflug oder einen Flug mit Zwischenstopps handelt.</p> <p>Wir bieten preisgünstige Flugtickets und einen bequemen <a target='_blank' href='https://www.aeroflot.ru/de/booking'>Online-Buchungsserviceм</a>.</p> <p>Reisen Sie mit Aeroflot, wo Komfort und Zuverlässigkeit immer an erster Stelle stehen!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "Reisezeit",
|
||||
"WEEK": "Woche",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "Bitte beachten Sie:",
|
||||
|
||||
@@ -211,7 +211,9 @@
|
||||
"TITLE-TAB": "Schedule",
|
||||
"TITLE": "Flight schedule",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Flight schedule",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>The Aeroflot flight schedule page provides all the essential information on our flight departure and arrival times. <br> Select your travel date and plan your journey in advance — whether it’s a direct flight or one with stopovers.</p> <p>We offer competitively priced air tickets and a convenient <a target='_blank' href='https://www.aeroflot.ru/en/booking'>online booking service</a>.</p> <p>Travel with Aeroflot, where comfort and reliability are always top-flight!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>The Aeroflot flight schedule page provides all the essential information on our flight departure and arrival times. <br> Select your travel date and plan your journey in advance — whether it’s a direct flight or one with stopovers.</p> <p>We offer competitively priced air tickets and a convenient <a target='_blank' href='https://www.aeroflot.ru/en/booking'>online booking service</a>.</p> <p>Travel with Aeroflot, where comfort and reliability are always top-flight!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -399,7 +401,10 @@
|
||||
"TRAVEL-TIME": "Travel time",
|
||||
"WEEK": "Week",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "Please note:",
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "Programación",
|
||||
"TITLE": "Horario de vuelos",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Horario de vuelos",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>En la página de horarios de vuelos de Aeroflot encontrará toda la información esencial sobre los horarios de salida y llegada de nuestros vuelos. <br>Seleccione la fecha de su viaje y planifíquelo con antelación, tanto si se trata de un vuelo directo como de uno con escalas. </p> <p>Ofrecemos billetes de avión a precios competitivos y un cómodo <a target='_blank' href='https://www.aeroflot.ru/es/booking'>servicio de reservas en línea.</a></p> <p>Viaje con Aeroflot, donde el confort y la fiabilidad son siempre de primera!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>En la página de horarios de vuelos de Aeroflot encontrará toda la información esencial sobre los horarios de salida y llegada de nuestros vuelos. <br>Seleccione la fecha de su viaje y planifíquelo con antelación, tanto si se trata de un vuelo directo como de uno con escalas. </p> <p>Ofrecemos billetes de avión a precios competitivos y un cómodo <a target='_blank' href='https://www.aeroflot.ru/es/booking'>servicio de reservas en línea.</a></p> <p>Viaje con Aeroflot, donde el confort y la fiabilidad son siempre de primera!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "Duración del viaje",
|
||||
"WEEK": "Semana",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "Nota:",
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "Programme",
|
||||
"TITLE": "Horaire des vols",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Расписание рейсов Аэрофлота",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>La page des horaires des vols Aeroflot présente toutes les informations essentielles sur les heures de départ et d’arrivée de nos vols. <br>Sélectionnez votre date de voyage et planifiez votre voyage, qu’il s’agisse d’un vol direct ou d’un vol avec escale </p> <p> Nous proposons des billets d’avion à des prix compétitifs et un <a target='_blank' href='https://www.aeroflot.ru/fr/booking'>service de réservation en ligne</a> très pratique. </p> <p>Voyagez avec Aeroflot, où confort et fiabilité vous accompagnent toujours !</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>La page des horaires des vols Aeroflot présente toutes les informations essentielles sur les heures de départ et d’arrivée de nos vols. <br>Sélectionnez votre date de voyage et planifiez votre voyage, qu’il s’agisse d’un vol direct ou d’un vol avec escale </p> <p> Nous proposons des billets d’avion à des prix compétitifs et un <a target='_blank' href='https://www.aeroflot.ru/fr/booking'>service de réservation en ligne</a> très pratique. </p> <p>Voyagez avec Aeroflot, où confort et fiabilité vous accompagnent toujours !</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "Durée du trajet",
|
||||
"WEEK": "Semaine",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "Remarque:",
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "Orari",
|
||||
"TITLE": "Orario dei voli",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Orario dei voli",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>La pagina degli orari dei voli di Aeroflot fornisce tutte le informazioni essenziali sugli orari di partenza e di arrivo dei nostri voli. <br>Seleziona la data e pianifica il tuo viaggio in anticipo, sia che si tratti di un volo diretto che di uno con scalo. </p> <p>Offriamo biglietti aerei a prezzi competitivi e un comodo <a target='_blank' href='https://www.aeroflot.ru/it/booking'>servizio di prenotazione online</a>. </p> <p>Viaggia con Aeroflot, dove il comfort e l'affidabilità sono sempre al top!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>La pagina degli orari dei voli di Aeroflot fornisce tutte le informazioni essenziali sugli orari di partenza e di arrivo dei nostri voli. <br>Seleziona la data e pianifica il tuo viaggio in anticipo, sia che si tratti di un volo diretto che di uno con scalo. </p> <p>Offriamo biglietti aerei a prezzi competitivi e un comodo <a target='_blank' href='https://www.aeroflot.ru/it/booking'>servizio di prenotazione online</a>. </p> <p>Viaggia con Aeroflot, dove il comfort e l'affidabilità sono sempre al top!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "Durata del viaggio",
|
||||
"WEEK": "Settimana",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "Attenzione:",
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "スケジュール ",
|
||||
"TITLE": "フライトスケジュール",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "フライトスケジュール",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>Aeroflot・ロシア航空のフライトスケジュールページでは、アエロフロート・ロシア航空の出発・到着時刻に関する情報を提供しています<br>ご旅行の日程を選択し、直行便でも途中降機でも、事前にご旅行の計画を立てましょう。</p> <p>当社は競争力のある価格の航空券と便利な<a target='_blank' href='https://www.aeroflot.ru/ja/booking'>オンライン予約サービスを</a>提供しています。</p> <p>Aeroflotの快適さと信頼性は、常にトップクラスです!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>Aeroflot・ロシア航空のフライトスケジュールページでは、アエロフロート・ロシア航空の出発・到着時刻に関する情報を提供しています<br>ご旅行の日程を選択し、直行便でも途中降機でも、事前にご旅行の計画を立てましょう。</p> <p>当社は競争力のある価格の航空券と便利な<a target='_blank' href='https://www.aeroflot.ru/ja/booking'>オンライン予約サービスを</a>提供しています。</p> <p>Aeroflotの快適さと信頼性は、常にトップクラスです!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "移動時間",
|
||||
"WEEK": "週",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "ご注意:",
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "스케줄",
|
||||
"TITLE": "항공편 일정",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "항공편 일정",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Aeroflot 항공편 스케줄 페이지에서 항공편 출발 및 도착 시간에 대한 모든 필수 정보를 확인할 수 있습니다. <br> 여행 날짜를 선택하고 직항이든 경유지가 있는 항공편이든 미리 여행 계획을 세우세요.</p> <p>경쟁력 있는 가격의 항공권과 편리한 <a target='_blank' href='https://www.aeroflot.ru/ko/booking'>온라인 예약 서비스를</a> 제공합니다.</p> <p>항상 편안함과 신뢰성을 최우선으로 하는 Aeroflot와 함께 여행하세요!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Aeroflot 항공편 스케줄 페이지에서 항공편 출발 및 도착 시간에 대한 모든 필수 정보를 확인할 수 있습니다. <br> 여행 날짜를 선택하고 직항이든 경유지가 있는 항공편이든 미리 여행 계획을 세우세요.</p> <p>경쟁력 있는 가격의 항공권과 편리한 <a target='_blank' href='https://www.aeroflot.ru/ko/booking'>온라인 예약 서비스를</a> 제공합니다.</p> <p>항상 편안함과 신뢰성을 최우선으로 하는 Aeroflot와 함께 여행하세요!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "여행 시간",
|
||||
"WEEK": "주",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "참고:",
|
||||
|
||||
@@ -211,7 +211,9 @@
|
||||
"TITLE": "Расписание рейсов",
|
||||
"TITLE-TAB": "Расписание",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "Расписание рейсов Аэрофлота",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>На странице расписания рейсов Аэрофлота представлена вся необходимая информация о времени отправления и прибытия наших рейсов. <br> Выбирайте дату и планируйте свое путешествие заранее: прямым рейсом или с пересадками.</p> <p>Мы предлагаем билеты на самолет по конкурентным ценам с удобным <a target='_blank' href='https://www.aeroflot.ru/ru/booking'>онлайн-сервисом</a> для оформления заказа.</p> <p>Путешествуйте с Аэрофлотом, где комфорт и надежность всегда на высоте!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p>На странице расписания рейсов Аэрофлота представлена вся необходимая информация о времени отправления и прибытия наших рейсов. <br> Выбирайте дату и планируйте свое путешествие заранее: прямым рейсом или с пересадками.</p> <p>Мы предлагаем билеты на самолет по конкурентным ценам с удобным <a target='_blank' href='https://www.aeroflot.ru/ru/booking'>онлайн-сервисом</a> для оформления заказа.</p> <p>Путешествуйте с Аэрофлотом, где комфорт и надежность всегда на высоте!</p>",
|
||||
"OUTBOUND": "Туда",
|
||||
"RETURN": "Обратно"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -399,7 +401,10 @@
|
||||
"TRAVEL-TIME": "В пути",
|
||||
"WEEK": "Неделя",
|
||||
"WEEK_FORMAT-WRONG": "Не соответствует формату ДД.ММ.ГГГГ - ДД.ММ.ГГГГ",
|
||||
"RETRY": "Повторить"
|
||||
"RETRY": "Повторить",
|
||||
"CONNECTION-LIVE": "Онлайн",
|
||||
"CONNECTION-RECONNECTING": "Соединение…",
|
||||
"CONNECTION-OFFLINE": "Нет связи"
|
||||
},
|
||||
"SMOKE": {
|
||||
"HEADING": "Страница проверки"
|
||||
|
||||
@@ -185,7 +185,9 @@
|
||||
"TITLE-TAB": "计划",
|
||||
"TITLE": "航班时刻表",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION": "航班时刻表",
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Aeroflot航班时刻表页面提供我们航班起飞和到达时间的所有基本信息。<br> 选择您的旅行日期,提前计划您的行程--无论是直飞航班还是中途停留的航班</p> <p>我们提供价格极具竞争力的机票和便捷的<a target='_blank' href='https://www.aeroflot.ru/zh/booking'>在线预订服务。</a></p> <p>乘坐俄罗斯国际航空公司的航班,舒适性和可靠性始终是一流的!</p>"
|
||||
"SCHEDULE-BOTTOM-DESCRIPTION-TEXT": "<p> Aeroflot航班时刻表页面提供我们航班起飞和到达时间的所有基本信息。<br> 选择您的旅行日期,提前计划您的行程--无论是直飞航班还是中途停留的航班</p> <p>我们提供价格极具竞争力的机票和便捷的<a target='_blank' href='https://www.aeroflot.ru/zh/booking'>在线预订服务。</a></p> <p>乘坐俄罗斯国际航空公司的航班,舒适性和可靠性始终是一流的!</p>",
|
||||
"OUTBOUND": "Outbound",
|
||||
"RETURN": "Return"
|
||||
},
|
||||
"SEO": {
|
||||
"BOARD": {
|
||||
@@ -372,7 +374,10 @@
|
||||
"TRAVEL-TIME": "旅行时间",
|
||||
"WEEK": "周",
|
||||
"WEEK_FORMAT-WRONG": "",
|
||||
"RETRY": "Retry"
|
||||
"RETRY": "Retry",
|
||||
"CONNECTION-LIVE": "Live",
|
||||
"CONNECTION-RECONNECTING": "Reconnecting…",
|
||||
"CONNECTION-OFFLINE": "Offline"
|
||||
},
|
||||
"WARNING": {
|
||||
"IFLY_HIGHLIGHT": "请注意:",
|
||||
|
||||
@@ -187,7 +187,7 @@ describe("Flight search page integration", () => {
|
||||
mockUseCalendarDays.mockReturnValue({ days: [], loading: false });
|
||||
|
||||
render(<OnlineBoardSearchPage params={DEPARTURE_PARAMS} />);
|
||||
expect(screen.getByText("Live")).toBeTruthy();
|
||||
expect(screen.getByText("SHARED.CONNECTION-LIVE")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("renders offline badge when SignalR disconnects", () => {
|
||||
@@ -206,7 +206,7 @@ describe("Flight search page integration", () => {
|
||||
mockUseCalendarDays.mockReturnValue({ days: [], loading: false });
|
||||
|
||||
render(<OnlineBoardSearchPage params={DEPARTURE_PARAMS} />);
|
||||
expect(screen.getByText("Offline")).toBeTruthy();
|
||||
expect(screen.getByText("SHARED.CONNECTION-OFFLINE")).toBeTruthy();
|
||||
});
|
||||
|
||||
it("passes correct search params for departure type", () => {
|
||||
|
||||
Reference in New Issue
Block a user