@qite/tide-booking-component 1.4.109 → 1.4.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/build/build-cjs/index.js +1351 -775
  2. package/build/build-cjs/src/booking-wizard/components/step-route.d.ts +2 -2
  3. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +1 -0
  4. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar-util.d.ts +2 -1
  5. package/build/build-cjs/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -31
  6. package/build/build-cjs/src/search-results/components/book-packaging-entry/index.d.ts +7 -0
  7. package/build/build-cjs/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +7 -0
  8. package/build/build-cjs/src/search-results/components/spinner/spinner.d.ts +4 -1
  9. package/build/build-cjs/src/search-results/store/search-results-slice.d.ts +5 -1
  10. package/build/build-cjs/src/shared/booking/BookingPanel.d.ts +13 -0
  11. package/build/build-cjs/src/shared/booking/Sidebar.d.ts +34 -0
  12. package/build/build-cjs/src/shared/booking/StepIndicators.d.ts +7 -0
  13. package/build/build-cjs/src/shared/components/flyin/flyin.d.ts +2 -0
  14. package/build/build-cjs/src/shared/components/flyin/packaging-flights-flyin.d.ts +2 -0
  15. package/build/build-cjs/src/shared/utils/localization-util.d.ts +1 -0
  16. package/build/build-esm/index.js +1335 -770
  17. package/build/build-esm/src/booking-wizard/components/step-route.d.ts +2 -2
  18. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-flight.d.ts +1 -0
  19. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar-util.d.ts +2 -1
  20. package/build/build-esm/src/booking-wizard/features/sidebar/sidebar.d.ts +0 -31
  21. package/build/build-esm/src/search-results/components/book-packaging-entry/index.d.ts +7 -0
  22. package/build/build-esm/src/search-results/components/book-packaging-entry/wl-sidebar.d.ts +7 -0
  23. package/build/build-esm/src/search-results/components/spinner/spinner.d.ts +4 -1
  24. package/build/build-esm/src/search-results/store/search-results-slice.d.ts +5 -1
  25. package/build/build-esm/src/shared/booking/BookingPanel.d.ts +13 -0
  26. package/build/build-esm/src/shared/booking/Sidebar.d.ts +34 -0
  27. package/build/build-esm/src/shared/booking/StepIndicators.d.ts +7 -0
  28. package/build/build-esm/src/shared/components/flyin/flyin.d.ts +2 -0
  29. package/build/build-esm/src/shared/components/flyin/packaging-flights-flyin.d.ts +2 -0
  30. package/build/build-esm/src/shared/utils/localization-util.d.ts +1 -0
  31. package/package.json +1 -1
  32. package/src/booking-wizard/components/step-indicator.tsx +10 -31
  33. package/src/booking-wizard/components/step-route.tsx +39 -14
  34. package/src/booking-wizard/features/sidebar/index.tsx +10 -4
  35. package/src/booking-wizard/features/sidebar/sidebar-flight.tsx +2 -2
  36. package/src/booking-wizard/features/sidebar/sidebar-util.ts +1 -5
  37. package/src/booking-wizard/features/sidebar/sidebar.tsx +331 -326
  38. package/src/search-results/components/book-packaging-entry/index.tsx +48 -0
  39. package/src/search-results/components/book-packaging-entry/wl-sidebar.tsx +165 -0
  40. package/src/search-results/components/excursions/day-by-day-excursions.tsx +6 -2
  41. package/src/search-results/components/excursions/excursion-results.tsx +1 -1
  42. package/src/search-results/components/flight/flight-selection/independent-flight-selection.tsx +12 -3
  43. package/src/search-results/components/hotel/hotel-accommodation-results.tsx +6 -3
  44. package/src/search-results/components/itinerary/full-itinerary.tsx +1 -1
  45. package/src/search-results/components/itinerary/index.tsx +13 -12
  46. package/src/search-results/components/search-results-container/flight-search-results.tsx +1 -1
  47. package/src/search-results/components/search-results-container/search-results-container.tsx +239 -204
  48. package/src/search-results/components/spinner/spinner.tsx +12 -4
  49. package/src/search-results/store/search-results-slice.ts +16 -2
  50. package/src/shared/booking/BookingPanel.tsx +25 -0
  51. package/src/shared/booking/Sidebar.tsx +432 -0
  52. package/src/shared/booking/StepIndicators.tsx +30 -0
  53. package/src/shared/components/flyin/accommodation-flyin.tsx +3 -4
  54. package/src/shared/components/flyin/flights-flyin.tsx +1 -1
  55. package/src/shared/components/flyin/flyin.tsx +12 -4
  56. package/src/shared/components/flyin/group-tour-flyin.tsx +3 -4
  57. package/src/shared/components/flyin/packaging-flights-flyin.tsx +11 -4
  58. package/src/shared/components/icon.tsx +13 -0
  59. package/src/shared/translations/ar-SA.json +7 -1
  60. package/src/shared/translations/da-DK.json +7 -1
  61. package/src/shared/translations/de-DE.json +7 -1
  62. package/src/shared/translations/en-GB.json +8 -2
  63. package/src/shared/translations/es-ES.json +7 -1
  64. package/src/shared/translations/fr-BE.json +7 -1
  65. package/src/shared/translations/fr-FR.json +7 -1
  66. package/src/shared/translations/is-IS.json +7 -1
  67. package/src/shared/translations/it-IT.json +7 -1
  68. package/src/shared/translations/ja-JP.json +7 -1
  69. package/src/shared/translations/nl-BE.json +7 -1
  70. package/src/shared/translations/nl-NL.json +7 -1
  71. package/src/shared/translations/no-NO.json +7 -1
  72. package/src/shared/translations/pl-PL.json +7 -1
  73. package/src/shared/translations/pt-PT.json +7 -1
  74. package/src/shared/translations/sv-SE.json +7 -1
  75. package/src/shared/utils/localization-util.ts +8 -0
  76. package/styles/components/_loader.scss +82 -0
  77. package/styles/components/_search.scss +9 -2
  78. package/styles/content-blocks-variables.scss +14 -14
  79. /package/build/build-cjs/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  80. /package/build/build-esm/src/{booking-wizard/components → shared/booking}/product-card.d.ts +0 -0
  81. /package/src/{booking-wizard/components → shared/booking}/product-card.tsx +0 -0
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- interface StepRoute {
2
+ interface StepRouteProps {
3
3
  number: number;
4
4
  title: string;
5
5
  component: JSX.Element;
6
6
  }
7
- declare const StepRoute: React.FC<StepRoute>;
7
+ declare const StepRoute: React.FC<StepRouteProps>;
8
8
  export default StepRoute;
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  interface SidebarFlightProps {
4
4
  title: string;
5
5
  flightMetaData: BookingPackageFlightMetaData;
6
+ translations?: any;
6
7
  }
7
8
  declare const SidebarFlight: React.FC<SidebarFlightProps>;
8
9
  export default SidebarFlight;
@@ -4,7 +4,8 @@ export declare const getTravelersText: (
4
4
  rooms: {
5
5
  adults: RoomTraveler[];
6
6
  children: RoomTraveler[];
7
- }[]
7
+ }[],
8
+ translations: any
8
9
  ) => string[];
