diff --git a/apps/angular/dist/index.js b/apps/angular/dist/index.js deleted file mode 100644 index aaf313830..000000000 --- a/apps/angular/dist/index.js +++ /dev/null @@ -1,4636 +0,0 @@ -(() => { -"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 OpenStreetMap 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 \ No newline at end of file diff --git a/apps/react/src/app/components/page-layout/page-layout.scss b/apps/react/src/app/components/page-layout/page-layout.scss index 3d51f5e19..ba49e88c5 100644 --- a/apps/react/src/app/components/page-layout/page-layout.scss +++ b/apps/react/src/app/components/page-layout/page-layout.scss @@ -1,24 +1,84 @@ -.page-layout { +// Header row - with tabs (left) and title (right) +.page-layout__row { display: flex; flex-direction: row; - align-items: flex-start; width: 100%; max-width: 1440px; - margin: 0 auto; - padding: 32px 24px; + margin: 0 auto 20px; + padding: 32px 24px 0; gap: 0; @media (max-width: 1050px) { flex-direction: column; - padding: 20px 24px; + padding: 20px 24px 0; + margin-bottom: 0; } @media (max-width: 768px) { - padding: 10px 16px; + padding: 10px 16px 0; } } -.page-layout__left { +// Header row +.page-layout__header { + padding: 0; + + @media (max-width: 1050px) { + margin-bottom: 20px; + } +} + +// Content row +.page-layout__content { + padding: 0 24px; + + @media (max-width: 1050px) { + padding: 0 24px; + } + + @media (max-width: 768px) { + padding: 0 16px; + } +} + +// Left column in header (tabs) +.page-layout__header-left { + position: relative; + flex-shrink: 0; + width: 285px; + margin-right: 1.5%; + z-index: 1001; + + @media (max-width: 1300px) { + width: calc(23.875% * 1.04); + } + + @media (max-width: 1050px) { + position: relative; + width: 100%; + margin-right: 0; + margin-bottom: 20px; + } +} + +// Right column in header (title) +.page-layout__header-right { + display: flex; + flex-direction: column; + width: calc(100% - 285px - 1.5%); + position: relative; + + @media (max-width: 1300px) { + width: calc(100% - calc(23.875% * 1.04) - 1.5%); + } + + @media (max-width: 1050px) { + width: 100%; + } +} + +// Left column in content (filter) +.page-layout__column-left { position: sticky; top: 20px; flex-shrink: 0; @@ -39,7 +99,8 @@ } } -.page-layout__right { +// Right column in content (main) +.page-layout__column-right { display: flex; flex-direction: column; width: calc(100% - 285px - 1.5%); @@ -54,20 +115,20 @@ } } -.page-layout__header { - position: relative; - z-index: 1001; - padding-top: 0; - margin-bottom: 20px; -} - +// Title styling .page-layout__title { margin-bottom: 20px; font-size: 24px; font-weight: 600; + + @media (max-width: 1050px) { + margin-bottom: 10px; + font-size: 20px; + } } -.page-layout__sticky { +// Sticky content (day tabs, etc) +.page-layout__sticky-content { position: sticky; top: 0; background: white; @@ -76,6 +137,7 @@ margin-bottom: 20px; } -.page-layout__content { +// Main content area +.page-layout__content-main { flex: 1; } diff --git a/apps/react/src/app/components/page-layout/page-layout.tsx b/apps/react/src/app/components/page-layout/page-layout.tsx index 1ce93f305..b034fa7fd 100644 --- a/apps/react/src/app/components/page-layout/page-layout.tsx +++ b/apps/react/src/app/components/page-layout/page-layout.tsx @@ -19,18 +19,31 @@ export const PageLayout: React.FC = ({ className, }) => { return ( -
-
- {contentLeft} -
-
- {headerLeft &&
{headerLeft}
} - {title &&
{title}
} - {stickyContent &&
{stickyContent}
} -
- {children} + <> + {/* Header Row - matches Angular page-layout__row page-layout__header */} + {headerLeft && ( +
+ +
+ {title &&
{title}
} +
+ )} + + {/* Content Row - matches Angular page-layout__row page-layout__content */} +
+ +
+ {stickyContent &&
{stickyContent}
} +
+ {children} +
+
-
+ ) } diff --git a/apps/react/src/app/features/online-board/pages/flight-details-page.tsx b/apps/react/src/app/features/online-board/pages/flight-details-page.tsx index 880fcc0bb..2f1a45bbb 100644 --- a/apps/react/src/app/features/online-board/pages/flight-details-page.tsx +++ b/apps/react/src/app/features/online-board/pages/flight-details-page.tsx @@ -78,18 +78,20 @@ export const FlightDetailsPage: React.FC = () => { if (error || !flight) { return (
- - + } + > + +
) } return (
- - } + title={