kupos-ui-components-lib 9.8.0 → 9.8.2
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.
- package/dist/KuposUIComponent.d.ts +0 -3
- package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemDesktop.js +21 -21
- package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemMobile.js +7 -16
- package/dist/components/ServiceItem/mobileTypes.d.ts +0 -32
- package/dist/components/ServiceItem/types.d.ts +7 -22
- package/dist/styles.css +3 -209
- package/dist/ui/SeatSection/SeatSection.d.ts +5 -1
- package/dist/ui/SeatSection/SeatSection.js +28 -6
- package/dist/utils/CommonService.js +1 -11
- package/package.json +1 -1
- package/src/KuposUIComponent.tsx +0 -3
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +38 -55
- package/src/components/ServiceItem/ServiceItemMobile.tsx +286 -340
- package/src/components/ServiceItem/mobileTypes.ts +1 -29
- package/src/components/ServiceItem/types.ts +7 -23
- package/src/styles.css +0 -15
- package/src/ui/SeatSection/SeatSection.tsx +59 -11
- package/src/utils/CommonService.ts +1 -13
- package/src/assets/images/anims/service_list/flame_anim.json +0 -1
- package/src/assets/images/anims/service_list/thunder_icon.json +0 -1
- package/src/assets/images/anims/service_list/users_anim.json +0 -1
- package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +0 -529
- package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +0 -559
|
@@ -15,9 +15,6 @@ interface KuposUIComponentProps {
|
|
|
15
15
|
orignLabel?: string;
|
|
16
16
|
destinationLabel?: string;
|
|
17
17
|
t?: (key: string) => string;
|
|
18
|
-
ticketQuantity?: number;
|
|
19
|
-
onIncreaseTicketQuantity?: (serviceItem: any) => void;
|
|
20
|
-
onDecreaseTicketQuantity?: (serviceItem: any) => void;
|
|
21
18
|
id?: string;
|
|
22
19
|
name?: string;
|
|
23
20
|
description?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ServiceItemProps } from "./types";
|
|
3
|
-
declare function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig,
|
|
3
|
+
declare function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, showLoginModal, isLoggedIn, showLoginOption, isTrain, selectedSeatKey, onSeatSelect, onTrainButtonClick, showSeatSelectionError, onShowSeatSelectionError, onClearSeatSelectionError, }: ServiceItemProps & {
|
|
4
4
|
currencySign?: string;
|
|
5
5
|
}): React.ReactElement;
|
|
6
6
|
export default ServiceItemPB;
|
|
@@ -23,8 +23,6 @@ import bombAnimation from "../../assets/images/anims/service_list/bomb.json";
|
|
|
23
23
|
import dotAnimation from "../../assets/images/anims/service_list/dot_animation.json";
|
|
24
24
|
import starAnimation from "../../assets/images/anims/service_list/star_anim.json";
|
|
25
25
|
import femaleAnimation from "../../assets/images/anims/service_list/female_anim.json";
|
|
26
|
-
import usersAnimation from "../../assets/images/anims/service_list/users_anim.json";
|
|
27
|
-
import flameAnimation from "../../assets/images/anims/service_list/flame_anim.json";
|
|
28
26
|
import RatingBlock from "../../ui/RatingBlock";
|
|
29
27
|
import DurationBlock from "../../ui/DurationBlock";
|
|
30
28
|
import PetBlock from "../../ui/PetBlock";
|
|
@@ -34,8 +32,6 @@ import KuposButton from "../../ui/KuposButton/KuposButton";
|
|
|
34
32
|
import BottomAmenities from "../../ui/BottomAmenities/BottomAmenities";
|
|
35
33
|
import SeatSection from "../../ui/SeatSection/SeatSection";
|
|
36
34
|
import DateTimeSection from "../../ui/DateTimeSection/DateTimeSection";
|
|
37
|
-
import FeatureServiceUi from "../../ui/FeatureServiceUI/FeatureServiceUi";
|
|
38
|
-
import thunderAnimation from "../../assets/images/anims/service_list/thunder_icon.json";
|
|
39
35
|
import ServiceBadges from "../../ui/ServiceBadges/ServiceBadges";
|
|
40
36
|
const SEAT_EXCEPTIONS = ["Asiento mascota"];
|
|
41
37
|
const ANIMATION_MAP = {
|
|
@@ -68,9 +64,6 @@ const ANIMATION_MAP = {
|
|
|
68
64
|
bombAnimation: {
|
|
69
65
|
kupos: bombAnimation,
|
|
70
66
|
},
|
|
71
|
-
thunderAnimation: {
|
|
72
|
-
kupos: thunderAnimation,
|
|
73
|
-
},
|
|
74
67
|
dotAnimation: {
|
|
75
68
|
kupos: dotAnimation,
|
|
76
69
|
},
|
|
@@ -80,15 +73,13 @@ const ANIMATION_MAP = {
|
|
|
80
73
|
femaaleAnimation: {
|
|
81
74
|
kupos: femaleAnimation,
|
|
82
75
|
},
|
|
83
|
-
usersAnimation: {
|
|
84
|
-
kupos: usersAnimation,
|
|
85
|
-
},
|
|
86
|
-
flameAnimation: {
|
|
87
|
-
kupos: flameAnimation,
|
|
88
|
-
},
|
|
89
76
|
};
|
|
90
|
-
function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t = (key) => key, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig,
|
|
77
|
+
function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t = (key) => key, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, showLoginModal, isLoggedIn, showLoginOption, isTrain, selectedSeatKey, onSeatSelect, onTrainButtonClick, showSeatSelectionError, onShowSeatSelectionError, onClearSeatSelectionError, }) {
|
|
91
78
|
var _a;
|
|
79
|
+
const handleSeatSelect = (key, price) => {
|
|
80
|
+
onClearSeatSelectionError === null || onClearSeatSelectionError === void 0 ? void 0 : onClearSeatSelectionError();
|
|
81
|
+
onSeatSelect === null || onSeatSelect === void 0 ? void 0 : onSeatSelect(key, price);
|
|
82
|
+
};
|
|
92
83
|
const getAnimationIcon = (icon) => {
|
|
93
84
|
var _a;
|
|
94
85
|
const animation = ANIMATION_MAP[icon];
|
|
@@ -226,6 +217,16 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
226
217
|
});
|
|
227
218
|
return;
|
|
228
219
|
}
|
|
220
|
+
if (isTrain) {
|
|
221
|
+
if (!selectedSeatKey) {
|
|
222
|
+
onShowSeatSelectionError === null || onShowSeatSelectionError === void 0 ? void 0 : onShowSeatSelectionError(serviceItem.id);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
if (onTrainButtonClick) {
|
|
226
|
+
onTrainButtonClick();
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
229
230
|
onBookButtonPress();
|
|
230
231
|
};
|
|
231
232
|
const items = [
|
|
@@ -256,11 +257,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
256
257
|
},
|
|
257
258
|
];
|
|
258
259
|
const otherItems = items.filter((i) => i.key !== "pet" && i.key !== "flexible" && !!i.condition);
|
|
259
|
-
return (React.createElement(React.Fragment, null, isPeruSites ? (React.createElement(PeruServiceItemDesktop, { serviceItem: serviceItem, onBookButtonPress: onBookButtonPress, colors: colors, metaData: metaData, children: children, busStage: busStage, serviceDetailsLoading: serviceDetailsLoading, cityOrigin: cityOrigin, cityDestination: cityDestination, translation: translation, orignLabel: orignLabel, destinationLabel: destinationLabel, currencySign: currencySign, isCiva: isCiva, showRating: showRating, showLastSeats: showLastSeats, removeArrivalTime: removeArrivalTime, removeDuplicateSeats: removeDuplicateSeats, isPeruSites: isPeruSites, t: (key) => t(key), showAvailableSeats: showAvailableSeats, isSeatIcon: isSeatIcon, isPeru: isPeru, siteType: siteType, isAllinBus: isAllinBus })) :
|
|
260
|
-
setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
|
|
261
|
-
isFeatureDropDownExpand === true
|
|
262
|
-
? null
|
|
263
|
-
: serviceItem.id), selectedTimeSlot: selectedTimeSlot, onTimeSlotChange: onTimeSlotChange, isTimeDropdownOpen: isTimeDropdownOpen, onTimeDropdownToggle: onTimeDropdownToggle })) : (React.createElement("div", { className: `relative hover:z-[150] ${hasOfferText || hasDpEnabled ? "mb-[55px]" : "mb-[10px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
260
|
+
return (React.createElement(React.Fragment, null, isPeruSites ? (React.createElement(PeruServiceItemDesktop, { serviceItem: serviceItem, onBookButtonPress: onBookButtonPress, colors: colors, metaData: metaData, children: children, busStage: busStage, serviceDetailsLoading: serviceDetailsLoading, cityOrigin: cityOrigin, cityDestination: cityDestination, translation: translation, orignLabel: orignLabel, destinationLabel: destinationLabel, currencySign: currencySign, isCiva: isCiva, showRating: showRating, showLastSeats: showLastSeats, removeArrivalTime: removeArrivalTime, removeDuplicateSeats: removeDuplicateSeats, isPeruSites: isPeruSites, t: (key) => t(key), showAvailableSeats: showAvailableSeats, isSeatIcon: isSeatIcon, isPeru: isPeru, siteType: siteType, isAllinBus: isAllinBus })) : (React.createElement("div", { className: `relative hover:z-[150] ${hasOfferText || hasDpEnabled ? "mb-[55px]" : "mb-[10px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
264
261
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
|
|
265
262
|
showTopLabel
|
|
266
263
|
? "mt-[24px]"
|
|
@@ -292,9 +289,13 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
292
289
|
backgroundColor: "#ccc",
|
|
293
290
|
} }),
|
|
294
291
|
React.createElement("div", { className: "content-center" },
|
|
295
|
-
React.createElement(SeatSection, { seatTypes: serviceItem.seat_types, serviceItem: serviceItem, availableSeats: serviceItem.available_seats, isSoldOut: isSoldOut, priceColor: colors.priceColor, dpSeatColor: colors.seatPriceColor, currencySign: currencySign, removeDuplicateSeats: removeDuplicateSeats, isPeru: isPeru, renderIcon: renderIcon, discountSeatPriceColor: colors.discountSeatPriceColor })),
|
|
292
|
+
React.createElement(SeatSection, { seatTypes: serviceItem.seat_types, serviceItem: serviceItem, availableSeats: serviceItem.available_seats, isSoldOut: isSoldOut, priceColor: colors.priceColor, dpSeatColor: colors.seatPriceColor, currencySign: currencySign, removeDuplicateSeats: removeDuplicateSeats, isPeru: isPeru, renderIcon: renderIcon, discountSeatPriceColor: colors.discountSeatPriceColor, isTrain: isTrain, selectedSeatKey: selectedSeatKey, onSeatSelect: handleSeatSelect, topLabelColor: colors.topLabelColor })),
|
|
296
293
|
React.createElement("div", { className: "relative" },
|
|
297
294
|
React.createElement(KuposButton, { isSoldOut: isSoldOut, isLoading: serviceDetailsLoading, buttonColor: colors.kuposButtonColor, buyLabel: translation === null || translation === void 0 ? void 0 : translation.buyButton, soldOutLabel: translation === null || translation === void 0 ? void 0 : translation.soldOutButton, soldOutIcon: renderIcon("soldOutIcon", "14px"), onClick: checkMidnight }),
|
|
295
|
+
showSeatSelectionError === serviceItem.id && isTrain && (React.createElement("div", { className: "flex justify-center mr-[11px] w-[100%] right-[0px] absolute left-[0] top-[40px]" },
|
|
296
|
+
React.createElement("div", { className: "text-[9px] text-center whitespace-nowrap", style: {
|
|
297
|
+
color: colors.seatPriceColor,
|
|
298
|
+
} }, "Selecciona el tipo de servicio"))),
|
|
298
299
|
showLastSeats ? (React.createElement("div", { className: "flex justify-center mr-[11px] w-[100%] right-[0px] absolute left-[0] top-[40px]" }, (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) < 10 &&
|
|
299
300
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) > 0 && (React.createElement("div", { className: "text-[12px] mt-1 text-center", style: {
|
|
300
301
|
color: colors.seatPriceColor,
|
|
@@ -307,7 +308,6 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
307
308
|
transition: "grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
|
|
308
309
|
position: "relative",
|
|
309
310
|
zIndex: hasOfferText || hasDpEnabled ? 0 : -1,
|
|
310
|
-
marginTop: isItemExpanded ? "" : "-10px",
|
|
311
311
|
} },
|
|
312
312
|
React.createElement("div", { style: Object.assign({ overflow: "hidden", minHeight: 0, marginTop: hasDpEnabled || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? "" : "-10px" }, (hasOfferText || hasDpEnabled
|
|
313
313
|
? {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MobileServiceItemProps } from "./mobileTypes";
|
|
3
|
-
declare function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig,
|
|
3
|
+
declare function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, }: MobileServiceItemProps): React.ReactElement;
|
|
4
4
|
export default ServiceItemMobile;
|
|
@@ -5,7 +5,6 @@ import BottomAmenitiesMobile from "../../ui/mobileweb/BottomAmenitiesMobile";
|
|
|
5
5
|
import DateTimeSectionMobile from "../../ui/mobileweb/DateTimeSectionMobile";
|
|
6
6
|
import ExpandedDropdownMobile from "../../ui/mobileweb/ExpandedDropdownMobile";
|
|
7
7
|
import ServiceBadgesMobile from "../../ui/mobileweb/ServiceBadgesMobile";
|
|
8
|
-
import FeatureServiceUiMobile from "../../ui/FeaturServiceUiMobile/FeatureServiceUiMobile";
|
|
9
8
|
const SEAT_EXCEPTIONS = ["Asiento mascota"];
|
|
10
9
|
const exceptions = [
|
|
11
10
|
"gy",
|
|
@@ -18,7 +17,7 @@ const exceptions = [
|
|
|
18
17
|
"blanco",
|
|
19
18
|
"asiento_mascota",
|
|
20
19
|
];
|
|
21
|
-
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig,
|
|
20
|
+
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, }) {
|
|
22
21
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
23
22
|
const isItemExpanded = serviceItem.id === isExpanded;
|
|
24
23
|
const isPetSeat = (Object.keys(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.pet_seat_info) || []).length > 0;
|
|
@@ -88,11 +87,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
88
87
|
if (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_transpordo) {
|
|
89
88
|
isConexion = true;
|
|
90
89
|
}
|
|
91
|
-
return (React.createElement(
|
|
92
|
-
setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
|
|
93
|
-
isFeatureDropDownExpand === true
|
|
94
|
-
? null
|
|
95
|
-
: serviceItem.id), selectedTimeSlot: selectedTimeSlot, onTimeSlotChange: onTimeSlotChange, isTimeDropdownOpen: isTimeDropdownOpen, onTimeDropdownToggle: onTimeDropdownToggle })) : (React.createElement("div", { className: `relative ${!serviceItem.offer_text || !(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) ? "mb-[14px]" : showTopLabel || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ? "mb-[20px]" : "mb-[12px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
90
|
+
return (React.createElement("div", { className: `relative ${!serviceItem.offer_text || !(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) ? "mb-[14px]" : showTopLabel || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ? "mb-[20px]" : "mb-[12px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
96
91
|
isConexion ||
|
|
97
92
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
|
|
98
93
|
showTopLabel
|
|
@@ -113,9 +108,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
113
108
|
React.createElement("div", { className: "flex items-center" },
|
|
114
109
|
React.createElement("img", { src: serviceItem.icons.rating, alt: "origin", className: `w-[12px] h-[12px] mr-[4px] object-contain ${isSoldOut ? "grayscale" : ""}` }),
|
|
115
110
|
React.createElement("span", { style: { lineHeight: "normal" } }, getServiceStars(serviceItem))),
|
|
116
|
-
React.createElement("div", { className: "flex items-center cursor-pointer ", style: {
|
|
117
|
-
color: isSoldOut ? "#bbb" : "text-[#464647]",
|
|
118
|
-
} },
|
|
111
|
+
React.createElement("div", { className: "flex items-center cursor-pointer ", style: { color: isSoldOut ? "#bbb" : "text-[#464647]" } },
|
|
119
112
|
React.createElement("span", { className: "ml-[3px] min-[420]:text-[13px] text-[12px] text-ellipsis overflow-hidden whitespace-nowrap max-w-[120px]" }, serviceItem.operator_details[2]))))) : null)),
|
|
120
113
|
React.createElement(DateTimeSectionMobile, { onBookButtonPress: onBookButtonPress, isCiva: isCiva, isSoldOut: isSoldOut, isLinatal: isLinatal, isPeru: isPeru, orignLabel: orignLabel, destinationLabel: destinationLabel, originIcon: (_c = serviceItem.icons) === null || _c === void 0 ? void 0 : _c.origin, destinationIcon: (_d = serviceItem.icons) === null || _d === void 0 ? void 0 : _d.destination, travelDate: serviceItem.travel_date, arrivalDate: serviceItem.arrival_date, depTime: serviceItem.dep_time, arrTime: serviceItem.arr_time, seatTypes: serviceItem.seat_types, seatPriceColor: colors.seatPriceColor, tooltipBgColor: colors.tooltipBgColor, currencySign: currencySign, availableSeats: serviceItem.available_seats, removeDuplicateSeats: removeDuplicateSeats, serviceItem: serviceItem, showLastSeats: showLastSeats, discountSeatPriceColor: colors.discountSeatPriceColor }),
|
|
121
114
|
hasDiscount && (React.createElement("div", { className: "flex justify-end" }, isSoldOut ? (React.createElement("span", { className: "col-span-2 min-[420]:text-[13px] text-right text-[12px] text-[#ccc]" }, "Agotado")) : null)),
|
|
@@ -130,9 +123,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
130
123
|
React.createElement(ServiceBadgesMobile, { showTopLabel: showTopLabel, isSoldOut: isSoldOut, colors: colors, renderIcon: renderIcon, serviceItem: serviceItem, isConexion: isConexion })),
|
|
131
124
|
((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled)) &&
|
|
132
125
|
!isSoldOut && (React.createElement("div", { className: "px-[12px] pt-[22px] pb-[8px] relative -z-9 -mt-[15px]", style: {
|
|
133
|
-
background: isSoldOut
|
|
134
|
-
? offerGradientWithOpacity
|
|
135
|
-
: offerGradient,
|
|
126
|
+
background: isSoldOut ? offerGradientWithOpacity : offerGradient,
|
|
136
127
|
// opacity: isSoldOut ? 0.5 : 1,
|
|
137
128
|
borderRadius: "0 0 14px 14px",
|
|
138
129
|
zIndex: -1,
|
|
@@ -140,8 +131,8 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
140
131
|
React.createElement("div", { className: "flex flex-col gap-[8px] text-[12px] min-[420px]:text-[12px] text-[#464647]", style: { lineHeight: 1.6 } },
|
|
141
132
|
React.createElement("div", { className: "flex justify-between items-center" },
|
|
142
133
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) &&
|
|
143
|
-
Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {})
|
|
144
|
-
|
|
134
|
+
Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {}).length ===
|
|
135
|
+
0 &&
|
|
145
136
|
((_g = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discounted_seats) !== null && _g !== void 0 ? _g : []).length === 0 ? (React.createElement("div", { className: "flex items-center gap-[6px]" },
|
|
146
137
|
React.createElement(LottiePlayer, { animationData: serviceItem.icons.starAnimation, width: "14px", height: "14px" }),
|
|
147
138
|
React.createElement("span", { className: "text-[#fff]" }, "M\u00E1s elegido"))) : (React.createElement("div", { className: `flex ${((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || "").length > 10 ? "items-start" : "items-center"}` },
|
|
@@ -189,6 +180,6 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
189
180
|
zIndex: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? -3 : undefined,
|
|
190
181
|
marginTop: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? "-15px" : "-10px",
|
|
191
182
|
} },
|
|
192
|
-
React.createElement(ExpandedDropdownMobile, { serviceItem: serviceItem, isPeru: isPeru, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, isSoldOut: isSoldOut, isChangeTicket: serviceItem.is_change_ticket === true, ladiesBookedSeats: serviceItem.ladies_booked_seats, isDpEnabled: serviceItem.is_dp_enabled, femaleAnim: serviceItem.icons.femaleAnim, flexibleAnim: serviceItem.icons.flexibleAnim, renderIcon: renderIcon })))))
|
|
183
|
+
React.createElement(ExpandedDropdownMobile, { serviceItem: serviceItem, isPeru: isPeru, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, isSoldOut: isSoldOut, isChangeTicket: serviceItem.is_change_ticket === true, ladiesBookedSeats: serviceItem.ladies_booked_seats, isDpEnabled: serviceItem.is_dp_enabled, femaleAnim: serviceItem.icons.femaleAnim, flexibleAnim: serviceItem.icons.flexibleAnim, renderIcon: renderIcon })))));
|
|
193
184
|
}
|
|
194
185
|
export default ServiceItemMobile;
|
|
@@ -124,19 +124,6 @@ export interface MobileServiceItemProps {
|
|
|
124
124
|
directoIcon?: string;
|
|
125
125
|
whiteFireIcon?: string;
|
|
126
126
|
femaleAnim?: string;
|
|
127
|
-
thunderAnim?: string;
|
|
128
|
-
personsAnim?: string;
|
|
129
|
-
whiteOrigin?: string;
|
|
130
|
-
whiteDestination?: string;
|
|
131
|
-
userIcon?: string;
|
|
132
|
-
sheildIcon?: string;
|
|
133
|
-
busIcon?: string;
|
|
134
|
-
whiteDownArrow?: string;
|
|
135
|
-
empressaIcon?: string;
|
|
136
|
-
flexibleIcon?: string;
|
|
137
|
-
listoIcon?: string;
|
|
138
|
-
precioIcon?: string;
|
|
139
|
-
confirmarIcon?: string;
|
|
140
127
|
cancelTicketIcon?: string;
|
|
141
128
|
changeTicketIcon?: string;
|
|
142
129
|
petFriendlyIcon?: string;
|
|
@@ -146,7 +133,6 @@ export interface MobileServiceItemProps {
|
|
|
146
133
|
useLottieFor?: string[];
|
|
147
134
|
};
|
|
148
135
|
onBookButtonPress?: () => void;
|
|
149
|
-
onRemateUiButtonClick?: () => void;
|
|
150
136
|
terminals?: any[];
|
|
151
137
|
showDropdown?: boolean;
|
|
152
138
|
setShowDropdown?: (value: boolean) => void;
|
|
@@ -201,22 +187,4 @@ export interface MobileServiceItemProps {
|
|
|
201
187
|
label?: string;
|
|
202
188
|
icon?: string;
|
|
203
189
|
};
|
|
204
|
-
isFeatureDropDownExpand?: any;
|
|
205
|
-
setIsFeatureDropDownExpand?: (value: any) => void;
|
|
206
|
-
ticketQuantity?: number;
|
|
207
|
-
onIncreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
|
|
208
|
-
onDecreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
|
|
209
|
-
cityOrigin?: {
|
|
210
|
-
value: number;
|
|
211
|
-
label: string;
|
|
212
|
-
};
|
|
213
|
-
cityDestination?: {
|
|
214
|
-
value: number;
|
|
215
|
-
label: string;
|
|
216
|
-
};
|
|
217
|
-
isNewUi?: boolean;
|
|
218
|
-
selectedTimeSlot?: string;
|
|
219
|
-
onTimeSlotChange?: (slot: string) => void;
|
|
220
|
-
isTimeDropdownOpen?: string | number | null;
|
|
221
|
-
onTimeDropdownToggle?: (id?: string | number | null) => void;
|
|
222
190
|
}
|
|
@@ -129,23 +129,11 @@ export interface ServiceItemProps {
|
|
|
129
129
|
personIcon?: string;
|
|
130
130
|
whiteFireIcon?: string;
|
|
131
131
|
fireIcon?: string;
|
|
132
|
-
whiteOrigin?: string;
|
|
133
|
-
whiteDestination?: string;
|
|
134
|
-
userIcon?: string;
|
|
135
|
-
sheildIcon?: string;
|
|
136
|
-
busIcon?: string;
|
|
137
|
-
whiteDownArrow?: string;
|
|
138
|
-
empressaIcon?: string;
|
|
139
|
-
flexibleIcon?: string;
|
|
140
|
-
listoIcon?: string;
|
|
141
|
-
precioIcon?: string;
|
|
142
|
-
confirmarIcon?: string;
|
|
143
132
|
[key: string]: string | Record<string, string | undefined> | undefined;
|
|
144
133
|
};
|
|
145
134
|
useLottieFor?: string[];
|
|
146
135
|
};
|
|
147
136
|
onBookButtonPress?: () => void;
|
|
148
|
-
onRemateUiButtonClick?: () => void;
|
|
149
137
|
terminals?: any[];
|
|
150
138
|
t?: (key: string) => string;
|
|
151
139
|
serviceDetailsLoading?: boolean;
|
|
@@ -225,11 +213,6 @@ export interface ServiceItemProps {
|
|
|
225
213
|
isAllinBus?: boolean;
|
|
226
214
|
isExpand?: any;
|
|
227
215
|
setIsExpand?: (value: any) => void;
|
|
228
|
-
isFeatureDropDownExpand?: any;
|
|
229
|
-
setIsFeatureDropDownExpand?: (value: any) => void;
|
|
230
|
-
ticketQuantity?: number;
|
|
231
|
-
onIncreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
|
|
232
|
-
onDecreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
|
|
233
216
|
coachKey?: number;
|
|
234
217
|
viewersConfig?: {
|
|
235
218
|
min: number;
|
|
@@ -238,12 +221,14 @@ export interface ServiceItemProps {
|
|
|
238
221
|
label?: string;
|
|
239
222
|
icon?: string;
|
|
240
223
|
};
|
|
241
|
-
isNewUi?: boolean;
|
|
242
224
|
showLoginModal?: any;
|
|
243
225
|
isLoggedIn?: any;
|
|
244
226
|
showLoginOption?: boolean;
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
227
|
+
isTrain?: boolean;
|
|
228
|
+
selectedSeatKey?: any;
|
|
229
|
+
onSeatSelect?: (key: any, price: number) => void;
|
|
230
|
+
onTrainButtonClick?: any;
|
|
231
|
+
showSeatSelectionError?: string | null;
|
|
232
|
+
onShowSeatSelectionError?: (serviceId: string) => void;
|
|
233
|
+
onClearSeatSelectionError?: () => void;
|
|
249
234
|
}
|