9
10
  export declare const getDateText: (date: string | undefined, hideYear?: boolean) => string | undefined;
10
11
  export declare const getDatePeriodText: (translations: Record<string, any>, from?: string, to?: string, nightsOnly?: boolean) => string | undefined;
@@ -1,31 +0,0 @@
1
- import { BookingPackageFlightMetaData, BookingPackageRoom, BookingPriceDetail } from '@qite/tide-client/build/types';
2
- import React from 'react';
3
- import { PricePerPaxType } from '../../types';
4
- interface SidebarProps {
5
- productName: string;
6
- thumbnailUrl?: string;
7
- isLoading: boolean;
8
- travelerRooms?: string[];
9
- startDateText?: string;
10
- endDateText?: string;
11
- departureFlightMetaData?: BookingPackageFlightMetaData;
12
- returnFlightMetaData?: BookingPackageFlightMetaData;
13
- basePrice?: number;
14
- commission?: number;
15
- totalPrice?: number;
16
- remainingAmountText?: string;
17
- includedCosts?: BookingPriceDetail[];
18
- extraCosts?: BookingPriceDetail[];
19
- deposit?: number;
20
- accommodations?: BookingPackageRoom[];
21
- includedServiceTypes?: number[];
22
- isOnRequest?: boolean;
23
- headerComponent?: JSX.Element;
24
- footerComponent?: JSX.Element;
25
- loaderComponent?: JSX.Element;
26
- isUnavailable?: boolean;
27
- basePricePerPaxType?: PricePerPaxType[];
28
- seperateExtraPricePerPaxType?: PricePerPaxType[];
29
- }
30
- declare const Sidebar: React.FC<SidebarProps>;
31
- export default Sidebar;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SearchSeed } from '../../types';
3
+ interface BookPackagingEntryProps {
4
+ activeSearchSeed: SearchSeed | null;
5
+ }
6
+ declare const BookPackagingEntry: React.FC<BookPackagingEntryProps>;
7
+ export default BookPackagingEntry;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SearchSeed } from '../../types';
3
+ interface WLSidebarProps {
4
+ activeSearchSeed: SearchSeed | null;
5
+ }
6
+ declare const WLSidebar: React.FC<WLSidebarProps>;
7
+ export default WLSidebar;
@@ -1,3 +1,6 @@
1
1
  import React from 'react';
