Files
flights_web_raw/ClientApp/dist/index.js
T
gnezim 0a5ab058a6 Initial commit: Aeroflot Flights Web - Angular 12 baseline
- Angular 12 application with PrimeNG components
- 5 existing Cypress e2e test suites
- SCSS styling with BEM naming convention
- i18n support (10 languages)
- Leaflet map integration
- Complete component hierarchy and routing structure

This baseline will be used for Angular → React migration.
2026-04-05 18:47:57 +03:00

4636 lines
206 KiB
JavaScript

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