0a5ab058a6
- Angular 12 application with PrimeNG components - 5 existing Cypress e2e test suites - SCSS styling with BEM naming convention - i18n support (10 languages) - Leaflet map integration - Complete component hierarchy and routing structure This baseline will be used for Angular → React migration.
4636 lines
206 KiB
JavaScript
4636 lines
206 KiB
JavaScript
(() => {
|
|
"use strict";
|
|
var __webpack_modules__ = ({
|
|
"./src/app/App.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
App: () => (App)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react_router_dom__rspack_import_9 = __webpack_require__("./node_modules/react-router-dom/dist/index.js");
|
|
/* import */ var _tanstack_react_query__rspack_import_7 = __webpack_require__("./node_modules/@tanstack/query-core/build/modern/queryClient.js");
|
|
/* import */ var _tanstack_react_query__rspack_import_8 = __webpack_require__("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js");
|
|
/* import */ var _shared_services_localization_service__rspack_import_1 = __webpack_require__("./src/shared/services/localization.service.ts");
|
|
/* import */ var _shared_services_analytics_service__rspack_import_2 = __webpack_require__("./src/shared/services/analytics.service.ts");
|
|
/* import */ var _shared_services_app_settings_service__rspack_import_3 = __webpack_require__("./src/shared/services/app-settings.service.ts");
|
|
/* import */ var _routes__rspack_import_4 = __webpack_require__("./src/app/routes.tsx");
|
|
/* import */ var _features_online_board_services_state_service__rspack_import_5 = __webpack_require__("./src/features/online-board/services/state.service.tsx");
|
|
/* import */ var _features_online_board_services_filter_service__rspack_import_6 = __webpack_require__("./src/features/online-board/services/filter.service.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const queryClient = new _tanstack_react_query__rspack_import_7.QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 30000,
|
|
gcTime: 60000
|
|
}
|
|
}
|
|
});
|
|
const localizationService = new _shared_services_localization_service__rspack_import_1.LocalizationService('/');
|
|
const analyticsService = new _shared_services_analytics_service__rspack_import_2.AnalyticsService();
|
|
const appSettingsService = new _shared_services_app_settings_service__rspack_import_3.AppSettingsService();
|
|
// Initialize analytics
|
|
analyticsService.init();
|
|
function App() {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_tanstack_react_query__rspack_import_8.QueryClientProvider, {
|
|
client: queryClient,
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_online_board_services_state_service__rspack_import_5.OnlineBoardStateServiceProvider, {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_online_board_services_filter_service__rspack_import_6.OnlineBoardFilterServiceProvider, {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_9.BrowserRouter, {
|
|
children: _routes__rspack_import_4.routes
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/App.tsx",
|
|
lineNumber: 32,
|
|
columnNumber: 11
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/App.tsx",
|
|
lineNumber: 31,
|
|
columnNumber: 9
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/App.tsx",
|
|
lineNumber: 30,
|
|
columnNumber: 7
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/App.tsx",
|
|
lineNumber: 29,
|
|
columnNumber: 5
|
|
}, this);
|
|
}
|
|
_c = App;
|
|
var _c;
|
|
$RefreshReg$(_c, "App");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/app/main.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var react_dom_client__rspack_import_2 = __webpack_require__("./node_modules/react-dom/client.js");
|
|
/* import */ var _App__rspack_import_3 = __webpack_require__("./src/app/App.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
|
|
react_dom_client__rspack_import_2.createRoot(document.getElementById('root')).render(/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)((react__rspack_import_1_default().StrictMode), {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_App__rspack_import_3.App, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/main.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 5
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/main.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 3
|
|
}, undefined));
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/app/routes.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
routes: () => (routes)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react_router_dom__rspack_import_8 = __webpack_require__("./node_modules/react-router/dist/index.js");
|
|
/* import */ var _features_online_board_pages_search_pages_start_OnlineBoardStartPage__rspack_import_1 = __webpack_require__("./src/features/online-board/pages/search/pages/start/OnlineBoardStartPage.tsx");
|
|
/* import */ var _features_online_board_pages_search_pages_search_OnlineBoardSearchPage__rspack_import_2 = __webpack_require__("./src/features/online-board/pages/search/pages/search/OnlineBoardSearchPage.tsx");
|
|
/* import */ var _features_online_board_pages_flight_details_pages_OnlineBoardDetailsPage__rspack_import_3 = __webpack_require__("./src/features/online-board/pages/flight-details/pages/OnlineBoardDetailsPage.tsx");
|
|
/* import */ var _features_schedule_pages_search_pages_start_ScheduleStartPage__rspack_import_4 = __webpack_require__("./src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx");
|
|
/* import */ var _features_schedule_pages_search_pages_search_ScheduleSearchPage__rspack_import_5 = __webpack_require__("./src/features/schedule/pages/search/pages/search/ScheduleSearchPage.tsx");
|
|
/* import */ var _features_schedule_pages_flight_details_pages_ScheduleDetailsPage__rspack_import_6 = __webpack_require__("./src/features/schedule/pages/flight-details/pages/ScheduleDetailsPage.tsx");
|
|
/* import */ var _features_flights_map_pages_FlightsMapPage__rspack_import_7 = __webpack_require__("./src/features/flights-map/pages/FlightsMapPage.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const routes = /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Routes, {
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/onlineboard",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_online_board_pages_search_pages_start_OnlineBoardStartPage__rspack_import_1.OnlineBoardStartPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 13,
|
|
columnNumber: 41
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 13,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/onlineboard/search",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_online_board_pages_search_pages_search_OnlineBoardSearchPage__rspack_import_2.OnlineBoardSearchPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 14,
|
|
columnNumber: 48
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 14,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/onlineboard/details",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_online_board_pages_flight_details_pages_OnlineBoardDetailsPage__rspack_import_3.OnlineBoardDetailsPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 49
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/schedule",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_pages_search_pages_start_ScheduleStartPage__rspack_import_4.ScheduleStartPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 18,
|
|
columnNumber: 38
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 18,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/schedule/search",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_pages_search_pages_search_ScheduleSearchPage__rspack_import_5.ScheduleSearchPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 19,
|
|
columnNumber: 45
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 19,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/schedule/details",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_pages_flight_details_pages_ScheduleDetailsPage__rspack_import_6.ScheduleDetailsPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 20,
|
|
columnNumber: 46
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 20,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/flights-map",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_flights_map_pages_FlightsMapPage__rspack_import_7.FlightsMapPage, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 23,
|
|
columnNumber: 41
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 23,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "/",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Navigate, {
|
|
to: "/onlineboard",
|
|
replace: true
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 26,
|
|
columnNumber: 30
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 26,
|
|
columnNumber: 5
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Route, {
|
|
path: "*",
|
|
element: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_router_dom__rspack_import_8.Navigate, {
|
|
to: "/onlineboard",
|
|
replace: true
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 27,
|
|
columnNumber: 30
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 27,
|
|
columnNumber: 5
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/app/routes.tsx",
|
|
lineNumber: 11,
|
|
columnNumber: 3
|
|
}, undefined);
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/flights-map/api/flights-map-api.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
FlightsMapApiService: () => (FlightsMapApiService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class FlightsMapApiService {
|
|
async fetch(url, params) {
|
|
const urlParams = new URLSearchParams();
|
|
if (params) {
|
|
Object.entries(params).forEach((param)=>{
|
|
let [key, value] = param;
|
|
if (value !== undefined && value !== null) {
|
|
urlParams.append(key, String(value));
|
|
}
|
|
});
|
|
}
|
|
const fullUrl = urlParams.toString() ? `${url}?${urlParams.toString()}` : url;
|
|
try {
|
|
const response = await fetch(fullUrl);
|
|
if (!response.ok) {
|
|
throw {
|
|
message: `HTTP error! status: ${response.status}`,
|
|
status: response.status
|
|
};
|
|
}
|
|
return await response.json();
|
|
} catch (error) {
|
|
console.error('API fetch error:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
buildUrl(path) {
|
|
return `${this.baseUrl}/${path}`;
|
|
}
|
|
async getFlightsMap(requestParams) {
|
|
const cacheKey = `flights-map:route:${requestParams.departure}:${requestParams.arrival}:${requestParams.dateFrom.toISOString().split('T')[0]}:${requestParams.dateTo.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const dateFrom = this.formatDate(requestParams.dateFrom);
|
|
const dateTo = this.formatDate(this.addDays(requestParams.dateTo, 1));
|
|
this.addDays(requestParams.dateTo, -1);
|
|
const queryStringParams = {
|
|
dateFrom,
|
|
dateTo,
|
|
departure: requestParams.departure || '',
|
|
arrival: requestParams.arrival || ''
|
|
};
|
|
if (requestParams.timeFrom) {
|
|
queryStringParams.timeFrom = requestParams.timeFrom;
|
|
}
|
|
if (requestParams.timeTo) {
|
|
queryStringParams.timeTo = requestParams.timeTo;
|
|
}
|
|
if (requestParams.category) {
|
|
queryStringParams.category = requestParams.category;
|
|
}
|
|
const url = this.buildUrl('flights-map');
|
|
const result = await this.fetch(url, queryStringParams);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightsMapCities() {
|
|
const cacheKey = `flights-map:cities`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const url = this.buildUrl('flights-map/cities');
|
|
const result = await this.fetch(url, {});
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
addDays(date, days) {
|
|
const result = new Date(date);
|
|
result.setDate(result.getDate() + days);
|
|
return result;
|
|
}
|
|
formatDate(date) {
|
|
const year = date.getFullYear();
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
return `${year}-${month}-${day}`;
|
|
}
|
|
constructor(cache){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "baseUrl", '/api/flights/v1.1');
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "cache", void 0);
|
|
this.cache = cache;
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
FlightsMapBody: () => (FlightsMapBody)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var react_leaflet__rspack_import_4 = __webpack_require__("./node_modules/react-leaflet/lib/MapContainer.js");
|
|
/* import */ var react_leaflet__rspack_import_5 = __webpack_require__("./node_modules/react-leaflet/lib/TileLayer.js");
|
|
/* import */ var react_leaflet__rspack_import_6 = __webpack_require__("./node_modules/react-leaflet/lib/Polyline.js");
|
|
/* import */ var react_leaflet__rspack_import_7 = __webpack_require__("./node_modules/react-leaflet/lib/Popup.js");
|
|
/* import */ var react_leaflet__rspack_import_8 = __webpack_require__("./node_modules/react-leaflet/lib/CircleMarker.js");
|
|
/* import */ var leaflet_dist_leaflet_css__rspack_import_2 = __webpack_require__("./node_modules/leaflet/dist/leaflet.css");
|
|
/* import */ var _features_flights_map_services_category_city_service__rspack_import_3 = __webpack_require__("./src/features/flights-map/services/category-city.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
|
|
|
|
const FlightsMapBody = (param)=>{
|
|
let { departure, arrival, dateFrom, dateTo, category } = param;
|
|
_s();
|
|
const [routes, setRoutes] = (0,react__rspack_import_1.useState)([]);
|
|
const [cities, setCities] = (0,react__rspack_import_1.useState)([]);
|
|
const [selectedRoute, setSelectedRoute] = (0,react__rspack_import_1.useState)(null);
|
|
const [loading, setLoading] = (0,react__rspack_import_1.useState)(false);
|
|
const [error, setError] = (0,react__rspack_import_1.useState)(null);
|
|
const categoryCityService = new _features_flights_map_services_category_city_service__rspack_import_3.FlightsMapCategoryCityService();
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
const loadData = async ()=>{
|
|
setLoading(true);
|
|
try {
|
|
const citiesData = await categoryCityService.loadCities();
|
|
setCities(citiesData);
|
|
if (departure && arrival && dateFrom && dateTo) {
|
|
const response = await categoryCityService.loadFlightsMap({
|
|
departure,
|
|
arrival,
|
|
dateFrom,
|
|
dateTo,
|
|
category
|
|
});
|
|
setRoutes(response.data.routes || []);
|
|
}
|
|
} catch (err) {
|
|
setError('Failed to load flights map data');
|
|
console.error('Error loading flights map:', err);
|
|
} finally{
|
|
setLoading(false);
|
|
}
|
|
};
|
|
loadData();
|
|
}, [
|
|
departure,
|
|
arrival,
|
|
dateFrom,
|
|
dateTo,
|
|
category
|
|
]);
|
|
const getCoordinates = (city)=>{
|
|
const coords = {
|
|
'MOW': [
|
|
55.7558,
|
|
37.6173
|
|
],
|
|
'LED': [
|
|
59.8003,
|
|
30.2625
|
|
],
|
|
'SVO': [
|
|
55.9721,
|
|
37.4146
|
|
],
|
|
'DME': [
|
|
55.4087,
|
|
37.9063
|
|
],
|
|
'AMS': [
|
|
52.3676,
|
|
4.9041
|
|
],
|
|
'FRA': [
|
|
50.1109,
|
|
8.6821
|
|
],
|
|
'PAR': [
|
|
48.8566,
|
|
2.3522
|
|
],
|
|
'LON': [
|
|
51.5074,
|
|
-0.1278
|
|
],
|
|
'BER': [
|
|
52.5200,
|
|
13.4050
|
|
],
|
|
'MUC': [
|
|
48.1351,
|
|
11.5820
|
|
],
|
|
'HEL': [
|
|
60.1699,
|
|
24.9384
|
|
],
|
|
'OSL': [
|
|
59.9139,
|
|
10.7522
|
|
],
|
|
'STO': [
|
|
59.3293,
|
|
18.0686
|
|
],
|
|
'CPH': [
|
|
55.6761,
|
|
12.5701
|
|
],
|
|
'WAW': [
|
|
52.2297,
|
|
21.0122
|
|
],
|
|
'PRG': [
|
|
50.0755,
|
|
14.4378
|
|
],
|
|
'BUD': [
|
|
47.4979,
|
|
19.0402
|
|
],
|
|
'ZAG': [
|
|
45.8150,
|
|
15.9819
|
|
],
|
|
'SKG': [
|
|
40.5196,
|
|
22.9709
|
|
],
|
|
'LIS': [
|
|
38.7223,
|
|
-9.1393
|
|
],
|
|
'OPO': [
|
|
41.1584,
|
|
-8.6682
|
|
],
|
|
'BCN': [
|
|
41.3851,
|
|
2.3216
|
|
],
|
|
'MAD': [
|
|
40.4168,
|
|
-3.7038
|
|
],
|
|
'FCO': [
|
|
41.8049,
|
|
12.2408
|
|
],
|
|
'ROM': [
|
|
41.9028,
|
|
12.4964
|
|
],
|
|
'MIL': [
|
|
45.4646,
|
|
9.1895
|
|
],
|
|
'VIE': [
|
|
48.2082,
|
|
16.3728
|
|
],
|
|
'ZRH': [
|
|
47.4646,
|
|
8.5492
|
|
],
|
|
'GEN': [
|
|
44.4061,
|
|
8.9432
|
|
],
|
|
'MRS': [
|
|
43.2965,
|
|
5.3698
|
|
],
|
|
'LHR': [
|
|
51.4700,
|
|
-0.4543
|
|
],
|
|
'BRS': [
|
|
51.4551,
|
|
-2.6450
|
|
],
|
|
'MAN': [
|
|
53.3569,
|
|
-2.2756
|
|
],
|
|
'EDI': [
|
|
55.9533,
|
|
-3.3820
|
|
],
|
|
'GLA': [
|
|
55.8713,
|
|
-4.2663
|
|
]
|
|
};
|
|
return coords[city] || null;
|
|
};
|
|
const getRouteColor = (route)=>{
|
|
if (route.flights.some((f)=>f.status === 'On Time')) {
|
|
return '#4CAF50';
|
|
}
|
|
if (route.flights.some((f)=>f.status === 'Delayed')) {
|
|
return '#FFC107';
|
|
}
|
|
if (route.flights.some((f)=>f.status === 'Cancelled')) {
|
|
return '#F44336';
|
|
}
|
|
return '#2196F3';
|
|
};
|
|
if (loading) {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__loading",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__spinner",
|
|
children: "Loading map..."
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 116,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 115,
|
|
columnNumber: 7
|
|
}, undefined);
|
|
}
|
|
if (error) {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__error",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__error-message",
|
|
children: error
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 124,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
className: "flights-map__retry-button",
|
|
onClick: ()=>window.location.reload(),
|
|
children: "Retry"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 125,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 123,
|
|
columnNumber: 7
|
|
}, undefined);
|
|
}
|
|
const center = [
|
|
55.7558,
|
|
37.6173
|
|
];
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__body",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__map-container",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_4.MapContainer, {
|
|
className: "flights-map__map",
|
|
center: center,
|
|
zoom: 4,
|
|
minZoom: 2,
|
|
maxZoom: 10,
|
|
style: {
|
|
height: '100%',
|
|
width: '100%'
|
|
},
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_5.TileLayer, {
|
|
attribution: '\xa9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
|
|
url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 148,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
routes.map((route, index)=>{
|
|
const departureCity = route.route[0];
|
|
const arrivalCity = route.route[route.route.length - 1];
|
|
const departureCoords = getCoordinates(departureCity);
|
|
const arrivalCoords = getCoordinates(arrivalCity);
|
|
if (departureCoords && arrivalCoords) {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_6.Polyline, {
|
|
positions: [
|
|
departureCoords,
|
|
arrivalCoords
|
|
],
|
|
color: getRouteColor(route),
|
|
weight: 2,
|
|
opacity: 0.7,
|
|
dashArray: "5, 10",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_7.Popup, {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__popup",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h4", {
|
|
children: [
|
|
departureCity,
|
|
" → ",
|
|
arrivalCity
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 170,
|
|
columnNumber: 23
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: [
|
|
"Flights: ",
|
|
route.flights.length
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 171,
|
|
columnNumber: 23
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("ul", {
|
|
children: route.flights.slice(0, 3).map((flight, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("li", {
|
|
children: [
|
|
flight.flightId.carrier,
|
|
flight.flightId.flightNumber,
|
|
' - ',
|
|
flight.departure.time,
|
|
" → ",
|
|
flight.arrival.time
|
|
]
|
|
}, idx, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 174,
|
|
columnNumber: 27
|
|
}, undefined))
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 172,
|
|
columnNumber: 23
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 169,
|
|
columnNumber: 21
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 168,
|
|
columnNumber: 19
|
|
}, undefined)
|
|
}, index, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 160,
|
|
columnNumber: 17
|
|
}, undefined);
|
|
}
|
|
return null;
|
|
}),
|
|
routes.map((route, index)=>{
|
|
const departureCity = route.route[0];
|
|
const departureCoords = getCoordinates(departureCity);
|
|
if (departureCoords) {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_8.CircleMarker, {
|
|
center: departureCoords,
|
|
radius: 6,
|
|
color: getRouteColor(route),
|
|
fillColor: getRouteColor(route),
|
|
fillOpacity: 1,
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_7.Popup, {
|
|
children: departureCity
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 202,
|
|
columnNumber: 19
|
|
}, undefined)
|
|
}, `dep-${index}`, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 194,
|
|
columnNumber: 17
|
|
}, undefined);
|
|
}
|
|
return null;
|
|
}),
|
|
routes.map((route, index)=>{
|
|
const arrivalCity = route.route[route.route.length - 1];
|
|
const arrivalCoords = getCoordinates(arrivalCity);
|
|
if (arrivalCoords) {
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_8.CircleMarker, {
|
|
center: arrivalCoords,
|
|
radius: 6,
|
|
color: getRouteColor(route),
|
|
fillColor: getRouteColor(route),
|
|
fillOpacity: 1,
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(react_leaflet__rspack_import_7.Popup, {
|
|
children: arrivalCity
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 222,
|
|
columnNumber: 19
|
|
}, undefined)
|
|
}, `arr-${index}`, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 214,
|
|
columnNumber: 17
|
|
}, undefined);
|
|
}
|
|
return null;
|
|
})
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 140,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 139,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__sidebar",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__sidebar-header",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Routes"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 232,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 231,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__routes-list",
|
|
children: routes.map((route, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: `flights-map__route-item ${selectedRoute === route ? 'active' : ''}`,
|
|
onClick: ()=>setSelectedRoute(route),
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__route-info",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("span", {
|
|
className: "flights-map__route-cities",
|
|
children: [
|
|
route.route[0],
|
|
" → ",
|
|
route.route[route.route.length - 1]
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 242,
|
|
columnNumber: 17
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("span", {
|
|
className: "flights-map__route-flights",
|
|
children: [
|
|
route.flights.length,
|
|
" flights"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 245,
|
|
columnNumber: 17
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 241,
|
|
columnNumber: 15
|
|
}, undefined)
|
|
}, index, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 236,
|
|
columnNumber: 13
|
|
}, undefined))
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 234,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 230,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx",
|
|
lineNumber: 138,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(FlightsMapBody, "1u20L9h1tg2Nhx5D9+56qSNfJW4=");
|
|
_c = FlightsMapBody;
|
|
var _c;
|
|
$RefreshReg$(_c, "FlightsMapBody");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/flights-map/pages/FlightsMapPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
FlightsMapPage: () => (FlightsMapPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _features_flights_map_components_flights_map_body_FlightsMapBody__rspack_import_2 = __webpack_require__("./src/features/flights-map/components/flights-map-body/FlightsMapBody.tsx");
|
|
/* import */ var _features_flights_map_services_category_city_service__rspack_import_3 = __webpack_require__("./src/features/flights-map/services/category-city.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
|
|
const FlightsMapPage = ()=>{
|
|
_s();
|
|
const [departure, setDeparture] = (0,react__rspack_import_1.useState)('');
|
|
const [arrival, setArrival] = (0,react__rspack_import_1.useState)('');
|
|
const [dateFrom, setDateFrom] = (0,react__rspack_import_1.useState)(new Date());
|
|
const [dateTo, setDateTo] = (0,react__rspack_import_1.useState)(new Date());
|
|
const [timeFrom, setTimeFrom] = (0,react__rspack_import_1.useState)('');
|
|
const [timeTo, setTimeTo] = (0,react__rspack_import_1.useState)('');
|
|
const [category, setCategory] = (0,react__rspack_import_1.useState)('all');
|
|
const [withReturn, setWithReturn] = (0,react__rspack_import_1.useState)(false);
|
|
const [searchResults, setSearchResults] = (0,react__rspack_import_1.useState)(null);
|
|
const [isSearching, setIsSearching] = (0,react__rspack_import_1.useState)(false);
|
|
const categoryCityService = new _features_flights_map_services_category_city_service__rspack_import_3.FlightsMapCategoryCityService();
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
const loadInitialData = async ()=>{
|
|
try {
|
|
const cities = await categoryCityService.loadCities();
|
|
console.log('Loaded cities:', cities);
|
|
} catch (error) {
|
|
console.error('Failed to load initial data:', error);
|
|
}
|
|
};
|
|
loadInitialData();
|
|
}, []);
|
|
const handleSearch = async ()=>{
|
|
setIsSearching(true);
|
|
try {
|
|
const requestParams = {
|
|
departure,
|
|
arrival,
|
|
dateFrom,
|
|
dateTo,
|
|
timeFrom,
|
|
timeTo,
|
|
category
|
|
};
|
|
const response = await categoryCityService.loadFlightsMap(requestParams);
|
|
setSearchResults(response);
|
|
} catch (error) {
|
|
console.error('Search error:', error);
|
|
} finally{
|
|
setIsSearching(false);
|
|
}
|
|
};
|
|
const handleReturnToggle = ()=>{
|
|
setWithReturn(!withReturn);
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__header",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h1", {
|
|
children: "Flights Map"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 61,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: "Visualize your flight routes on the map"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 62,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 60,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__filter",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__stations",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Departure",
|
|
value: departure,
|
|
onChange: (e)=>setDeparture(e.target.value),
|
|
"data-cy": "flights-map-departure-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 67,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Arrival",
|
|
value: arrival,
|
|
onChange: (e)=>setArrival(e.target.value),
|
|
"data-cy": "flights-map-arrival-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 74,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 66,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__dates",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "date",
|
|
value: dateFrom.toISOString().split('T')[0],
|
|
onChange: (e)=>setDateFrom(new Date(e.target.value)),
|
|
"data-cy": "flights-map-date-from-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 84,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "date",
|
|
value: dateTo.toISOString().split('T')[0],
|
|
onChange: (e)=>setDateTo(new Date(e.target.value)),
|
|
"data-cy": "flights-map-date-to-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 90,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 83,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__time-range",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "time",
|
|
value: timeFrom,
|
|
onChange: (e)=>setTimeFrom(e.target.value),
|
|
"data-cy": "flights-map-time-from-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 99,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "time",
|
|
value: timeTo,
|
|
onChange: (e)=>setTimeTo(e.target.value),
|
|
"data-cy": "flights-map-time-to-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 105,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 98,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__actions",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("select", {
|
|
value: category,
|
|
onChange: (e)=>setCategory(e.target.value),
|
|
"data-cy": "flights-map-category-select",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("option", {
|
|
value: "all",
|
|
children: "All Categories"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 119,
|
|
columnNumber: 13
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("option", {
|
|
value: "direct",
|
|
children: "Direct Flights"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 120,
|
|
columnNumber: 13
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("option", {
|
|
value: "connecting",
|
|
children: "Connecting Flights"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 121,
|
|
columnNumber: 13
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 114,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
onClick: handleReturnToggle,
|
|
"data-cy": "flights-map-return-toggle",
|
|
children: withReturn ? 'Return Off' : 'Return On'
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 123,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
onClick: handleSearch,
|
|
disabled: isSearching,
|
|
"data-cy": "flights-map-search-button",
|
|
children: isSearching ? 'Searching...' : 'Search'
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 129,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 113,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 65,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__content",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_flights_map_components_flights_map_body_FlightsMapBody__rspack_import_2.FlightsMapBody, {
|
|
departure: departure,
|
|
arrival: arrival,
|
|
dateFrom: dateFrom,
|
|
dateTo: dateTo,
|
|
category: category
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 140,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 139,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
searchResults && /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__results",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Search Results"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 151,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "flights-map__results-content",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: [
|
|
"Found ",
|
|
searchResults.data.routes.length,
|
|
" routes"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 153,
|
|
columnNumber: 13
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 152,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 150,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/flights-map/pages/FlightsMapPage.tsx",
|
|
lineNumber: 59,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(FlightsMapPage, "k23B0jNf1Q3S98d28WPndkcHnIs=");
|
|
_c = FlightsMapPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "FlightsMapPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/flights-map/services/category-city.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
FlightsMapCategoryCityService: () => (FlightsMapCategoryCityService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_2 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* import */ var _features_flights_map_api_flights_map_api_service__rspack_import_0 = __webpack_require__("./src/features/flights-map/api/flights-map-api.service.ts");
|
|
/* import */ var _shared_services_cache_service__rspack_import_1 = __webpack_require__("./src/shared/services/cache.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
class FlightsMapCategoryCityService {
|
|
async loadCities() {
|
|
const cached = this.cacheService.get('flights-map:cities');
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
try {
|
|
const response = await this.apiService.getFlightsMapCities();
|
|
this.cities = response.data.cities || [];
|
|
return this.cities;
|
|
} catch (error) {
|
|
console.error('Failed to load cities:', error);
|
|
return [];
|
|
}
|
|
}
|
|
async loadFlightsMap(params) {
|
|
try {
|
|
const response = await this.apiService.getFlightsMap({
|
|
departure: params.departure,
|
|
arrival: params.arrival,
|
|
dateFrom: params.dateFrom,
|
|
dateTo: params.dateTo,
|
|
timeFrom: params.timeFrom,
|
|
timeTo: params.timeTo,
|
|
category: params.category
|
|
});
|
|
return response;
|
|
} catch (error) {
|
|
console.error('Failed to load flights map:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
getCategories() {
|
|
return this.categories;
|
|
}
|
|
getCities() {
|
|
return this.cities;
|
|
}
|
|
reset() {
|
|
this.cities = [];
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "apiService", void 0);
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "cacheService", void 0);
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "categories", [
|
|
{
|
|
id: 'all',
|
|
name: 'All Categories'
|
|
},
|
|
{
|
|
id: 'direct',
|
|
name: 'Direct Flights'
|
|
},
|
|
{
|
|
id: 'connecting',
|
|
name: 'Connecting Flights'
|
|
}
|
|
]);
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "cities", []);
|
|
this.apiService = new _features_flights_map_api_flights_map_api_service__rspack_import_0.FlightsMapApiService(new _shared_services_cache_service__rspack_import_1.CacheService());
|
|
this.cacheService = new _shared_services_cache_service__rspack_import_1.CacheService();
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/api/api.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardApiService: () => (OnlineBoardApiService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class OnlineBoardApiService {
|
|
async fetch(url, params) {
|
|
const urlParams = new URLSearchParams();
|
|
if (params) {
|
|
Object.entries(params).forEach((param)=>{
|
|
let [key, value] = param;
|
|
if (value !== undefined && value !== null) {
|
|
urlParams.append(key, String(value));
|
|
}
|
|
});
|
|
}
|
|
const fullUrl = urlParams.toString() ? `${url}?${urlParams.toString()}` : url;
|
|
try {
|
|
const response = await fetch(fullUrl);
|
|
if (!response.ok) {
|
|
throw {
|
|
message: `HTTP error! status: ${response.status}`,
|
|
status: response.status
|
|
};
|
|
}
|
|
return await response.json();
|
|
} catch (error) {
|
|
console.error('API fetch error:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
buildUrl(path) {
|
|
return `${this.baseUrl}/${path}`;
|
|
}
|
|
async getFlightsByFlightNumber(requestParams) {
|
|
const cacheKey = `board:flightNumber:${requestParams.carrier}${requestParams.flightNumber}${requestParams.suffix}:${requestParams.date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const params = {
|
|
flightNumber: `${requestParams.carrier}${requestParams.flightNumber}${requestParams.suffix}`,
|
|
date: this.formatDate(requestParams.date)
|
|
};
|
|
const url = this.buildUrl('board');
|
|
const result = await this.fetch(url, params);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightsByRoute(requestParams) {
|
|
const cacheKey = `board:route:${requestParams.departure}:${requestParams.arrival}:${requestParams.date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const date = this.formatDate(requestParams.date);
|
|
const dateTill = this.formatDate(this.addDays(requestParams.date, 1));
|
|
this.addDays(requestParams.date, -1);
|
|
const queryStringParams = {
|
|
dateFrom: date,
|
|
dateTo: dateTill,
|
|
departure: requestParams.departure || '',
|
|
arrival: requestParams.arrival || ''
|
|
};
|
|
if (requestParams.timeFrom) {
|
|
queryStringParams.timeFrom = requestParams.timeFrom;
|
|
}
|
|
if (requestParams.timeTo) {
|
|
queryStringParams.timeTo = requestParams.timeTo;
|
|
}
|
|
const url = this.buildUrl('board');
|
|
const result = await this.fetch(url, queryStringParams);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightDetails(params) {
|
|
const cacheKey = `board:details:${params.carrier}${params.flightNumber}:${params.date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const date = this.formatDate(params.date);
|
|
const flightInfo = `${params.carrier}${params.flightNumber}`;
|
|
const url = this.buildUrl('onlineboard/details');
|
|
const queryStringParams = {
|
|
flights: flightInfo,
|
|
dates: date
|
|
};
|
|
const result = await this.fetch(url, queryStringParams);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightDaysByNumber(date, flightNumber) {
|
|
const cacheKey = `days:flightNumber:${flightNumber}:${date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const formatDate = this.formatDate(date);
|
|
const url = this.buildUrl(`days/${formatDate}/31/flight/SU${flightNumber}/board/`);
|
|
const result = await this.fetch(url, {});
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightDaysByRoute(date, src, dest) {
|
|
const cacheKey = `days:route:${src}:${dest}:${date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const formatDate = this.formatDate(date);
|
|
const param = src ? dest ? `route/${src}-${dest}` : `departure/${src}` : `arrival/${dest}`;
|
|
const url = this.buildUrl(`days/${formatDate}/31/${param}/board/`);
|
|
const result = await this.fetch(url, {});
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
addDays(date, days) {
|
|
const result = new Date(date);
|
|
result.setDate(result.getDate() + days);
|
|
return result;
|
|
}
|
|
formatDate(date) {
|
|
const year = date.getFullYear();
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
return `${year}-${month}-${day}`;
|
|
}
|
|
constructor(cache){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "baseUrl", '/api/flights/v1.1');
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "cache", void 0);
|
|
this.cache = cache;
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/components/filter/OnlineBoardFilter.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardFilter: () => (OnlineBoardFilter)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var _online_board_services_filter_service__rspack_import_1 = __webpack_require__("./src/features/online-board/services/filter.service.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
const OnlineBoardFilter = ()=>{
|
|
_s();
|
|
const { toRoutePage, toFlightNumberPage } = (0,_online_board_services_filter_service__rspack_import_1.useOnlineBoardFilterService)();
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-filter",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Filter"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 8,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-filter__options",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("label", {
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "checkbox",
|
|
defaultChecked: true
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 11,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
"Direct flights only"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 10,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("label", {
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "checkbox",
|
|
defaultChecked: true
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
"With layovers"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 14,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 9,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/filter/OnlineBoardFilter.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(OnlineBoardFilter, "/J5r0Y8md3bqCRF6sOjJpcjR3R4=", false, function() {
|
|
return [
|
|
_online_board_services_filter_service__rspack_import_1.useOnlineBoardFilterService
|
|
];
|
|
});
|
|
_c = OnlineBoardFilter;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardFilter");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/components/flight-details/OnlineBoardDetails.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardDetails: () => (OnlineBoardDetails)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
const OnlineBoardDetails = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-details",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Flight Details"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/flight-details/OnlineBoardDetails.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-details__content",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: "Flight details will be displayed here"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/flight-details/OnlineBoardDetails.tsx",
|
|
lineNumber: 9,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/flight-details/OnlineBoardDetails.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/flight-details/OnlineBoardDetails.tsx",
|
|
lineNumber: 5,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = OnlineBoardDetails;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardDetails");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/components/search/OnlineBoardSearch.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardSearch: () => (OnlineBoardSearch)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _shared_store__rspack_import_2 = __webpack_require__("./src/shared/store/index.ts");
|
|
/* import */ var _online_board_api_api_service__rspack_import_3 = __webpack_require__("./src/features/online-board/api/api.service.ts");
|
|
/* import */ var _online_board_services_filter_service__rspack_import_4 = __webpack_require__("./src/features/online-board/services/filter.service.tsx");
|
|
/* import */ var _online_board_services_state_service__rspack_import_5 = __webpack_require__("./src/features/online-board/services/state.service.tsx");
|
|
/* import */ var _shared_services_cache_service__rspack_import_6 = __webpack_require__("./src/shared/services/cache.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const cacheService = new _shared_services_cache_service__rspack_import_6.CacheService();
|
|
const OnlineBoardSearch = (param)=>{
|
|
let { loading = false, onSearchDateChange } = param;
|
|
_s();
|
|
const { flightNumber, flightNumberDate, departure, arrival, routeDate, timeRange, setFlightNumber, setRoute, setTimeRange, clearRoute, selectedTab } = (0,_shared_store__rspack_import_2.useOnlineBoardStore)();
|
|
const { setSelectedTab } = (0,_online_board_services_state_service__rspack_import_5.useOnlineBoardStateService)();
|
|
const { toRoutePage, toFlightNumberPage } = (0,_online_board_services_filter_service__rspack_import_4.useOnlineBoardFilterService)();
|
|
const [searchDate, setSearchDate] = (0,react__rspack_import_1.useState)(routeDate || new Date());
|
|
const [searchResults, setSearchResults] = (0,react__rspack_import_1.useState)(null);
|
|
const [isSearching, setIsSearching] = (0,react__rspack_import_1.useState)(false);
|
|
const [localTab, setLocalTab] = (0,react__rspack_import_1.useState)(selectedTab);
|
|
const apiService = new _online_board_api_api_service__rspack_import_3.OnlineBoardApiService(cacheService);
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
setSearchDate(routeDate || new Date());
|
|
}, [
|
|
routeDate
|
|
]);
|
|
const handleDateChange = (date)=>{
|
|
setSearchDate(date);
|
|
onSearchDateChange === null || onSearchDateChange === void 0 ? void 0 : onSearchDateChange(date);
|
|
};
|
|
const handleSearch = async ()=>{
|
|
setIsSearching(true);
|
|
try {
|
|
if (localTab === 'route') {
|
|
const response = await apiService.getFlightsByRoute({
|
|
departure,
|
|
arrival,
|
|
date: searchDate,
|
|
timeFrom: timeRange.timeFrom || undefined,
|
|
timeTo: timeRange.timeTo || undefined
|
|
});
|
|
setSearchResults(response);
|
|
} else {
|
|
const response = await apiService.getFlightsByFlightNumber({
|
|
carrier: flightNumber.substring(0, 2),
|
|
flightNumber: flightNumber.substring(2),
|
|
date: flightNumberDate || new Date(),
|
|
suffix: ''
|
|
});
|
|
setSearchResults(response);
|
|
}
|
|
} finally{
|
|
setIsSearching(false);
|
|
}
|
|
};
|
|
const handleTabChange = (tab)=>{
|
|
setLocalTab(tab);
|
|
setSelectedTab(tab);
|
|
if (tab === 'route') {
|
|
clearRoute();
|
|
}
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search__tabs",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
className: `online-board-search__tab ${localTab === 'route' ? 'active' : ''}`,
|
|
onClick: ()=>handleTabChange('route'),
|
|
children: "Route"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 75,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
className: `online-board-search__tab ${localTab === 'flight' ? 'active' : ''}`,
|
|
onClick: ()=>handleTabChange('flight'),
|
|
children: "Flight"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 81,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 74,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search__form",
|
|
children: [
|
|
selectedTab === 'route' ? /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search__route-form",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Departure",
|
|
value: departure,
|
|
onChange: (e)=>setRoute(e.target.value, arrival, searchDate),
|
|
"data-cy": "departure-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 92,
|
|
columnNumber: 13
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Arrival",
|
|
value: arrival,
|
|
onChange: (e)=>setRoute(departure, e.target.value, searchDate),
|
|
"data-cy": "arrival-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 99,
|
|
columnNumber: 13
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 91,
|
|
columnNumber: 11
|
|
}, undefined) : /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search__flight-form",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Flight number",
|
|
value: flightNumber,
|
|
onChange: (e)=>setFlightNumber(e.target.value, flightNumberDate || new Date()),
|
|
"data-cy": "flight-number-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 109,
|
|
columnNumber: 13
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 108,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "date",
|
|
value: searchDate.toISOString().split('T')[0],
|
|
onChange: (e)=>handleDateChange(new Date(e.target.value)),
|
|
"data-cy": "search-date-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 119,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
onClick: handleSearch,
|
|
disabled: isSearching,
|
|
"data-cy": "search-button",
|
|
children: isSearching ? 'Searching...' : 'Search'
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 126,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 89,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
searchResults && /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search__results",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Search Results"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 137,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("ul", {
|
|
children: searchResults.data.routes.map((route, index)=>{
|
|
var _route_route;
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("li", {
|
|
children: ((_route_route = route.route) === null || _route_route === void 0 ? void 0 : _route_route.join(' - ')) || 'Unknown route'
|
|
}, index, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 140,
|
|
columnNumber: 15
|
|
}, undefined);
|
|
})
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 138,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 136,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/components/search/OnlineBoardSearch.tsx",
|
|
lineNumber: 73,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(OnlineBoardSearch, "CTQHCLEwPVXl+9gho0zZbdho7M8=", false, function() {
|
|
return [
|
|
_shared_store__rspack_import_2.useOnlineBoardStore,
|
|
_online_board_services_state_service__rspack_import_5.useOnlineBoardStateService,
|
|
_online_board_services_filter_service__rspack_import_4.useOnlineBoardFilterService
|
|
];
|
|
});
|
|
_c = OnlineBoardSearch;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardSearch");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/pages/flight-details/pages/OnlineBoardDetailsPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardDetailsPage: () => (OnlineBoardDetailsPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var _online_board_components_flight_details_OnlineBoardDetails__rspack_import_1 = __webpack_require__("./src/features/online-board/components/flight-details/OnlineBoardDetails.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
const OnlineBoardDetailsPage = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-details-page",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_online_board_components_flight_details_OnlineBoardDetails__rspack_import_1.OnlineBoardDetails, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/flight-details/pages/OnlineBoardDetailsPage.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/flight-details/pages/OnlineBoardDetailsPage.tsx",
|
|
lineNumber: 5,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = OnlineBoardDetailsPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardDetailsPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/pages/search/pages/search/OnlineBoardSearchPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardSearchPage: () => (OnlineBoardSearchPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var _online_board_components_search_OnlineBoardSearch__rspack_import_1 = __webpack_require__("./src/features/online-board/components/search/OnlineBoardSearch.tsx");
|
|
/* import */ var _online_board_components_filter_OnlineBoardFilter__rspack_import_2 = __webpack_require__("./src/features/online-board/components/filter/OnlineBoardFilter.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
const OnlineBoardSearchPage = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-search-page",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_online_board_components_filter_OnlineBoardFilter__rspack_import_2.OnlineBoardFilter, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/search/OnlineBoardSearchPage.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_online_board_components_search_OnlineBoardSearch__rspack_import_1.OnlineBoardSearch, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/search/OnlineBoardSearchPage.tsx",
|
|
lineNumber: 8,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/search/OnlineBoardSearchPage.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = OnlineBoardSearchPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardSearchPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/pages/search/pages/start/OnlineBoardStartPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardStartPage: () => (OnlineBoardStartPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _shared_services_analytics_service__rspack_import_2 = __webpack_require__("./src/shared/services/analytics.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
const analyticsService = new _shared_services_analytics_service__rspack_import_2.AnalyticsService();
|
|
const OnlineBoardStartPage = ()=>{
|
|
_s();
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
analyticsService.init();
|
|
analyticsService.trackPageView('/onlineboard', 'Online Board');
|
|
}, []);
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "online-board-start-page",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h1", {
|
|
children: "Online Board"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/start/OnlineBoardStartPage.tsx",
|
|
lineNumber: 14,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: "Welcome to Online Board"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/start/OnlineBoardStartPage.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/pages/search/pages/start/OnlineBoardStartPage.tsx",
|
|
lineNumber: 13,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(OnlineBoardStartPage, "OD7bBpZva5O2jO+Puf00hKivP7c=");
|
|
_c = OnlineBoardStartPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardStartPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/services/filter.service.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardFilterService: () => (OnlineBoardFilterService),
|
|
OnlineBoardFilterServiceProvider: () => (OnlineBoardFilterServiceProvider),
|
|
useOnlineBoardFilterService: () => (useOnlineBoardFilterService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_3 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _url_online_board_url_builder_service__rspack_import_2 = __webpack_require__("./src/features/online-board/services/url/online-board-url-builder.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
const OnlineBoardFilterServiceContext = /*#__PURE__*/ (0,react__rspack_import_1.createContext)(undefined);
|
|
class OnlineBoardFilterService {
|
|
toFlightNumberPage(params) {
|
|
const url = this.urlService.getFlightNumberPageUrl(params);
|
|
window.history.pushState({}, '', url);
|
|
}
|
|
toRoutePage(params) {
|
|
if (!params.departure && !params.arrival) return;
|
|
const url = this.urlService.getRoutePageUrl(params);
|
|
window.history.pushState({}, '', url);
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_3._)(this, "urlService", void 0);
|
|
this.urlService = new _url_online_board_url_builder_service__rspack_import_2.OnlineBoardUrlBuilderService();
|
|
}
|
|
}
|
|
const OnlineBoardFilterServiceProvider = (param)=>{
|
|
let { children, service } = param;
|
|
const filterService = service || new OnlineBoardFilterService();
|
|
const contextValue = {
|
|
toFlightNumberPage: filterService.toFlightNumberPage.bind(filterService),
|
|
toRoutePage: filterService.toRoutePage.bind(filterService)
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(OnlineBoardFilterServiceContext.Provider, {
|
|
value: contextValue,
|
|
children: children
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/services/filter.service.tsx",
|
|
lineNumber: 45,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = OnlineBoardFilterServiceProvider;
|
|
const useOnlineBoardFilterService = ()=>{
|
|
_s();
|
|
const context = (0,react__rspack_import_1.useContext)(OnlineBoardFilterServiceContext);
|
|
if (!context) {
|
|
throw new Error('useOnlineBoardFilterService must be used within OnlineBoardFilterServiceProvider');
|
|
}
|
|
return context;
|
|
};
|
|
_s(useOnlineBoardFilterService, "b9L3QQ+jgeyIrH0NfHrJ8nn7VMU=");
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardFilterServiceProvider");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/services/state.service.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardStateService: () => (OnlineBoardStateService),
|
|
OnlineBoardStateServiceProvider: () => (OnlineBoardStateServiceProvider),
|
|
useOnlineBoardStateService: () => (useOnlineBoardStateService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_2 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
const OnlineBoardStateServiceContext = /*#__PURE__*/ (0,react__rspack_import_1.createContext)(undefined);
|
|
class OnlineBoardStateService {
|
|
setSelectedTab(tab) {
|
|
this.selectedTab = tab;
|
|
}
|
|
setFlightNumber(flightNumber, date) {
|
|
this.flightNumber = flightNumber;
|
|
this.flightNumberDate = date;
|
|
}
|
|
setRoute(departure, arrival, date) {
|
|
this.departure = departure;
|
|
this.arrival = arrival;
|
|
this.routeDate = date;
|
|
}
|
|
clearRoute() {
|
|
this.departure = '';
|
|
this.arrival = '';
|
|
this.routeDate = null;
|
|
this.timeRange = {};
|
|
}
|
|
setTimeRange(range) {
|
|
this.timeRange = range;
|
|
}
|
|
reset() {
|
|
this.selectedTab = 'route';
|
|
this.flightNumber = '';
|
|
this.flightNumberDate = null;
|
|
this.departure = '';
|
|
this.arrival = '';
|
|
this.routeDate = null;
|
|
this.timeRange = {};
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "selectedTab", 'route');
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "flightNumber", '');
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "flightNumberDate", null);
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "departure", '');
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "arrival", '');
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "routeDate", null);
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "timeRange", {});
|
|
}
|
|
}
|
|
const OnlineBoardStateServiceProvider = (param)=>{
|
|
let { children, service } = param;
|
|
const stateService = service || new OnlineBoardStateService();
|
|
const contextValue = {
|
|
selectedTab: stateService.selectedTab,
|
|
flightNumber: stateService.flightNumber,
|
|
flightNumberDate: stateService.flightNumberDate,
|
|
departure: stateService.departure,
|
|
arrival: stateService.arrival,
|
|
routeDate: stateService.routeDate,
|
|
timeRange: stateService.timeRange,
|
|
setSelectedTab: stateService.setSelectedTab.bind(stateService),
|
|
setFlightNumber: stateService.setFlightNumber.bind(stateService),
|
|
setRoute: stateService.setRoute.bind(stateService),
|
|
clearRoute: stateService.clearRoute.bind(stateService),
|
|
setTimeRange: stateService.setTimeRange.bind(stateService),
|
|
reset: stateService.reset.bind(stateService)
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(OnlineBoardStateServiceContext.Provider, {
|
|
value: contextValue,
|
|
children: children
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/online-board/services/state.service.tsx",
|
|
lineNumber: 90,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = OnlineBoardStateServiceProvider;
|
|
const useOnlineBoardStateService = ()=>{
|
|
_s();
|
|
const context = (0,react__rspack_import_1.useContext)(OnlineBoardStateServiceContext);
|
|
if (!context) {
|
|
throw new Error('useOnlineBoardStateService must be used within OnlineBoardStateServiceProvider');
|
|
}
|
|
return context;
|
|
};
|
|
_s(useOnlineBoardStateService, "b9L3QQ+jgeyIrH0NfHrJ8nn7VMU=");
|
|
var _c;
|
|
$RefreshReg$(_c, "OnlineBoardStateServiceProvider");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/online-board/services/url/online-board-url-builder.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
OnlineBoardUrlBuilderService: () => (OnlineBoardUrlBuilderService)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
class OnlineBoardUrlBuilderService {
|
|
getFlightNumberPageUrl(params) {
|
|
const { carrier, flightNumber, suffix, date } = params;
|
|
const dateStr = this.formatDate(date);
|
|
return `/onlineboard/details?flightNumber=${carrier}${flightNumber}${suffix || ''}&date=${dateStr}`;
|
|
}
|
|
getRoutePageUrl(params) {
|
|
const { departure, arrival, date, timeFrom, timeTo } = params;
|
|
const dateStr = this.formatDate(date);
|
|
let url = `/onlineboard/search?date=${dateStr}`;
|
|
if (departure) url += `&departure=${departure}`;
|
|
if (arrival) url += `&arrival=${arrival}`;
|
|
if (timeFrom) url += `&timeFrom=${timeFrom}`;
|
|
if (timeTo) url += `&timeTo=${timeTo}`;
|
|
return url;
|
|
}
|
|
formatDate(date) {
|
|
const year = date.getFullYear();
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
return `${year}-${month}-${day}`;
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/api/api.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleApiService: () => (ScheduleApiService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class ScheduleApiService {
|
|
async fetch(url, params) {
|
|
const urlParams = new URLSearchParams();
|
|
if (params) {
|
|
Object.entries(params).forEach((param)=>{
|
|
let [key, value] = param;
|
|
if (value !== undefined && value !== null) {
|
|
urlParams.append(key, String(value));
|
|
}
|
|
});
|
|
}
|
|
const fullUrl = urlParams.toString() ? `${url}?${urlParams.toString()}` : url;
|
|
try {
|
|
const response = await fetch(fullUrl);
|
|
if (!response.ok) {
|
|
throw {
|
|
message: `HTTP error! status: ${response.status}`,
|
|
status: response.status
|
|
};
|
|
}
|
|
return await response.json();
|
|
} catch (error) {
|
|
console.error('API fetch error:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
buildUrl(path) {
|
|
return `${this.baseUrl}/${path}`;
|
|
}
|
|
async getScheduleByRoute(requestParams) {
|
|
const cacheKey = `schedule:route:${requestParams.departure}:${requestParams.arrival}:${requestParams.dateFrom.toISOString().split('T')[0]}:${requestParams.dateTo.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const dateFrom = this.formatDate(requestParams.dateFrom);
|
|
const dateTo = this.formatDate(this.addDays(requestParams.dateTo, 1));
|
|
this.addDays(requestParams.dateTo, -1);
|
|
const queryStringParams = {
|
|
dateFrom,
|
|
dateTo,
|
|
departure: requestParams.departure || '',
|
|
arrival: requestParams.arrival || ''
|
|
};
|
|
if (requestParams.timeFrom) {
|
|
queryStringParams.timeFrom = requestParams.timeFrom;
|
|
}
|
|
if (requestParams.timeTo) {
|
|
queryStringParams.timeTo = requestParams.timeTo;
|
|
}
|
|
if (requestParams.connections !== undefined) {
|
|
queryStringParams.connections = String(requestParams.connections);
|
|
}
|
|
const url = this.buildUrl('schedule');
|
|
const result = await this.fetch(url, queryStringParams);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
async getFlightDetails(params) {
|
|
const cacheKey = `schedule:details:${params.map((p)=>`${p.carrier}${p.flightNumber}`).join(',')}:${params[0].date.toISOString().split('T')[0]}`;
|
|
const cached = this.cache.get(cacheKey);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const date = this.formatDate(params[0].date);
|
|
const flightsInfo = params.map((p)=>`${p.carrier}${p.flightNumber}${p.suffix || ''}`).join('/');
|
|
const url = this.buildUrl('schedule/details');
|
|
const queryStringParams = {
|
|
flights: flightsInfo,
|
|
dates: date,
|
|
departure: params[0].departure || '',
|
|
arrival: params[0].arrival || ''
|
|
};
|
|
const result = await this.fetch(url, queryStringParams);
|
|
this.cache.set(cacheKey, result);
|
|
return result;
|
|
}
|
|
addDays(date, days) {
|
|
const result = new Date(date);
|
|
result.setDate(result.getDate() + days);
|
|
return result;
|
|
}
|
|
formatDate(date) {
|
|
const year = date.getFullYear();
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
return `${year}-${month}-${day}`;
|
|
}
|
|
constructor(cache){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "baseUrl", '/api/flights/v1.1');
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "cache", void 0);
|
|
this.cache = cache;
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleFlightDetails: () => (ScheduleFlightDetails)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
const ScheduleFlightDetails = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-flight-details",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Flight Details"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-flight-details__content",
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: "Flight details will be displayed here"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx",
|
|
lineNumber: 8,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx",
|
|
lineNumber: 5,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = ScheduleFlightDetails;
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleFlightDetails");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/components/search/ScheduleSearchView.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleSearch: () => (ScheduleSearch)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _shared_store__rspack_import_2 = __webpack_require__("./src/shared/store/index.ts");
|
|
/* import */ var _features_schedule_api_api_service__rspack_import_3 = __webpack_require__("./src/features/schedule/api/api.service.ts");
|
|
/* import */ var _features_schedule_services_state_service__rspack_import_4 = __webpack_require__("./src/features/schedule/services/state.service.tsx");
|
|
/* import */ var _shared_services_cache_service__rspack_import_5 = __webpack_require__("./src/shared/services/cache.service.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
|
|
|
|
|
|
const cacheService = new _shared_services_cache_service__rspack_import_5.CacheService();
|
|
const ScheduleSearch = (param)=>{
|
|
let { loading = false, onSearchDateChange } = param;
|
|
_s();
|
|
const { departure, arrival, dateRange, returnDateRange, withReturn, setDeparture, setArrival, setDateRange, toggleReturn, reset } = (0,_shared_store__rspack_import_2.useScheduleStore)();
|
|
const { setSelectedTab } = (0,_features_schedule_services_state_service__rspack_import_4.useScheduleStateService)();
|
|
const [searchDateFrom, setSearchDateFrom] = (0,react__rspack_import_1.useState)(dateRange.dateFrom || new Date());
|
|
const [searchDateTo, setSearchDateTo] = (0,react__rspack_import_1.useState)(dateRange.dateTo || new Date());
|
|
const [searchResults, setSearchResults] = (0,react__rspack_import_1.useState)(null);
|
|
const [isSearching, setIsSearching] = (0,react__rspack_import_1.useState)(false);
|
|
const [localReturn, setLocalReturn] = (0,react__rspack_import_1.useState)(withReturn);
|
|
const apiService = new _features_schedule_api_api_service__rspack_import_3.ScheduleApiService(cacheService);
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
setSearchDateFrom(dateRange.dateFrom || new Date());
|
|
setSearchDateTo(dateRange.dateTo || new Date());
|
|
}, [
|
|
dateRange
|
|
]);
|
|
const handleDateChange = (dateFrom, dateTo)=>{
|
|
setSearchDateFrom(dateFrom);
|
|
setSearchDateTo(dateTo);
|
|
onSearchDateChange === null || onSearchDateChange === void 0 ? void 0 : onSearchDateChange(dateFrom, dateTo);
|
|
};
|
|
const handleSearch = async ()=>{
|
|
setIsSearching(true);
|
|
try {
|
|
const requestParams = {
|
|
departure,
|
|
arrival,
|
|
dateFrom: searchDateFrom,
|
|
dateTo: searchDateTo,
|
|
timeFrom: undefined,
|
|
timeTo: undefined,
|
|
connections: undefined
|
|
};
|
|
const response = await apiService.getScheduleByRoute(requestParams);
|
|
setSearchResults(response);
|
|
} finally{
|
|
setIsSearching(false);
|
|
}
|
|
};
|
|
const handleReturnToggle = ()=>{
|
|
setLocalReturn(!localReturn);
|
|
toggleReturn();
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search__form",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search__stations",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Departure",
|
|
value: departure,
|
|
onChange: (e)=>setDeparture(e.target.value),
|
|
"data-cy": "schedule-departure-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 69,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "text",
|
|
placeholder: "Arrival",
|
|
value: arrival,
|
|
onChange: (e)=>setArrival(e.target.value),
|
|
"data-cy": "schedule-arrival-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 76,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 68,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search__dates",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "date",
|
|
value: searchDateFrom.toISOString().split('T')[0],
|
|
onChange: (e)=>handleDateChange(new Date(e.target.value), searchDateTo),
|
|
"data-cy": "schedule-date-from-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 86,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("input", {
|
|
type: "date",
|
|
value: searchDateTo.toISOString().split('T')[0],
|
|
onChange: (e)=>handleDateChange(searchDateFrom, new Date(e.target.value)),
|
|
"data-cy": "schedule-date-to-input"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 92,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 85,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search__actions",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
onClick: handleReturnToggle,
|
|
"data-cy": "schedule-return-toggle",
|
|
children: localReturn ? 'Return Off' : 'Return On'
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 101,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("button", {
|
|
onClick: handleSearch,
|
|
disabled: isSearching,
|
|
"data-cy": "schedule-search-button",
|
|
children: isSearching ? 'Searching...' : 'Search'
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 107,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 100,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 67,
|
|
columnNumber: 7
|
|
}, undefined),
|
|
searchResults && /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-search__results",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h3", {
|
|
children: "Search Results"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 119,
|
|
columnNumber: 11
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("ul", {
|
|
children: searchResults.map((flight, index)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("li", {
|
|
children: [
|
|
flight.flightId.carrier,
|
|
flight.flightId.flightNumber,
|
|
" - ",
|
|
flight.flightId.departure,
|
|
" to ",
|
|
flight.flightId.arrival
|
|
]
|
|
}, index, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 122,
|
|
columnNumber: 15
|
|
}, undefined))
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 120,
|
|
columnNumber: 11
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 118,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/components/search/ScheduleSearchView.tsx",
|
|
lineNumber: 66,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(ScheduleSearch, "A56rnFI8A3O+ZoIgJL9bd2Yc6H8=", false, function() {
|
|
return [
|
|
_shared_store__rspack_import_2.useScheduleStore,
|
|
_features_schedule_services_state_service__rspack_import_4.useScheduleStateService
|
|
];
|
|
});
|
|
_c = ScheduleSearch;
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleSearch");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/pages/flight-details/pages/ScheduleDetailsPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleDetailsPage: () => (ScheduleDetailsPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var _features_schedule_components_flight_details_ScheduleFlightDetailsView__rspack_import_1 = __webpack_require__("./src/features/schedule/components/flight-details/ScheduleFlightDetailsView.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
const ScheduleDetailsPage = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_components_flight_details_ScheduleFlightDetailsView__rspack_import_1.ScheduleFlightDetails, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/flight-details/pages/ScheduleDetailsPage.tsx",
|
|
lineNumber: 4,
|
|
columnNumber: 10
|
|
}, undefined);
|
|
};
|
|
_c = ScheduleDetailsPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleDetailsPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/pages/search/pages/search/ScheduleSearchPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleSearchPage: () => (ScheduleSearchPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var _features_schedule_components_search_ScheduleSearchView__rspack_import_1 = __webpack_require__("./src/features/schedule/components/search/ScheduleSearchView.tsx");
|
|
/* import */ var _features_schedule_services_state_service__rspack_import_2 = __webpack_require__("./src/features/schedule/services/state.service.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
const ScheduleSearchPage = ()=>{
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_services_state_service__rspack_import_2.ScheduleStateServiceProvider, {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_components_search_ScheduleSearchView__rspack_import_1.ScheduleSearch, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/search/ScheduleSearchPage.tsx",
|
|
lineNumber: 7,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/search/ScheduleSearchPage.tsx",
|
|
lineNumber: 6,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = ScheduleSearchPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleSearchPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleStartPage: () => (ScheduleStartPage)
|
|
});
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* import */ var _shared_services_analytics_service__rspack_import_2 = __webpack_require__("./src/shared/services/analytics.service.ts");
|
|
/* import */ var _features_schedule_components_search_ScheduleSearchView__rspack_import_3 = __webpack_require__("./src/features/schedule/components/search/ScheduleSearchView.tsx");
|
|
/* import */ var _features_schedule_services_state_service__rspack_import_4 = __webpack_require__("./src/features/schedule/services/state.service.tsx");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
|
|
|
|
|
|
const analyticsService = new _shared_services_analytics_service__rspack_import_2.AnalyticsService();
|
|
const ScheduleStartPage = ()=>{
|
|
_s();
|
|
(0,react__rspack_import_1.useEffect)(()=>{
|
|
analyticsService.init();
|
|
analyticsService.trackPageView('/schedule', 'Schedule');
|
|
}, []);
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_services_state_service__rspack_import_4.ScheduleStateServiceProvider, {
|
|
children: /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("div", {
|
|
className: "schedule-start-page",
|
|
children: [
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("h1", {
|
|
children: "Schedule"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx",
|
|
lineNumber: 17,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)("p", {
|
|
children: "Welcome to Schedule"
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx",
|
|
lineNumber: 18,
|
|
columnNumber: 9
|
|
}, undefined),
|
|
/*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(_features_schedule_components_search_ScheduleSearchView__rspack_import_3.ScheduleSearch, {}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx",
|
|
lineNumber: 19,
|
|
columnNumber: 9
|
|
}, undefined)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx",
|
|
lineNumber: 16,
|
|
columnNumber: 7
|
|
}, undefined)
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/pages/search/pages/start/ScheduleStartPage.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_s(ScheduleStartPage, "OD7bBpZva5O2jO+Puf00hKivP7c=");
|
|
_c = ScheduleStartPage;
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleStartPage");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/features/schedule/services/state.service.tsx"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
ScheduleStateService: () => (ScheduleStateService),
|
|
ScheduleStateServiceProvider: () => (ScheduleStateServiceProvider),
|
|
useScheduleStateService: () => (useScheduleStateService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_2 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* import */ var react_jsx_dev_runtime__rspack_import_0 = __webpack_require__("./node_modules/react/jsx-dev-runtime.js");
|
|
/* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
|
|
/* import */ var react__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(react__rspack_import_1);
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
var _s = $RefreshSig$();
|
|
|
|
const ScheduleStateServiceContext = /*#__PURE__*/ (0,react__rspack_import_1.createContext)(undefined);
|
|
class ScheduleStateService {
|
|
setSelectedDate(date) {
|
|
this.selectedDate = date;
|
|
}
|
|
setIsReturnSchedule(isReturn) {
|
|
this.isReturnSchedule = isReturn;
|
|
}
|
|
reset() {
|
|
this.selectedDate = new Date();
|
|
this.isReturnSchedule = false;
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "selectedDate", new Date());
|
|
(0,_swc_helpers_define_property__rspack_import_2._)(this, "isReturnSchedule", false);
|
|
}
|
|
}
|
|
const ScheduleStateServiceProvider = (param)=>{
|
|
let { children, service } = param;
|
|
const stateService = service || new ScheduleStateService();
|
|
const contextValue = {
|
|
selectedDate: stateService.selectedDate,
|
|
isReturnSchedule: stateService.isReturnSchedule,
|
|
setSelectedDate: stateService.setSelectedDate.bind(stateService),
|
|
setIsReturnSchedule: stateService.setIsReturnSchedule.bind(stateService),
|
|
reset: stateService.reset.bind(stateService)
|
|
};
|
|
return /*#__PURE__*/ (0,react_jsx_dev_runtime__rspack_import_0.jsxDEV)(ScheduleStateServiceContext.Provider, {
|
|
value: contextValue,
|
|
children: children
|
|
}, void 0, false, {
|
|
fileName: "/Users/gnezim/_projects/tims/flights/Aeroflot.Flights.Web/ClientApp/src/features/schedule/services/state.service.tsx",
|
|
lineNumber: 46,
|
|
columnNumber: 5
|
|
}, undefined);
|
|
};
|
|
_c = ScheduleStateServiceProvider;
|
|
const useScheduleStateService = ()=>{
|
|
_s();
|
|
const context = (0,react__rspack_import_1.useContext)(ScheduleStateServiceContext);
|
|
if (!context) {
|
|
throw new Error('useScheduleStateService must be used within ScheduleStateServiceProvider');
|
|
}
|
|
return context;
|
|
};
|
|
_s(useScheduleStateService, "b9L3QQ+jgeyIrH0NfHrJ8nn7VMU=");
|
|
var _c;
|
|
$RefreshReg$(_c, "ScheduleStateServiceProvider");
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/enumerators/index.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Language: () => (/* reexport safe */ _language_enum__rspack_import_0.Language)
|
|
});
|
|
/* import */ var _language_enum__rspack_import_0 = __webpack_require__("./src/shared/enumerators/language.enum.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/enumerators/language.enum.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Language: () => (Language)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
var Language = /*#__PURE__*/ function(Language) {
|
|
Language["ru"] = "ru";
|
|
Language["en"] = "en";
|
|
Language["de"] = "de";
|
|
Language["fr"] = "fr";
|
|
Language["es"] = "es";
|
|
Language["it"] = "it";
|
|
Language["jp"] = "jp";
|
|
Language["ko"] = "ko";
|
|
Language["zh"] = "zh";
|
|
return Language;
|
|
}({});
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-de.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarDe: () => (calendarDe)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarDe = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-en.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarEn: () => (calendarEn)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarEn = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-es.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarEs: () => (calendarEs)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarEs = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-fr.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarFr: () => (calendarFr)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarFr = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-it.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarIt: () => (calendarIt)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarIt = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-jp.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarJp: () => (calendarJp)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarJp = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-ko.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarKo: () => (calendarKo)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarKo = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-ru.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarDe: () => (calendarDe),
|
|
calendarEn: () => (calendarEn),
|
|
calendarEs: () => (calendarEs),
|
|
calendarFr: () => (calendarFr),
|
|
calendarIt: () => (calendarIt),
|
|
calendarJp: () => (calendarJp),
|
|
calendarKo: () => (calendarKo),
|
|
calendarRu: () => (calendarRu),
|
|
calendarZh: () => (calendarZh)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarRu = {};
|
|
const calendarEn = {};
|
|
const calendarFr = {};
|
|
const calendarEs = {};
|
|
const calendarDe = {};
|
|
const calendarIt = {};
|
|
const calendarJp = {};
|
|
const calendarKo = {};
|
|
const calendarZh = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/localizations/calendar-zh.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
calendarZh: () => (calendarZh)
|
|
});
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
const calendarZh = {};
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/services/analytics.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
AnalyticsService: () => (AnalyticsService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class AnalyticsService {
|
|
init() {
|
|
if (this.initialized) return;
|
|
window.dataLayerSU = window.dataLayerSU || [];
|
|
(function(m, e, t, r, i, k, a) {
|
|
m[i] = m[i] || function() {
|
|
(m[i].a = m[i].a || []).push(arguments);
|
|
};
|
|
m[i].l = 1 * new Date();
|
|
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a);
|
|
})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
|
ym(12084547, "init", {
|
|
clickmap: true,
|
|
trackLinks: true,
|
|
accurateTrackBounce: true,
|
|
trackHash: true,
|
|
ecommerce: "dataLayerSU"
|
|
});
|
|
this.initialized = true;
|
|
}
|
|
trackPageView(page, title) {
|
|
if (!this.initialized) return;
|
|
ym('hit', page, {
|
|
pagePath: page,
|
|
pageTitle: title || page
|
|
});
|
|
}
|
|
trackEvent(name, params) {
|
|
if (!this.initialized) return;
|
|
ym('reachGoal', name, params);
|
|
}
|
|
trackEcommerce(event, data) {
|
|
if (!this.initialized) return;
|
|
window.dataLayerSU.push({
|
|
[event]: data
|
|
});
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "initialized", false);
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/services/app-settings.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
AppSettingsService: () => (AppSettingsService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class AppSettingsService {
|
|
get() {
|
|
return this.settings;
|
|
}
|
|
update(newSettings) {
|
|
this.settings = {
|
|
...this.settings,
|
|
...newSettings
|
|
};
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "settings", {
|
|
apiRootUrl: '/api',
|
|
wsRootUrl: '/flights',
|
|
mapApiUrl: '/map/api/tile/{z}/{x}/{y}.jpeg',
|
|
mapAttribution: '',
|
|
production: false,
|
|
urlForChatBot: 'https://vi.aeroflot.ru/chat/widget.js?entityId=09588b62-1b79-4eff-ab7b-cfbefd4b4f74&accountId=251b09d7-390f-4c92-9a58-c22d20684b35',
|
|
urlForTrackerHub: 'http://platform.yc.webzavod.ru/tracker/hub',
|
|
appInsights: {
|
|
instrumentationKey: '',
|
|
application: '',
|
|
category: '',
|
|
env: '',
|
|
loggingLevelTelemetry: 1,
|
|
disableAjaxTracking: true
|
|
},
|
|
refreshPauseMin: 15,
|
|
refreshStopMin: 60,
|
|
boardCalendarDatesEnabledCountBack: 1,
|
|
boardCalendarDatesEnabledCountForward: 14,
|
|
scheduleCalendarDatesEnabledCountBack: 1,
|
|
scheduleCalendarDatesEnabledCountForward: 330,
|
|
onlineRegistrationEnabledDaysBefore: 1,
|
|
onlineRegistrationEnabledHoursBefore: 1,
|
|
features: {
|
|
flightsMap: false
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/services/cache.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
CacheService: () => (CacheService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_0 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
class CacheService {
|
|
get(key) {
|
|
const item = this.cache.get(key);
|
|
if (!item) return undefined;
|
|
const isExpired = Date.now() - item.timestamp > this.ttl;
|
|
if (isExpired) {
|
|
this.cache.delete(key);
|
|
return undefined;
|
|
}
|
|
return item.data;
|
|
}
|
|
set(key, data) {
|
|
this.cache.set(key, {
|
|
data,
|
|
timestamp: Date.now()
|
|
});
|
|
}
|
|
delete(key) {
|
|
this.cache.delete(key);
|
|
}
|
|
clear() {
|
|
this.cache.clear();
|
|
}
|
|
constructor(){
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "cache", new Map());
|
|
(0,_swc_helpers_define_property__rspack_import_0._)(this, "ttl", 60000);
|
|
}
|
|
}
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/services/localization.service.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
LocalizationService: () => (LocalizationService)
|
|
});
|
|
/* import */ var _swc_helpers_define_property__rspack_import_10 = __webpack_require__("./node_modules/@swc/helpers/esm/_define_property.js");
|
|
/* import */ var _shared_enumerators__rspack_import_0 = __webpack_require__("./src/shared/enumerators/index.ts");
|
|
/* import */ var _shared_localizations_calendar_ru__rspack_import_1 = __webpack_require__("./src/shared/localizations/calendar-ru.ts");
|
|
/* import */ var _shared_localizations_calendar_en__rspack_import_2 = __webpack_require__("./src/shared/localizations/calendar-en.ts");
|
|
/* import */ var _shared_localizations_calendar_fr__rspack_import_3 = __webpack_require__("./src/shared/localizations/calendar-fr.ts");
|
|
/* import */ var _shared_localizations_calendar_es__rspack_import_4 = __webpack_require__("./src/shared/localizations/calendar-es.ts");
|
|
/* import */ var _shared_localizations_calendar_de__rspack_import_5 = __webpack_require__("./src/shared/localizations/calendar-de.ts");
|
|
/* import */ var _shared_localizations_calendar_it__rspack_import_6 = __webpack_require__("./src/shared/localizations/calendar-it.ts");
|
|
/* import */ var _shared_localizations_calendar_jp__rspack_import_7 = __webpack_require__("./src/shared/localizations/calendar-jp.ts");
|
|
/* import */ var _shared_localizations_calendar_ko__rspack_import_8 = __webpack_require__("./src/shared/localizations/calendar-ko.ts");
|
|
/* import */ var _shared_localizations_calendar_zh__rspack_import_9 = __webpack_require__("./src/shared/localizations/calendar-zh.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
class LocalizationService {
|
|
async init(translate) {
|
|
this.translate = translate;
|
|
translate.addLangs(Object.keys(_shared_enumerators__rspack_import_0.Language));
|
|
translate.setDefaultLang(this.Language);
|
|
await translate.use(this.Language).toPromise();
|
|
}
|
|
get calendarTranslate() {
|
|
switch(this.Language){
|
|
case _shared_enumerators__rspack_import_0.Language.ru:
|
|
return _shared_localizations_calendar_ru__rspack_import_1.calendarRu;
|
|
case _shared_enumerators__rspack_import_0.Language.en:
|
|
return _shared_localizations_calendar_en__rspack_import_2.calendarEn;
|
|
case _shared_enumerators__rspack_import_0.Language.fr:
|
|
return _shared_localizations_calendar_fr__rspack_import_3.calendarFr;
|
|
case _shared_enumerators__rspack_import_0.Language.es:
|
|
return _shared_localizations_calendar_es__rspack_import_4.calendarEs;
|
|
case _shared_enumerators__rspack_import_0.Language.de:
|
|
return _shared_localizations_calendar_de__rspack_import_5.calendarDe;
|
|
case _shared_enumerators__rspack_import_0.Language.it:
|
|
return _shared_localizations_calendar_it__rspack_import_6.calendarIt;
|
|
case _shared_enumerators__rspack_import_0.Language.jp:
|
|
return _shared_localizations_calendar_jp__rspack_import_7.calendarJp;
|
|
case _shared_enumerators__rspack_import_0.Language.ko:
|
|
return _shared_localizations_calendar_ko__rspack_import_8.calendarKo;
|
|
case _shared_enumerators__rspack_import_0.Language.zh:
|
|
return _shared_localizations_calendar_zh__rspack_import_9.calendarZh;
|
|
default:
|
|
return _shared_localizations_calendar_en__rspack_import_2.calendarEn;
|
|
}
|
|
}
|
|
constructor(baseHref){
|
|
(0,_swc_helpers_define_property__rspack_import_10._)(this, "Language", void 0);
|
|
(0,_swc_helpers_define_property__rspack_import_10._)(this, "Country", void 0);
|
|
(0,_swc_helpers_define_property__rspack_import_10._)(this, "translate", void 0);
|
|
this.Country = baseHref.substring(1, 3) || _shared_enumerators__rspack_import_0.Language.ru;
|
|
this.Language = baseHref.substring(4, 6) || _shared_enumerators__rspack_import_0.Language.ru;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/store/flightsMapStore.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
useFlightsMapStore: () => (useFlightsMapStore)
|
|
});
|
|
/* import */ var zustand__rspack_import_0 = __webpack_require__("./node_modules/zustand/esm/index.mjs");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
const useFlightsMapStore = (0,zustand__rspack_import_0.create)((set)=>({
|
|
departure: '',
|
|
arrival: '',
|
|
date: new Date(),
|
|
connections: false,
|
|
domestic: true,
|
|
international: true,
|
|
setDeparture: (departure)=>set({
|
|
departure
|
|
}),
|
|
setArrival: (arrival)=>set({
|
|
arrival
|
|
}),
|
|
setDate: (date)=>set({
|
|
date
|
|
}),
|
|
toggleConnections: ()=>set((state)=>({
|
|
connections: !state.connections
|
|
})),
|
|
toggleDomestic: ()=>set((state)=>({
|
|
domestic: !state.domestic
|
|
})),
|
|
toggleInternational: ()=>set((state)=>({
|
|
international: !state.international
|
|
})),
|
|
reset: ()=>set({
|
|
departure: '',
|
|
arrival: '',
|
|
date: new Date(),
|
|
connections: false,
|
|
domestic: true,
|
|
international: true
|
|
})
|
|
}));
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/store/index.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
useFlightsMapStore: () => (/* reexport safe */ _flightsMapStore__rspack_import_2.useFlightsMapStore),
|
|
useOnlineBoardStore: () => (/* reexport safe */ _onlineBoardStore__rspack_import_0.useOnlineBoardStore),
|
|
useScheduleStore: () => (/* reexport safe */ _scheduleStore__rspack_import_1.useScheduleStore)
|
|
});
|
|
/* import */ var _onlineBoardStore__rspack_import_0 = __webpack_require__("./src/shared/store/onlineBoardStore.ts");
|
|
/* import */ var _scheduleStore__rspack_import_1 = __webpack_require__("./src/shared/store/scheduleStore.ts");
|
|
/* import */ var _flightsMapStore__rspack_import_2 = __webpack_require__("./src/shared/store/flightsMapStore.ts");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
|
|
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/store/onlineBoardStore.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
useOnlineBoardStore: () => (useOnlineBoardStore)
|
|
});
|
|
/* import */ var zustand__rspack_import_0 = __webpack_require__("./node_modules/zustand/esm/index.mjs");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
const useOnlineBoardStore = (0,zustand__rspack_import_0.create)((set)=>({
|
|
selectedTab: 'route',
|
|
flightNumber: '',
|
|
flightNumberDate: null,
|
|
departure: '',
|
|
arrival: '',
|
|
routeDate: null,
|
|
timeRange: {},
|
|
setSelectedTab: (selectedTab)=>set({
|
|
selectedTab
|
|
}),
|
|
setFlightNumber: (flightNumber, flightNumberDate)=>set({
|
|
flightNumber,
|
|
flightNumberDate
|
|
}),
|
|
setRoute: (departure, arrival, routeDate)=>set({
|
|
departure,
|
|
arrival,
|
|
routeDate
|
|
}),
|
|
clearRoute: ()=>set({
|
|
departure: '',
|
|
arrival: '',
|
|
routeDate: null,
|
|
timeRange: {}
|
|
}),
|
|
setTimeRange: (timeRange)=>set({
|
|
timeRange
|
|
}),
|
|
reset: ()=>set({
|
|
selectedTab: 'route',
|
|
flightNumber: '',
|
|
flightNumberDate: null,
|
|
departure: '',
|
|
arrival: '',
|
|
routeDate: null,
|
|
timeRange: {}
|
|
})
|
|
}));
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"./src/shared/store/scheduleStore.ts"(module, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
useScheduleStore: () => (useScheduleStore)
|
|
});
|
|
/* import */ var zustand__rspack_import_0 = __webpack_require__("./node_modules/zustand/esm/index.mjs");
|
|
/* provided dependency */ var $ReactRefreshRuntime$ = __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefresh.js");
|
|
|
|
const useScheduleStore = (0,zustand__rspack_import_0.create)((set)=>({
|
|
selectedDate: new Date(),
|
|
isReturnSchedule: false,
|
|
departure: '',
|
|
arrival: '',
|
|
dateRange: {
|
|
dateFrom: new Date(),
|
|
dateTo: new Date()
|
|
},
|
|
returnDateRange: null,
|
|
withReturn: false,
|
|
setDeparture: (departure)=>set({
|
|
departure
|
|
}),
|
|
setArrival: (arrival)=>set({
|
|
arrival
|
|
}),
|
|
setDateRange: (dateRange)=>set({
|
|
dateRange
|
|
}),
|
|
toggleReturn: ()=>set((state)=>({
|
|
isReturnSchedule: !state.isReturnSchedule,
|
|
withReturn: !state.withReturn
|
|
})),
|
|
reset: ()=>set({
|
|
selectedDate: new Date(),
|
|
isReturnSchedule: false,
|
|
departure: '',
|
|
arrival: '',
|
|
dateRange: {
|
|
dateFrom: new Date(),
|
|
dateTo: new Date()
|
|
},
|
|
returnDateRange: null,
|
|
withReturn: false
|
|
})
|
|
}));
|
|
|
|
function $RefreshSig$() { return $ReactRefreshRuntime$.createSignatureFunctionForTransform() }
|
|
function $RefreshReg$(type, id) { $ReactRefreshRuntime$.register(type, module.id + "_" + id) }
|
|
Promise.resolve().then(() => { $ReactRefreshRuntime$.refresh(module.id, module.hot) });
|
|
|
|
|
|
},
|
|
"data:text/javascript,import%20%7B%20init%20%7D%20from%20'%2FUsers%2Fgnezim%2F_projects%2Ftims%2Fflights%2FAeroflot.Flights.Web%2FClientApp%2Fnode_modules%2F%40rsbuild%2Fcore%2Fdist%2Fclient%2Fhmr.js'%3B%0Aimport%20'%2FUsers%2Fgnezim%2F_projects%2Ftims%2Fflights%2FAeroflot.Flights.Web%2FClientApp%2Fnode_modules%2F%40rsbuild%2Fcore%2Fdist%2Fclient%2Foverlay.js'%3B%0Ainit(%0A%20%20'3aaf3cf1ed6b930c'%2C%0A%20%20%7B%22path%22%3A%22%2Frsbuild-hmr%22%2C%22port%22%3A%22%22%2C%22host%22%3A%22%22%2C%22overlay%22%3Atrue%2C%22reconnect%22%3A100%2C%22logLevel%22%3A%22info%22%7D%2C%0A%20%20%22localhost%22%2C%0A%20%203000%2C%0A%20%20true%2C%0A%20%20true%2C%0A%20%20%22info%22%0A)%0A"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* import */ var _Users_gnezim_projects_tims_flights_Aeroflot_Flights_Web_ClientApp_node_modules_rsbuild_core_dist_client_hmr_js__rspack_import_0 = __webpack_require__("./node_modules/@rsbuild/core/dist/client/hmr.js");
|
|
/* import */ var _Users_gnezim_projects_tims_flights_Aeroflot_Flights_Web_ClientApp_node_modules_rsbuild_core_dist_client_overlay_js__rspack_import_1 = __webpack_require__("./node_modules/@rsbuild/core/dist/client/overlay.js");
|
|
|
|
|
|
(0,_Users_gnezim_projects_tims_flights_Aeroflot_Flights_Web_ClientApp_node_modules_rsbuild_core_dist_client_hmr_js__rspack_import_0.init)('3aaf3cf1ed6b930c', {
|
|
"path": "/rsbuild-hmr",
|
|
"port": "",
|
|
"host": "",
|
|
"overlay": true,
|
|
"reconnect": 100,
|
|
"logLevel": "info"
|
|
}, "localhost", 3000, true, true, "info");
|
|
|
|
|
|
},
|
|
|
|
});
|
|
// The module cache
|
|
var __webpack_module_cache__ = {};
|
|
|
|
// The require function
|
|
function __webpack_require__(moduleId) {
|
|
|
|
// Check if module is in cache
|
|
var cachedModule = __webpack_module_cache__[moduleId];
|
|
if (cachedModule !== undefined) {
|
|
if (cachedModule.error !== undefined) throw cachedModule.error;
|
|
return cachedModule.exports;
|
|
}
|
|
// Create a new module (and put it into the cache)
|
|
var module = (__webpack_module_cache__[moduleId] = {
|
|
id: moduleId,
|
|
loaded: false,
|
|
exports: {}
|
|
});
|
|
// Execute the module function
|
|
try {
|
|
|
|
|
|
var execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ };
|
|
__webpack_require__.i.forEach(function(handler) { handler(execOptions); });
|
|
module = execOptions.module;
|
|
if (!execOptions.factory) {
|
|
console.error("undefined factory", moduleId);
|
|
throw Error("RuntimeError: factory is undefined (" + moduleId + ")");
|
|
}
|
|
execOptions.factory.call(module.exports, module, module.exports, execOptions.require);
|
|
|
|
} catch (e) {
|
|
module.error = e;
|
|
throw e;
|
|
}
|
|
// Flag the module as loaded
|
|
module.loaded = true;
|
|
// Return the exports of the module
|
|
return module.exports;
|
|
|
|
}
|
|
|
|
// expose the modules object (__webpack_modules__)
|
|
__webpack_require__.m = __webpack_modules__;
|
|
|
|
// expose the module cache
|
|
__webpack_require__.c = __webpack_module_cache__;
|
|
|
|
// expose the module execution interceptor
|
|
__webpack_require__.i = [];
|
|
|
|
// webpack/runtime/compat_get_default_export
|
|
(() => {
|
|
// getDefaultExport function for compatibility with non-ESM modules
|
|
__webpack_require__.n = (module) => {
|
|
var getter = module && module.__esModule ?
|
|
() => (module['default']) :
|
|
() => (module);
|
|
__webpack_require__.d(getter, { a: getter });
|
|
return getter;
|
|
};
|
|
|
|
})();
|
|
// webpack/runtime/create_fake_namespace_object
|
|
(() => {
|
|
var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
|
|
var leafPrototypes;
|
|
// create a fake namespace object
|
|
// mode & 1: value is a module id, require it
|
|
// mode & 2: merge all properties of value into the ns
|
|
// mode & 4: return value when already ns object
|
|
// mode & 16: return value when it's Promise-like
|
|
// mode & 8|1: behave like require
|
|
__webpack_require__.t = function(value, mode) {
|
|
if(mode & 1) value = this(value);
|
|
if(mode & 8) return value;
|
|
if(typeof value === 'object' && value) {
|
|
if((mode & 4) && value.__esModule) return value;
|
|
if((mode & 16) && typeof value.then === 'function') return value;
|
|
}
|
|
var ns = Object.create(null);
|
|
__webpack_require__.r(ns);
|
|
var def = {};
|
|
leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
|
|
for(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {
|
|
Object.getOwnPropertyNames(current).forEach((key) => { def[key] = () => (value[key]) });
|
|
}
|
|
def['default'] = () => (value);
|
|
__webpack_require__.d(ns, def);
|
|
return ns;
|
|
};
|
|
})();
|
|
// webpack/runtime/define_property_getters
|
|
(() => {
|
|
__webpack_require__.d = (exports, definition) => {
|
|
for(var key in definition) {
|
|
if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
}
|
|
}
|
|
};
|
|
})();
|
|
// webpack/runtime/get mini-css chunk filename
|
|
(() => {
|
|
// This function allow to reference chunks
|
|
__webpack_require__.miniCssF = (chunkId) => {
|
|
// return url for filenames not based on template
|
|
|
|
// return url for filenames based on template
|
|
return "static/css/" + chunkId + ".css"
|
|
}
|
|
})();
|
|
// webpack/runtime/get_chunk_update_filename
|
|
(() => {
|
|
__webpack_require__.hu = (chunkId) => ('' + chunkId + '.' + __webpack_require__.h() + '.hot-update.js')
|
|
})();
|
|
// webpack/runtime/get_full_hash
|
|
(() => {
|
|
__webpack_require__.h = () => ("8237797f6894d56e")
|
|
})();
|
|
// webpack/runtime/get_main_filename/update manifest
|
|
(() => {
|
|
__webpack_require__.hmrF = function () {
|
|
return "index." + __webpack_require__.h() + ".hot-update.json";
|
|
};
|
|
|
|
})();
|
|
// webpack/runtime/has_own_property
|
|
(() => {
|
|
__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
})();
|
|
// webpack/runtime/hot_module_replacement
|
|
(() => {
|
|
var currentModuleData = {};
|
|
var installedModules = __webpack_require__.c;
|
|
|
|
// module and require creation
|
|
var currentChildModule;
|
|
var currentParents = [];
|
|
|
|
// status
|
|
var registeredStatusHandlers = [];
|
|
var currentStatus = "idle";
|
|
|
|
// while downloading
|
|
var blockingPromises = 0;
|
|
var blockingPromisesWaiting = [];
|
|
|
|
// The update info
|
|
var currentUpdateApplyHandlers;
|
|
var queuedInvalidatedModules;
|
|
|
|
__webpack_require__.hmrD = currentModuleData;
|
|
__webpack_require__.i.push(function (options) {
|
|
var module = options.module;
|
|
var require = createRequire(options.require, options.id);
|
|
module.hot = createModuleHotObject(options.id, module);
|
|
module.parents = currentParents;
|
|
module.children = [];
|
|
currentParents = [];
|
|
options.require = require;
|
|
});
|
|
|
|
__webpack_require__.hmrC = {};
|
|
__webpack_require__.hmrI = {};
|
|
|
|
function createRequire(require, moduleId) {
|
|
var me = installedModules[moduleId];
|
|
if (!me) return require;
|
|
var fn = function (request) {
|
|
if (me.hot.active) {
|
|
if (installedModules[request]) {
|
|
var parents = installedModules[request].parents;
|
|
if (parents.indexOf(moduleId) === -1) {
|
|
parents.push(moduleId);
|
|
}
|
|
} else {
|
|
currentParents = [moduleId];
|
|
currentChildModule = request;
|
|
}
|
|
if (me.children.indexOf(request) === -1) {
|
|
me.children.push(request);
|
|
}
|
|
} else {
|
|
console.warn(
|
|
"[HMR] unexpected require(" +
|
|
request +
|
|
") from disposed module " +
|
|
moduleId
|
|
);
|
|
currentParents = [];
|
|
}
|
|
return require(request);
|
|
};
|
|
var createPropertyDescriptor = function (name) {
|
|
return {
|
|
configurable: true,
|
|
enumerable: true,
|
|
get: function () {
|
|
return require[name];
|
|
},
|
|
set: function (value) {
|
|
require[name] = value;
|
|
}
|
|
};
|
|
};
|
|
for (var name in require) {
|
|
if (Object.prototype.hasOwnProperty.call(require, name) && name !== "e") {
|
|
Object.defineProperty(fn, name, createPropertyDescriptor(name));
|
|
}
|
|
}
|
|
|
|
fn.e = function (chunkId, fetchPriority) {
|
|
return trackBlockingPromise(require.e(chunkId, fetchPriority));
|
|
};
|
|
|
|
return fn;
|
|
}
|
|
|
|
function createModuleHotObject(moduleId, me) {
|
|
var _main = currentChildModule !== moduleId;
|
|
var hot = {
|
|
_acceptedDependencies: {},
|
|
_acceptedErrorHandlers: {},
|
|
_declinedDependencies: {},
|
|
_selfAccepted: false,
|
|
_selfDeclined: false,
|
|
_selfInvalidated: false,
|
|
_disposeHandlers: [],
|
|
_main: _main,
|
|
_requireSelf: function () {
|
|
currentParents = me.parents.slice();
|
|
currentChildModule = _main ? undefined : moduleId;
|
|
__webpack_require__(moduleId);
|
|
},
|
|
active: true,
|
|
accept: function (dep, callback, errorHandler) {
|
|
if (dep === undefined) hot._selfAccepted = true;
|
|
else if (typeof dep === "function") hot._selfAccepted = dep;
|
|
else if (typeof dep === "object" && dep !== null) {
|
|
for (var i = 0; i < dep.length; i++) {
|
|
hot._acceptedDependencies[dep[i]] = callback || function () { };
|
|
hot._acceptedErrorHandlers[dep[i]] = errorHandler;
|
|
}
|
|
} else {
|
|
hot._acceptedDependencies[dep] = callback || function () { };
|
|
hot._acceptedErrorHandlers[dep] = errorHandler;
|
|
}
|
|
},
|
|
decline: function (dep) {
|
|
if (dep === undefined) hot._selfDeclined = true;
|
|
else if (typeof dep === "object" && dep !== null)
|
|
for (var i = 0; i < dep.length; i++)
|
|
hot._declinedDependencies[dep[i]] = true;
|
|
else hot._declinedDependencies[dep] = true;
|
|
},
|
|
dispose: function (callback) {
|
|
hot._disposeHandlers.push(callback);
|
|
},
|
|
addDisposeHandler: function (callback) {
|
|
hot._disposeHandlers.push(callback);
|
|
},
|
|
removeDisposeHandler: function (callback) {
|
|
var idx = hot._disposeHandlers.indexOf(callback);
|
|
if (idx >= 0) hot._disposeHandlers.splice(idx, 1);
|
|
},
|
|
invalidate: function () {
|
|
this._selfInvalidated = true;
|
|
switch (currentStatus) {
|
|
case "idle":
|
|
currentUpdateApplyHandlers = [];
|
|
Object.keys(__webpack_require__.hmrI).forEach(function (key) {
|
|
__webpack_require__.hmrI[key](moduleId, currentUpdateApplyHandlers);
|
|
});
|
|
setStatus("ready");
|
|
break;
|
|
case "ready":
|
|
Object.keys(__webpack_require__.hmrI).forEach(function (key) {
|
|
__webpack_require__.hmrI[key](moduleId, currentUpdateApplyHandlers);
|
|
});
|
|
break;
|
|
case "prepare":
|
|
case "check":
|
|
case "dispose":
|
|
case "apply":
|
|
(queuedInvalidatedModules = queuedInvalidatedModules || []).push(
|
|
moduleId
|
|
);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
},
|
|
check: hotCheck,
|
|
apply: hotApply,
|
|
status: function (l) {
|
|
if (!l) return currentStatus;
|
|
registeredStatusHandlers.push(l);
|
|
},
|
|
addStatusHandler: function (l) {
|
|
registeredStatusHandlers.push(l);
|
|
},
|
|
removeStatusHandler: function (l) {
|
|
var idx = registeredStatusHandlers.indexOf(l);
|
|
if (idx >= 0) registeredStatusHandlers.splice(idx, 1);
|
|
},
|
|
data: currentModuleData[moduleId]
|
|
};
|
|
currentChildModule = undefined;
|
|
return hot;
|
|
}
|
|
|
|
function setStatus(newStatus) {
|
|
currentStatus = newStatus;
|
|
|
|
var results = [];
|
|
for (var i = 0; i < registeredStatusHandlers.length; i++)
|
|
results[i] = registeredStatusHandlers[i].call(null, newStatus);
|
|
|
|
return Promise.all(results).then(function () { });
|
|
}
|
|
|
|
function unblock() {
|
|
if (--blockingPromises === 0) {
|
|
setStatus("ready").then(function () {
|
|
if (blockingPromises === 0) {
|
|
var list = blockingPromisesWaiting;
|
|
blockingPromisesWaiting = [];
|
|
for (var i = 0; i < list.length; i++) {
|
|
list[i]();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function trackBlockingPromise(promise) {
|
|
switch (currentStatus) {
|
|
case "ready":
|
|
setStatus("prepare");
|
|
case "prepare":
|
|
blockingPromises++;
|
|
promise.then(unblock, unblock);
|
|
return promise;
|
|
default:
|
|
return promise;
|
|
}
|
|
}
|
|
|
|
function waitForBlockingPromises(fn) {
|
|
if (blockingPromises === 0) return fn();
|
|
return new Promise(function (resolve) {
|
|
blockingPromisesWaiting.push(function () {
|
|
resolve(fn());
|
|
});
|
|
});
|
|
}
|
|
|
|
function hotCheck(applyOnUpdate) {
|
|
if (currentStatus !== "idle") {
|
|
throw new Error("check() is only allowed in idle status");
|
|
}
|
|
|
|
return setStatus("check")
|
|
.then(__webpack_require__.hmrM)
|
|
.then(function (update) {
|
|
if (!update) {
|
|
return setStatus(applyInvalidatedModules() ? "ready" : "idle").then(
|
|
function () {
|
|
return null;
|
|
}
|
|
);
|
|
}
|
|
|
|
return setStatus("prepare").then(function () {
|
|
var updatedModules = [];
|
|
currentUpdateApplyHandlers = [];
|
|
|
|
return Promise.all(
|
|
Object.keys(__webpack_require__.hmrC).reduce(function (
|
|
promises,
|
|
key
|
|
) {
|
|
__webpack_require__.hmrC[key](
|
|
update.c,
|
|
update.r,
|
|
update.m,
|
|
promises,
|
|
currentUpdateApplyHandlers,
|
|
updatedModules
|
|
);
|
|
return promises;
|
|
},
|
|
[])
|
|
).then(function () {
|
|
return waitForBlockingPromises(function () {
|
|
if (applyOnUpdate) {
|
|
return internalApply(applyOnUpdate);
|
|
}
|
|
return setStatus("ready").then(function () {
|
|
return updatedModules;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
function hotApply(options) {
|
|
if (currentStatus !== "ready") {
|
|
return Promise.resolve().then(function () {
|
|
throw new Error(
|
|
"apply() is only allowed in ready status (state: " + currentStatus + ")"
|
|
);
|
|
});
|
|
}
|
|
return internalApply(options);
|
|
}
|
|
|
|
function internalApply(options) {
|
|
options = options || {};
|
|
applyInvalidatedModules();
|
|
var results = currentUpdateApplyHandlers.map(function (handler) {
|
|
return handler(options);
|
|
});
|
|
currentUpdateApplyHandlers = undefined;
|
|
var errors = results
|
|
.map(function (r) {
|
|
return r.error;
|
|
})
|
|
.filter(Boolean);
|
|
|
|
if (errors.length > 0) {
|
|
return setStatus("abort").then(function () {
|
|
throw errors[0];
|
|
});
|
|
}
|
|
|
|
var disposePromise = setStatus("dispose");
|
|
|
|
results.forEach(function (result) {
|
|
if (result.dispose) result.dispose();
|
|
});
|
|
|
|
var applyPromise = setStatus("apply");
|
|
|
|
var error;
|
|
var reportError = function (err) {
|
|
if (!error) error = err;
|
|
};
|
|
|
|
var outdatedModules = [];
|
|
results.forEach(function (result) {
|
|
if (result.apply) {
|
|
var modules = result.apply(reportError);
|
|
if (modules) {
|
|
for (var i = 0; i < modules.length; i++) {
|
|
outdatedModules.push(modules[i]);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
return Promise.all([disposePromise, applyPromise]).then(function () {
|
|
if (error) {
|
|
return setStatus("fail").then(function () {
|
|
throw error;
|
|
});
|
|
}
|
|
|
|
if (queuedInvalidatedModules) {
|
|
return internalApply(options).then(function (list) {
|
|
outdatedModules.forEach(function (moduleId) {
|
|
if (list.indexOf(moduleId) < 0) list.push(moduleId);
|
|
});
|
|
return list;
|
|
});
|
|
}
|
|
|
|
return setStatus("idle").then(function () {
|
|
return outdatedModules;
|
|
});
|
|
});
|
|
}
|
|
|
|
function applyInvalidatedModules() {
|
|
if (queuedInvalidatedModules) {
|
|
if (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = [];
|
|
Object.keys(__webpack_require__.hmrI).forEach(function (key) {
|
|
queuedInvalidatedModules.forEach(function (moduleId) {
|
|
__webpack_require__.hmrI[key](moduleId, currentUpdateApplyHandlers);
|
|
});
|
|
});
|
|
queuedInvalidatedModules = undefined;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
})();
|
|
// webpack/runtime/load_script
|
|
(() => {
|
|
var inProgress = {};
|
|
|
|
var uniqueName = "aeroflot-flights:";
|
|
// loadScript function to load a script via script tag
|
|
__webpack_require__.l = function (url, done, key, chunkId) {
|
|
if (inProgress[url]) {
|
|
inProgress[url].push(done);
|
|
return;
|
|
}
|
|
var script, needAttach;
|
|
if (key !== undefined) {
|
|
var scripts = document.getElementsByTagName("script");
|
|
for (var i = 0; i < scripts.length; i++) {
|
|
var s = scripts[i];
|
|
if (s.getAttribute("src") == url || s.getAttribute("data-rspack") == uniqueName + key) {
|
|
script = s;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (!script) {
|
|
needAttach = true;
|
|
script = document.createElement('script');
|
|
|
|
|
|
script.timeout = 120;
|
|
if (__webpack_require__.nc) {
|
|
script.setAttribute("nonce", __webpack_require__.nc);
|
|
}
|
|
|
|
script.setAttribute("data-rspack", uniqueName + key);
|
|
|
|
|
|
|
|
script.src = url;
|
|
|
|
|
|
}
|
|
inProgress[url] = [done];
|
|
var onScriptComplete = function (prev, event) {
|
|
script.onerror = script.onload = null;
|
|
clearTimeout(timeout);
|
|
var doneFns = inProgress[url];
|
|
delete inProgress[url];
|
|
script.parentNode && script.parentNode.removeChild(script);
|
|
doneFns &&
|
|
doneFns.forEach(function (fn) {
|
|
return fn(event);
|
|
});
|
|
if (prev) return prev(event);
|
|
};
|
|
var timeout = setTimeout(
|
|
onScriptComplete.bind(null, undefined, {
|
|
type: 'timeout',
|
|
target: script
|
|
}),
|
|
120000
|
|
);
|
|
script.onerror = onScriptComplete.bind(null, script.onerror);
|
|
script.onload = onScriptComplete.bind(null, script.onload);
|
|
needAttach && document.head.appendChild(script);
|
|
};
|
|
|
|
})();
|
|
// webpack/runtime/make_namespace_object
|
|
(() => {
|
|
// define __esModule on exports
|
|
__webpack_require__.r = (exports) => {
|
|
if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
}
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
};
|
|
})();
|
|
// webpack/runtime/node_module_decorator
|
|
(() => {
|
|
__webpack_require__.nmd = (module) => {
|
|
module.paths = [];
|
|
if (!module.children) module.children = [];
|
|
return module;
|
|
};
|
|
})();
|
|
// webpack/runtime/on_chunk_loaded
|
|
(() => {
|
|
var deferred = [];
|
|
__webpack_require__.O = (result, chunkIds, fn, priority) => {
|
|
if (chunkIds) {
|
|
priority = priority || 0;
|
|
for (var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--)
|
|
deferred[i] = deferred[i - 1];
|
|
deferred[i] = [chunkIds, fn, priority];
|
|
return;
|
|
}
|
|
var notFulfilled = Infinity;
|
|
for (var i = 0; i < deferred.length; i++) {
|
|
var [chunkIds, fn, priority] = deferred[i];
|
|
var fulfilled = true;
|
|
for (var j = 0; j < chunkIds.length; j++) {
|
|
if (
|
|
(priority & (1 === 0) || notFulfilled >= priority) &&
|
|
Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))
|
|
) {
|
|
chunkIds.splice(j--, 1);
|
|
} else {
|
|
fulfilled = false;
|
|
if (priority < notFulfilled) notFulfilled = priority;
|
|
}
|
|
}
|
|
if (fulfilled) {
|
|
deferred.splice(i--, 1);
|
|
var r = fn();
|
|
if (r !== undefined) result = r;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
|
|
})();
|
|
// webpack/runtime/public_path
|
|
(() => {
|
|
__webpack_require__.p = "/";
|
|
})();
|
|
// webpack/runtime/css loading
|
|
(() => {
|
|
if (typeof document === "undefined") return;
|
|
var createStylesheet = function (
|
|
chunkId, fullhref, oldTag, resolve, reject
|
|
) {
|
|
var linkTag = document.createElement("link");
|
|
|
|
linkTag.rel = "stylesheet";
|
|
|
|
linkTag.type = "text/css";
|
|
|
|
if (__webpack_require__.nc) {
|
|
linkTag.nonce = __webpack_require__.nc;
|
|
}
|
|
linkTag.href = fullhref;
|
|
|
|
var onLinkComplete = function (event) {
|
|
// avoid mem leaks.
|
|
linkTag.onerror = linkTag.onload = null;
|
|
if (event.type === 'load') {
|
|
resolve();
|
|
} else {
|
|
var errorType = event && (event.type === 'load' ? 'missing' : event.type);
|
|
var realHref = event && event.target && event.target.href || fullhref;
|
|
var err = new Error("Loading CSS chunk " + chunkId + " failed.\\n(" + realHref + ")");
|
|
err.code = "CSS_CHUNK_LOAD_FAILED";
|
|
err.type = errorType;
|
|
err.request = realHref;
|
|
if (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)
|
|
reject(err);
|
|
}
|
|
}
|
|
linkTag.onerror = linkTag.onload = onLinkComplete;
|
|
if (oldTag) {
|
|
oldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);
|
|
} else {
|
|
document.head.appendChild(linkTag);
|
|
}
|
|
return linkTag;
|
|
}
|
|
var findStylesheet = function (href, fullhref) {
|
|
var existingLinkTags = document.getElementsByTagName("link");
|
|
for (var i = 0; i < existingLinkTags.length; i++) {
|
|
var tag = existingLinkTags[i];
|
|
var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
|
|
if (dataHref) {
|
|
dataHref = dataHref.split('?')[0]
|
|
}
|
|
if (tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return tag;
|
|
}
|
|
|
|
var existingStyleTags = document.getElementsByTagName("style");
|
|
for (var i = 0; i < existingStyleTags.length; i++) {
|
|
var tag = existingStyleTags[i];
|
|
var dataHref = tag.getAttribute("data-href");
|
|
if (dataHref === href || dataHref === fullhref) return tag;
|
|
}
|
|
}
|
|
|
|
var loadStylesheet = function (chunkId) {
|
|
return new Promise(function (resolve, reject) {
|
|
var href = __webpack_require__.miniCssF(chunkId);
|
|
var fullhref = __webpack_require__.p + href;
|
|
if (findStylesheet(href, fullhref)) return resolve();
|
|
createStylesheet(chunkId, fullhref, null, resolve, reject);
|
|
})
|
|
}
|
|
|
|
// no chunk loading
|
|
var oldTags = [];
|
|
var newTags = [];
|
|
var applyHandler = function (options) {
|
|
return {
|
|
dispose: function () {
|
|
for (var i = 0; i < oldTags.length; i++) {
|
|
var oldTag = oldTags[i];
|
|
if (oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);
|
|
}
|
|
oldTags.length = 0;
|
|
},
|
|
apply: function () {
|
|
for (var i = 0; i < newTags.length; i++) newTags[i].rel = "stylesheet";
|
|
newTags.length = 0;
|
|
}
|
|
}
|
|
}
|
|
__webpack_require__.hmrC.miniCss = function (chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) {
|
|
applyHandlers.push(applyHandler);
|
|
chunkIds.forEach(function (chunkId) {
|
|
var href = __webpack_require__.miniCssF(chunkId);
|
|
var fullhref = __webpack_require__.p + href;
|
|
var oldTag = findStylesheet(href, fullhref);
|
|
if (!oldTag) return;
|
|
promises.push(new Promise(function (resolve, reject) {
|
|
var tag = createStylesheet(
|
|
chunkId,
|
|
|
|
/**
|
|
If dynamically add link tag through dom API and there is already a loaded style link, browsers sometimes treats the new link tag as the same link, and won't fetch the new style.
|
|
Use query to avoid browser cache the link tag, force to re-fetch new style, this is the same strategy as updateCss API, this can happen during lazy compilation
|
|
*/
|
|
`${fullhref}?${Date.now()}`,
|
|
oldTag,
|
|
function () {
|
|
tag.as = "style";
|
|
tag.rel = "preload";
|
|
resolve();
|
|
},
|
|
reject
|
|
);
|
|
oldTags.push(oldTag);
|
|
newTags.push(tag);
|
|
}))
|
|
});
|
|
}
|
|
|
|
// no prefetch
|
|
// no preload
|
|
})();
|
|
// webpack/runtime/jsonp_chunk_loading
|
|
(() => {
|
|
|
|
// object to store loaded and loading chunks
|
|
// undefined = chunk not loaded, null = chunk preloaded/prefetched
|
|
// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
|
var installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || {"index": 0,};
|
|
var currentUpdatedModulesList;
|
|
var waitingUpdateResolves = {};
|
|
function loadUpdateChunk(chunkId, updatedModulesList) {
|
|
currentUpdatedModulesList = updatedModulesList;
|
|
return new Promise((resolve, reject) => {
|
|
waitingUpdateResolves[chunkId] = resolve;
|
|
// start update chunk loading
|
|
var url = __webpack_require__.p + __webpack_require__.hu(chunkId);
|
|
// create error before stack unwound to get useful stacktrace later
|
|
var error = new Error();
|
|
var loadingEnded = (event) => {
|
|
if (waitingUpdateResolves[chunkId]) {
|
|
waitingUpdateResolves[chunkId] = undefined;
|
|
var errorType =
|
|
event && (event.type === 'load' ? 'missing' : event.type);
|
|
var realSrc = event && event.target && event.target.src;
|
|
error.message =
|
|
'Loading hot update chunk ' +
|
|
chunkId +
|
|
' failed.\n(' +
|
|
errorType +
|
|
': ' +
|
|
realSrc +
|
|
')';
|
|
error.name = 'ChunkLoadError';
|
|
error.type = errorType;
|
|
error.request = realSrc;
|
|
reject(error);
|
|
}
|
|
};
|
|
__webpack_require__.l(url, loadingEnded);
|
|
});
|
|
}
|
|
|
|
self["webpackHotUpdateaeroflot_flights"] = (chunkId, moreModules, runtime) => {
|
|
for (var moduleId in moreModules) {
|
|
if (__webpack_require__.o(moreModules, moduleId)) {
|
|
currentUpdate[moduleId] = moreModules[moduleId];
|
|
if (currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);
|
|
}
|
|
}
|
|
if (runtime) currentUpdateRuntime.push(runtime);
|
|
if (waitingUpdateResolves[chunkId]) {
|
|
waitingUpdateResolves[chunkId]();
|
|
waitingUpdateResolves[chunkId] = undefined;
|
|
}
|
|
};
|
|
var currentUpdateChunks;
|
|
var currentUpdate;
|
|
var currentUpdateRemovedChunks;
|
|
var currentUpdateRuntime;
|
|
function applyHandler(options) {
|
|
if (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr;
|
|
currentUpdateChunks = undefined;
|
|
function getAffectedModuleEffects(updateModuleId) {
|
|
var outdatedModules = [updateModuleId];
|
|
var outdatedDependencies = {};
|
|
var queue = outdatedModules.map(function (id) {
|
|
return {
|
|
chain: [id],
|
|
id: id
|
|
};
|
|
});
|
|
while (queue.length > 0) {
|
|
var queueItem = queue.pop();
|
|
var moduleId = queueItem.id;
|
|
var chain = queueItem.chain;
|
|
var module = __webpack_require__.c[moduleId];
|
|
if (
|
|
!module ||
|
|
(module.hot._selfAccepted && !module.hot._selfInvalidated)
|
|
) {
|
|
continue;
|
|
}
|
|
|
|
if (module.hot._selfDeclined) {
|
|
return {
|
|
type: "self-declined",
|
|
chain: chain,
|
|
moduleId: moduleId
|
|
};
|
|
}
|
|
|
|
if (module.hot._main) {
|
|
return {
|
|
type: "unaccepted",
|
|
chain: chain,
|
|
moduleId: moduleId
|
|
};
|
|
}
|
|
|
|
for (var i = 0; i < module.parents.length; i++) {
|
|
var parentId = module.parents[i];
|
|
var parent = __webpack_require__.c[parentId];
|
|
if (!parent) {
|
|
continue;
|
|
}
|
|
if (parent.hot._declinedDependencies[moduleId]) {
|
|
return {
|
|
type: "declined",
|
|
chain: chain.concat([parentId]),
|
|
moduleId: moduleId,
|
|
parentId: parentId
|
|
};
|
|
}
|
|
if (outdatedModules.indexOf(parentId) !== -1) {
|
|
continue;
|
|
}
|
|
if (parent.hot._acceptedDependencies[moduleId]) {
|
|
if (!outdatedDependencies[parentId]) {
|
|
outdatedDependencies[parentId] = [];
|
|
}
|
|
addAllToSet(outdatedDependencies[parentId], [moduleId]);
|
|
continue;
|
|
}
|
|
delete outdatedDependencies[parentId];
|
|
outdatedModules.push(parentId);
|
|
queue.push({
|
|
chain: chain.concat([parentId]),
|
|
id: parentId
|
|
});
|
|
}
|
|
}
|
|
|
|
return {
|
|
type: "accepted",
|
|
moduleId: updateModuleId,
|
|
outdatedModules: outdatedModules,
|
|
outdatedDependencies: outdatedDependencies
|
|
};
|
|
}
|
|
|
|
function addAllToSet(a, b) {
|
|
for (var i = 0; i < b.length; i++) {
|
|
var item = b[i];
|
|
if (a.indexOf(item) === -1) a.push(item);
|
|
}
|
|
}
|
|
|
|
var outdatedDependencies = {};
|
|
var outdatedModules = [];
|
|
var appliedUpdate = {};
|
|
|
|
var warnUnexpectedRequire = function warnUnexpectedRequire(module) {
|
|
console.warn(
|
|
"[HMR] unexpected require(" + module.id + ") to disposed module"
|
|
);
|
|
throw Error("RuntimeError: factory is undefined(" + module.id + ")");
|
|
};
|
|
|
|
for (var moduleId in currentUpdate) {
|
|
if (__webpack_require__.o(currentUpdate, moduleId)) {
|
|
var newModuleFactory = currentUpdate[moduleId];
|
|
var result = newModuleFactory ? getAffectedModuleEffects(moduleId) : {
|
|
type: "disposed",
|
|
moduleId: moduleId
|
|
};
|
|
var abortError = false;
|
|
var doApply = false;
|
|
var doDispose = false;
|
|
var chainInfo = "";
|
|
if (result.chain) {
|
|
chainInfo = "\nUpdate propagation: " + result.chain.join(" -> ");
|
|
}
|
|
switch (result.type) {
|
|
case "self-declined":
|
|
if (options.onDeclined) options.onDeclined(result);
|
|
if (!options.ignoreDeclined)
|
|
abortError = new Error(
|
|
"Aborted because of self decline: " + result.moduleId + chainInfo
|
|
);
|
|
break;
|
|
case "declined":
|
|
if (options.onDeclined) options.onDeclined(result);
|
|
if (!options.ignoreDeclined)
|
|
abortError = new Error(
|
|
"Aborted because of declined dependency: " +
|
|
result.moduleId +
|
|
" in " +
|
|
result.parentId +
|
|
chainInfo
|
|
);
|
|
break;
|
|
case "unaccepted":
|
|
if (options.onUnaccepted) options.onUnaccepted(result);
|
|
if (!options.ignoreUnaccepted)
|
|
abortError = new Error(
|
|
"Aborted because " + moduleId + " is not accepted" + chainInfo
|
|
);
|
|
break;
|
|
case "accepted":
|
|
if (options.onAccepted) options.onAccepted(result);
|
|
doApply = true;
|
|
break;
|
|
case "disposed":
|
|
if (options.onDisposed) options.onDisposed(result);
|
|
doDispose = true;
|
|
break;
|
|
default:
|
|
throw new Error("Unexception type " + result.type);
|
|
}
|
|
if (abortError) {
|
|
return {
|
|
error: abortError
|
|
};
|
|
}
|
|
if (doApply) {
|
|
appliedUpdate[moduleId] = newModuleFactory;
|
|
addAllToSet(outdatedModules, result.outdatedModules);
|
|
for (moduleId in result.outdatedDependencies) {
|
|
if (__webpack_require__.o(result.outdatedDependencies, moduleId)) {
|
|
if (!outdatedDependencies[moduleId])
|
|
outdatedDependencies[moduleId] = [];
|
|
addAllToSet(
|
|
outdatedDependencies[moduleId],
|
|
result.outdatedDependencies[moduleId]
|
|
);
|
|
}
|
|
}
|
|
}
|
|
if (doDispose) {
|
|
addAllToSet(outdatedModules, [result.moduleId]);
|
|
appliedUpdate[moduleId] = warnUnexpectedRequire;
|
|
}
|
|
}
|
|
}
|
|
currentUpdate = undefined;
|
|
|
|
var outdatedSelfAcceptedModules = [];
|
|
for (var j = 0; j < outdatedModules.length; j++) {
|
|
var outdatedModuleId = outdatedModules[j];
|
|
var module = __webpack_require__.c[outdatedModuleId];
|
|
if (
|
|
module &&
|
|
(module.hot._selfAccepted || module.hot._main) &&
|
|
// removed self-accepted modules should not be required
|
|
appliedUpdate[outdatedModuleId] !== warnUnexpectedRequire &&
|
|
// when called invalidate self-accepting is not possible
|
|
!module.hot._selfInvalidated
|
|
) {
|
|
outdatedSelfAcceptedModules.push({
|
|
module: outdatedModuleId,
|
|
require: module.hot._requireSelf,
|
|
errorHandler: module.hot._selfAccepted
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
var moduleOutdatedDependencies;
|
|
return {
|
|
dispose: function () {
|
|
currentUpdateRemovedChunks.forEach(function (chunkId) {
|
|
delete installedChunks[chunkId];
|
|
});
|
|
currentUpdateRemovedChunks = undefined;
|
|
|
|
var idx;
|
|
var queue = outdatedModules.slice();
|
|
while (queue.length > 0) {
|
|
var moduleId = queue.pop();
|
|
var module = __webpack_require__.c[moduleId];
|
|
if (!module) continue;
|
|
|
|
var data = {};
|
|
|
|
// Call dispose handlers
|
|
var disposeHandlers = module.hot._disposeHandlers;
|
|
|
|
for (j = 0; j < disposeHandlers.length; j++) {
|
|
disposeHandlers[j].call(null, data);
|
|
}
|
|
__webpack_require__.hmrD[moduleId] = data;
|
|
|
|
module.hot.active = false;
|
|
|
|
delete __webpack_require__.c[moduleId];
|
|
|
|
delete outdatedDependencies[moduleId];
|
|
|
|
for (j = 0; j < module.children.length; j++) {
|
|
var child = __webpack_require__.c[module.children[j]];
|
|
if (!child) continue;
|
|
idx = child.parents.indexOf(moduleId);
|
|
if (idx >= 0) {
|
|
child.parents.splice(idx, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
var dependency;
|
|
for (var outdatedModuleId in outdatedDependencies) {
|
|
if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {
|
|
module = __webpack_require__.c[outdatedModuleId];
|
|
if (module) {
|
|
moduleOutdatedDependencies = outdatedDependencies[outdatedModuleId];
|
|
for (j = 0; j < moduleOutdatedDependencies.length; j++) {
|
|
dependency = moduleOutdatedDependencies[j];
|
|
idx = module.children.indexOf(dependency);
|
|
if (idx >= 0) module.children.splice(idx, 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
apply: function (reportError) {
|
|
// insert new code
|
|
for (var updateModuleId in appliedUpdate) {
|
|
if (__webpack_require__.o(appliedUpdate, updateModuleId)) {
|
|
__webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId];
|
|
|
|
}
|
|
}
|
|
|
|
// run new runtime modules
|
|
for (var i = 0; i < currentUpdateRuntime.length; i++) {
|
|
|
|
currentUpdateRuntime[i](__webpack_require__);
|
|
|
|
}
|
|
|
|
// call accept handlers
|
|
for (var outdatedModuleId in outdatedDependencies) {
|
|
if (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {
|
|
var module = __webpack_require__.c[outdatedModuleId];
|
|
if (module) {
|
|
moduleOutdatedDependencies = outdatedDependencies[outdatedModuleId];
|
|
var callbacks = [];
|
|
var errorHandlers = [];
|
|
var dependenciesForCallbacks = [];
|
|
for (var j = 0; j < moduleOutdatedDependencies.length; j++) {
|
|
var dependency = moduleOutdatedDependencies[j];
|
|
var acceptCallback = module.hot._acceptedDependencies[dependency];
|
|
var errorHandler = module.hot._acceptedErrorHandlers[dependency];
|
|
if (acceptCallback) {
|
|
if (callbacks.indexOf(acceptCallback) !== -1) continue;
|
|
callbacks.push(acceptCallback);
|
|
errorHandlers.push(errorHandler);
|
|
|
|
dependenciesForCallbacks.push(dependency);
|
|
}
|
|
}
|
|
for (var k = 0; k < callbacks.length; k++) {
|
|
try {
|
|
callbacks[k].call(null, moduleOutdatedDependencies);
|
|
} catch (err) {
|
|
if (typeof errorHandlers[k] === "function") {
|
|
try {
|
|
errorHandlers[k](err, {
|
|
moduleId: outdatedModuleId,
|
|
dependencyId: dependenciesForCallbacks[k]
|
|
});
|
|
} catch (err2) {
|
|
if (options.onErrored) {
|
|
options.onErrored({
|
|
type: "accept-error-handler-errored",
|
|
moduleId: outdatedModuleId,
|
|
dependencyId: dependenciesForCallbacks[k],
|
|
error: err2,
|
|
originalError: err
|
|
});
|
|
}
|
|
if (!options.ignoreErrored) {
|
|
reportError(err2);
|
|
reportError(err);
|
|
}
|
|
}
|
|
} else {
|
|
if (options.onErrored) {
|
|
options.onErrored({
|
|
type: "accept-errored",
|
|
moduleId: outdatedModuleId,
|
|
dependencyId: dependenciesForCallbacks[k],
|
|
error: err
|
|
});
|
|
}
|
|
if (!options.ignoreErrored) {
|
|
reportError(err);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Load self accepted modules
|
|
for (var o = 0; o < outdatedSelfAcceptedModules.length; o++) {
|
|
var item = outdatedSelfAcceptedModules[o];
|
|
var moduleId = item.module;
|
|
try {
|
|
item.require(moduleId);
|
|
} catch (err) {
|
|
if (typeof item.errorHandler === "function") {
|
|
try {
|
|
item.errorHandler(err, {
|
|
moduleId: moduleId,
|
|
module: __webpack_require__.c[moduleId]
|
|
});
|
|
} catch (err1) {
|
|
if (options.onErrored) {
|
|
options.onErrored({
|
|
type: "self-accept-error-handler-errored",
|
|
moduleId: moduleId,
|
|
error: err1,
|
|
originalError: err
|
|
});
|
|
}
|
|
if (!options.ignoreErrored) {
|
|
reportError(err1);
|
|
reportError(err);
|
|
}
|
|
}
|
|
} else {
|
|
if (options.onErrored) {
|
|
options.onErrored({
|
|
type: "self-accept-errored",
|
|
moduleId: moduleId,
|
|
error: err
|
|
});
|
|
}
|
|
if (!options.ignoreErrored) {
|
|
reportError(err);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return outdatedModules;
|
|
}
|
|
};
|
|
}
|
|
|
|
__webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) {
|
|
if (!currentUpdate) {
|
|
currentUpdate = {};
|
|
currentUpdateRuntime = [];
|
|
currentUpdateRemovedChunks = [];
|
|
applyHandlers.push(applyHandler);
|
|
}
|
|
if (!__webpack_require__.o(currentUpdate, moduleId)) {
|
|
currentUpdate[moduleId] = __webpack_require__.m[moduleId];
|
|
}
|
|
};
|
|
|
|
__webpack_require__.hmrC.jsonp = function (
|
|
chunkIds,
|
|
removedChunks,
|
|
removedModules,
|
|
promises,
|
|
applyHandlers,
|
|
updatedModulesList
|
|
) {
|
|
applyHandlers.push(applyHandler);
|
|
currentUpdateChunks = {};
|
|
currentUpdateRemovedChunks = removedChunks;
|
|
currentUpdate = removedModules.reduce(function (obj, key) {
|
|
obj[key] = false;
|
|
return obj;
|
|
}, {});
|
|
currentUpdateRuntime = [];
|
|
chunkIds.forEach(function (chunkId) {
|
|
if (
|
|
__webpack_require__.o(installedChunks, chunkId) &&
|
|
installedChunks[chunkId] !== undefined
|
|
) {
|
|
promises.push(loadUpdateChunk(chunkId, updatedModulesList));
|
|
currentUpdateChunks[chunkId] = true;
|
|
} else {
|
|
currentUpdateChunks[chunkId] = false;
|
|
}
|
|
});
|
|
if (__webpack_require__.f) {
|
|
__webpack_require__.f.jsonpHmr = function (chunkId, promises) {
|
|
if (
|
|
currentUpdateChunks &&
|
|
__webpack_require__.o(currentUpdateChunks, chunkId) &&
|
|
!currentUpdateChunks[chunkId]
|
|
) {
|
|
promises.push(loadUpdateChunk(chunkId));
|
|
currentUpdateChunks[chunkId] = true;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
__webpack_require__.hmrM = () => {
|
|
if (typeof fetch === "undefined")
|
|
throw new Error("No browser support: need fetch API");
|
|
return fetch(__webpack_require__.p + __webpack_require__.hmrF()).then(
|
|
(response) => {
|
|
if (response.status === 404) return; // no update available
|
|
if (!response.ok)
|
|
throw new Error(
|
|
"Failed to fetch update manifest " + response.statusText
|
|
);
|
|
return response.json();
|
|
}
|
|
);
|
|
};
|
|
__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
|
// install a JSONP callback for chunk loading
|
|
var __rspack_jsonp = (parentChunkLoadingFunction, data) => {
|
|
var [chunkIds, moreModules, runtime] = data;
|
|
// add "moreModules" to the modules object,
|
|
// then flag all "chunkIds" as loaded and fire callback
|
|
var moduleId, chunkId, i = 0;
|
|
if (chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
|
for (moduleId in moreModules) {
|
|
if (__webpack_require__.o(moreModules, moduleId)) {
|
|
__webpack_require__.m[moduleId] = moreModules[moduleId];
|
|
}
|
|
}
|
|
if (runtime) var result = runtime(__webpack_require__);
|
|
}
|
|
if (parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
|
for (; i < chunkIds.length; i++) {
|
|
chunkId = chunkIds[i];
|
|
if (
|
|
__webpack_require__.o(installedChunks, chunkId) &&
|
|
installedChunks[chunkId]
|
|
) {
|
|
installedChunks[chunkId][0]();
|
|
}
|
|
installedChunks[chunkId] = 0;
|
|
}
|
|
|
|
return __webpack_require__.O(result);
|
|
|
|
};
|
|
|
|
var chunkLoadingGlobal = self["webpackChunkaeroflot_flights"] = self["webpackChunkaeroflot_flights"] || [];
|
|
chunkLoadingGlobal.forEach(__rspack_jsonp.bind(null, 0));
|
|
chunkLoadingGlobal.push = __rspack_jsonp.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
|
|
|
})();
|
|
// module cache are used so entry inlining is disabled
|
|
// startup
|
|
// Load entry module and return exports
|
|
__webpack_require__.O(undefined, ["lib-react", "lib-router", "vendors-node_modules_leaflet_dist_leaflet_css-node_modules_rsbuild_core_dist_client_overlay_j-dae3ad"], () => __webpack_require__("./node_modules/@rspack/plugin-react-refresh/client/reactRefreshEntry.js"));
|
|
__webpack_require__.O(undefined, ["lib-react", "lib-router", "vendors-node_modules_leaflet_dist_leaflet_css-node_modules_rsbuild_core_dist_client_overlay_j-dae3ad"], () => __webpack_require__("data:text/javascript,import%20%7B%20init%20%7D%20from%20'%2FUsers%2Fgnezim%2F_projects%2Ftims%2Fflights%2FAeroflot.Flights.Web%2FClientApp%2Fnode_modules%2F%40rsbuild%2Fcore%2Fdist%2Fclient%2Fhmr.js'%3B%0Aimport%20'%2FUsers%2Fgnezim%2F_projects%2Ftims%2Fflights%2FAeroflot.Flights.Web%2FClientApp%2Fnode_modules%2F%40rsbuild%2Fcore%2Fdist%2Fclient%2Foverlay.js'%3B%0Ainit(%0A%20%20'3aaf3cf1ed6b930c'%2C%0A%20%20%7B%22path%22%3A%22%2Frsbuild-hmr%22%2C%22port%22%3A%22%22%2C%22host%22%3A%22%22%2C%22overlay%22%3Atrue%2C%22reconnect%22%3A100%2C%22logLevel%22%3A%22info%22%7D%2C%0A%20%20%22localhost%22%2C%0A%20%203000%2C%0A%20%20true%2C%0A%20%20true%2C%0A%20%20%22info%22%0A)%0A"));
|
|
var __webpack_exports__ = __webpack_require__.O(undefined, ["lib-react", "lib-router", "vendors-node_modules_leaflet_dist_leaflet_css-node_modules_rsbuild_core_dist_client_overlay_j-dae3ad"], () => __webpack_require__("./src/app/main.tsx"));
|
|
__webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
|
})()
|
|
;
|
|
//# sourceMappingURL=index.js.map
|