2
- declare const Spinner: React.FC;
2
+ type SpinnerProps = {
3
+ label?: string;
4
+ };
5
+ declare const Spinner: React.FC<SpinnerProps>;
3
6
  export default Spinner;
@@ -43,6 +43,8 @@ export interface SearchResultsState {
43
43
  excursionSearchParams: ExcursionSearchParams | null;
44
44
  selectedExcursionSearchResult: PackagingAccommodationResponse | null;
45
45
  confirmedExcursionsByDay: Record<string, PackagingAccommodationResponse[]>;
46
+ bookPackagingEntry: boolean;
47
+ currentStep: number;
46
48
  }
47
49
  export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setResults'>,
48
50
  setFilteredResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<BookingPackageItem[], 'searchResults/setFilteredResults'>,
@@ -127,6 +129,8 @@ export declare const setResults: import('@reduxjs/toolkit').ActionCreatorWithPay
127
129
  dayKey: string;
128
130
  },
129
131
  'searchResults/clearConfirmedExcursionsForDay'
130
- >;
132
+ >,
133
+ setBookPackagingEntry: import('@reduxjs/toolkit').ActionCreatorWithPayload<boolean, 'searchResults/setBookPackagingEntry'>,
134
+ setCurrentStep: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'searchResults/setCurrentStep'>;
131
135
  declare const _default: import('@reduxjs/toolkit').Reducer<SearchResultsState>;
132
136
  export default _default;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface BookingPanelProps {
3
+ currentStep: number;
4
+ stepLabels: string[];
5
+ renderTitle: (step: number) => React.ReactNode;
6
+ children: React.ReactNode;
7
+ StepIndicatorsComponent: React.ComponentType<{
8
+ currentStep: number;
9
+ stepLabels: string[];
10
+ }>;
11
+ }
12
+ declare const BookingPanel: React.FC<BookingPanelProps>;
13
+ export default BookingPanel;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { BookingPackageRoom, PackagingEntryLine } from '@qite/tide-client';
3
+ import { PricePerPaxType } from '../../booking-wizard/types';
4
+ interface SharedSidebarProps {
5
+ productName: string;
6
+ thumbnailUrl?: string;
7
+ isLoading?: boolean;
8
+ travelerRooms?: string[];
9
+ startDateText?: string;
10
+ endDateText?: string;
11
+ departureFlightMetaData?: any;
12
+ returnFlightMetaData?: any;
13
+ basePrice?: number;
14
+ commission?: number;
15
+ totalPrice?: number;
16
+ remainingAmountText?: string;
17
+ includedCosts?: any[];
18
+ extraCosts?: any[];
19
+ deposit?: number;
20
+ accommodations?: BookingPackageRoom[];
21
+ packagingAccommodations?: PackagingEntryLine[];
22
+ includedServiceTypes?: number[];
23
+ isOnRequest?: boolean;
24
+ headerComponent?: React.ReactNode;
25
+ footerComponent?: React.ReactNode;
26
+ loaderComponent?: React.ReactNode;
27
+ isUnavailable?: boolean;
28
+ basePricePerPaxType?: PricePerPaxType[];
29
+ seperateExtraPricePerPaxType?: PricePerPaxType[];
30
+ translations: any;
31
+ agent?: number;
32
+ }
33
+ declare const SharedSidebar: React.FC<SharedSidebarProps>;
34
+ export default SharedSidebar;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface StepIndicatorsProps {
3
+ currentStep: number;
4
+ stepLabels: string[];
5
+ }
6
+ declare const StepIndicators: React.FC<StepIndicatorsProps>;
7
+ export default StepIndicators;
@@ -13,6 +13,8 @@ type FlyInProps = {
13
13
  isPackageEditFlow?: boolean;
14
14
  sortByTypes?: SortByType[];
15
15
  activeSearchSeed?: SearchSeed | null;
16
+ toggleFilters?: () => void;
17
+ filtersOpen: boolean;
16
18
  };
17
19
  declare const FlyIn: React.FC<FlyInProps>;
18
20
  export default FlyIn;
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  type FlightsFlyInProps = {
3
3
  isOpen: boolean;
4
4
  setIsOpen: (open: boolean) => void;
5
+ toggleFilters?: () => void;
6
+ filtersOpen: boolean;
5
7
  };
6
8
  declare const PackageingFlightsFlyIn: React.FC<FlightsFlyInProps>;
7
9
  export default PackageingFlightsFlyIn;
@@ -429,3 +429,4 @@ export declare const calculateDays: (fromDate: Date, toDate: Date) => number;
429
429
  export declare const getSortingName: (translations: any, sortByType: SortByType) => string;
430
430
  export declare const findSortByType: (sortByTypes: SortByType[], sortKey: string, direction: string) => SortByType;
431
431
  export declare const getDatesBetween: (fromDate: string, toDate: string) => Date[];
432
+ export declare const getDateOnlyTime: (date?: string | Date | null) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qite/tide-booking-component",
3
- "version": "1.4.109",
3
+ "version": "1.4.110",
4
4
  "description": "React Booking wizard & Booking product component for Tide",
5
5
  "main": "build/build-cjs/index.js",
6
6
  "types": "build/build-cjs/src/index.d.ts",
@@ -1,8 +1,8 @@
1
1
  import React, { useContext } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
- import { buildClassName } from '../../shared/utils/class-util';
4
3
  import { selectTranslations, selectTravelersFirstStep } from '../features/booking/selectors';
5
4
  import SettingsContext from '../settings-context';
5
+ import SharedStepIndicators from '../../shared/booking/StepIndicators';
6
6
 
7
7
  interface StepIndicatorsProps {
8
8
  currentStep: number;
@@ -10,48 +10,27 @@ interface StepIndicatorsProps {
10
10
 
11
11
  const StepIndicators: React.FC<StepIndicatorsProps> = ({ currentStep }) => {
12
12
  const { flightOptions, roomOptions } = useContext(SettingsContext);
13
-
14
13
  const translations = useSelector(selectTranslations);
15
14
  const travelersFirstStep = useSelector(selectTravelersFirstStep);
16
15
 
17
- const allSteps = [];
18
-
16
+ const stepLabels: string[] = [];
19
17
  if (travelersFirstStep) {
20
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
18
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
21
19
  }
22
20
  if (!flightOptions.isHidden) {
23
- allSteps.push(translations.STEPS.FLIGHT_OPTIONS);
21
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
24
22
  }
25
23
  if (!roomOptions.isHidden) {
26
- allSteps.push(translations.STEPS.ROOM_OPTIONS);
24
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
27
25
  }
28
-
29
- allSteps.push(translations.STEPS.EXTRA_OPTIONS);
30
-
26
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
31
27
  if (!travelersFirstStep) {
32
- allSteps.push(translations.STEPS.PERSONAL_DETAILS);
28
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
33
29
  }
34
- allSteps.push(translations.STEPS.SUMMARY);
35
- allSteps.push(translations.STEPS.CONFIRMATION);
30
+ stepLabels.push(translations.STEPS.SUMMARY);
31
+ stepLabels.push(translations.STEPS.CONFIRMATION);
36
32
 
37
- return (
38
- <div className="step-indicators">
39
- <div className="step-indicators__items">
40
- {allSteps.map((stepName, index) => (
41
- <div
42
- key={`${index + 1}-${stepName}`}
43
- className={buildClassName([
44
- 'step-indicators__item',
45
- currentStep === index + 1 && 'step-indicators__item--active',
46
- currentStep > index + 1 && 'step-indicators__item--completed'
47
- ])}>
48
- <div className="step-indicators__icon step-indicators__icon">{index + 1}</div>
49
- <div className="step-indicators__text">{stepName}</div>
50
- </div>
51
- ))}
52
- </div>
53
- </div>
54
- );
33
+ return <SharedStepIndicators currentStep={currentStep} stepLabels={stepLabels} />;
55
34
  };
56
35
 
57
36
  export default StepIndicators;
@@ -1,25 +1,50 @@
1
- import React from 'react';
1
+ import React, { useContext } from 'react';
2
2
  import StepIndicators from './step-indicator';
3
+ import BookingPanel from '../../shared/booking/BookingPanel';
4
+ import SettingsContext from '../settings-context';
5
+ import { useSelector } from 'react-redux';
6
+ import { selectTranslations, selectTravelersFirstStep } from '../features/booking/selectors';
3
7
 
4
- interface StepRoute {
8
+ interface StepRouteProps {
5
9
  number: number;
6
10
  title: string;
7
11
  component: JSX.Element;
8
12
  }
9
13
 
10
- const StepRoute: React.FC<StepRoute> = ({ number, title, component }) => {
14
+ const StepRoute: React.FC<StepRouteProps> = ({ number, title, component }) => {
15
+ const { flightOptions, roomOptions } = useContext(SettingsContext);
16
+ const translations = useSelector(selectTranslations);
17
+ const travelersFirstStep = useSelector(selectTravelersFirstStep);
18
+
19
+ const stepLabels: string[] = [];
20
+ if (travelersFirstStep) {
21
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
22
+ }
23
+ if (!flightOptions.isHidden) {
24
+ stepLabels.push(translations.STEPS.FLIGHT_OPTIONS);
25
+ }
26
+ if (!roomOptions.isHidden) {
27
+ stepLabels.push(translations.STEPS.ROOM_OPTIONS);
28
+ }
29
+ stepLabels.push(translations.STEPS.EXTRA_OPTIONS);
30
+ if (!travelersFirstStep) {
31
+ stepLabels.push(translations.STEPS.PERSONAL_DETAILS);
32
+ }
33
+ stepLabels.push(translations.STEPS.SUMMARY);
34
+ stepLabels.push(translations.STEPS.CONFIRMATION);
35
+
11
36
  return (
12
- <>
13
- <StepIndicators currentStep={number} />
14
- <div className="booking__panel-frame booking__panel-frame--transparent">
15
- <div className="booking__panel-heading">
16
- <h4 className="booking__panel-title">
17
- {number}. {title}
18
- </h4>
19
- </div>
20
- <div className="booking__panel-body">{component}</div>
21
- </div>
22
- </>
37
+ <BookingPanel
38
+ currentStep={number}
39
+ stepLabels={stepLabels}
40
+ StepIndicatorsComponent={StepIndicators}
41
+ renderTitle={(step) => (
42
+ <>
43
+ {step + 1}. {stepLabels[step]}
44
+ </>
45
+ )}>
46
+ {component}
47
+ </BookingPanel>
23
48
  );
24
49
  };
25
50
 
@@ -1,4 +1,5 @@
1
1
  import {
2
+ selectAgentAdressId,
2
3
  selectDepartureFlight,
3
4
  selectIncludedServiceTypes,
4
5
  selectIsFetchingProductOptions,
@@ -7,7 +8,8 @@ import {
7
8
  selectPackageRooms,
8
9
  selectReturnFlight,
9
10
  selectRoomOptionDepartureFlightsMetaData,
10
- selectRoomOptionReturnFlightsMetaData
11
+ selectRoomOptionReturnFlightsMetaData,
12
+ selectTranslations
11
13
  } from '../booking/selectors';
12
14
  import { getDateText, getTravelersText } from './sidebar-util';
13
15
  import { selectFormRooms } from '../travelers-form/travelers-form-slice';
@@ -26,7 +28,7 @@ import { useSelector } from 'react-redux';
26
28
 
27
29
  import React from 'react';
28
30
  import SettingsContext from '../../settings-context';
29
- import Sidebar from './sidebar';
31
+ import SharedSidebar from '../../../shared/booking/Sidebar';
30
32
  import { selectBookingAttributes } from '../booking/selectors';
31
33
  import { useContext } from 'react';
32
34
 
@@ -39,7 +41,8 @@ const SidebarContainer: React.FC<SidebarProps> = ({ productName, thumbnailUrl })
39
41
  const { sidebarHeaderComponent, sidebarFooterComponent, loaderComponent, showPricesPerPaxType } = useContext(SettingsContext);
40
42
  const bookingAttributes = useSelector(selectBookingAttributes);
41
43
  const rooms = useSelector(selectFormRooms);
42
- const travelerRooms = getTravelersText(rooms);
44
+ const translations = useSelector(selectTranslations);
45
+ const travelerRooms = getTravelersText(rooms, translations);
43
46
  const departureFlight = useSelector(selectDepartureFlight);
44
47
  const departureFlightMetaData = departureFlight?.flightMetaData ?? useSelector(selectRoomOptionDepartureFlightsMetaData)?.[0];
45
48
  const returnFlight = useSelector(selectReturnFlight);
@@ -50,9 +53,10 @@ const SidebarContainer: React.FC<SidebarProps> = ({ productName, thumbnailUrl })
50
53
  const includedServiceTypes = useSelector(selectIncludedServiceTypes);
51
54
  const isUnavailable = useSelector(selectIsUnavailable) || false;
52
55
  const isLoading = isFetchingProductOptions || isFetchingPriceDetails;
56
+ const agent = useSelector(selectAgentAdressId);
53
57
 
54
58
  return (
55
- <Sidebar
59
+ <SharedSidebar
56
60
  productName={productName}
57
61
  thumbnailUrl={thumbnailUrl}
58
62
  isLoading={isLoading}
@@ -76,6 +80,8 @@ const SidebarContainer: React.FC<SidebarProps> = ({ productName, thumbnailUrl })
76
80
  isUnavailable={isUnavailable}
77
81
  basePricePerPaxType={showPricesPerPaxType ? useSelector(selectBasePricePerPaxType) : undefined}
78
82
  seperateExtraPricePerPaxType={showPricesPerPaxType ? useSelector(selectSeparateExtraPriceDetailsPerPaxType) : undefined}
83
+ translations={translations}
84
+ agent={agent}
79
85
  />
80
86
  );
81
87
  };
@@ -8,13 +8,13 @@ import { getAirlines, getDateText, parseFlightLines } from './sidebar-util';
8
8
  interface SidebarFlightProps {
9
9
  title: string;
10
10
  flightMetaData: BookingPackageFlightMetaData;
11
+ translations?: any;
11
12
  }
12
13
 
13
- const SidebarFlight: React.FC<SidebarFlightProps> = ({ title, flightMetaData }) => {
14
+ const SidebarFlight: React.FC<SidebarFlightProps> = ({ title, flightMetaData, translations }) => {
14
15
  const flightLines = parseFlightLines(flightMetaData);
15
16
  const firstFlight = first(flightLines);
16
17
  const lastFlight = last(flightLines);
17
- const translations = useSelector(selectTranslations);
18
18
 
19
19
  return (
20
20
  <div className="pricing-summary__group">
@@ -1,13 +1,9 @@
1
1
  import { BookingPackageFlightMetaData } from '@qite/tide-client/build/types';
2
2
  import { differenceInCalendarDays, format, parseISO } from 'date-fns';
3
3
  import { compact, orderBy, uniq } from 'lodash';
4
- import { useSelector } from 'react-redux';
5
4
  import { FlightLine, RoomTraveler } from '../../types';
6
- import { selectTranslations } from '../booking/selectors';
7
-
8
- export const getTravelersText = (rooms: { adults: RoomTraveler[]; children: RoomTraveler[] }[]): string[] => {
9
- const translations = useSelector(selectTranslations);
10
5
 
6
+ export const getTravelersText = (rooms: { adults: RoomTraveler[]; children: RoomTraveler[] }[], translations: any): string[] => {
11
7
  return rooms.map((r) =>
12
8
  compact([
13
9
  r.adults.length,