kupos-ui-components-lib 9.2.2 → 9.2.4
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/components/ServiceItem/ServiceItemDesktop.js +3 -4
- package/dist/components/ServiceItem/ServiceItemMobile.js +1 -1
- package/dist/ui/BottomAmenities/BottomAmenities.d.ts +2 -1
- package/dist/ui/BottomAmenities/BottomAmenities.js +2 -2
- package/dist/ui/ExpendedDropDown/ExpandedDropdown.js +12 -14
- package/dist/ui/mobileweb/BottomAmenitiesMobile.d.ts +2 -1
- package/dist/ui/mobileweb/BottomAmenitiesMobile.js +3 -3
- package/dist/ui/mobileweb/ExpandedDropdownMobile.js +12 -14
- package/package.json +1 -1
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +23 -21
- package/src/components/ServiceItem/ServiceItemMobile.tsx +1 -0
- package/src/ui/BottomAmenities/BottomAmenities.tsx +10 -6
- package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +27 -22
- package/src/ui/mobileweb/BottomAmenitiesMobile.tsx +15 -13
- package/src/ui/mobileweb/ExpandedDropdownMobile.tsx +27 -22
|
@@ -62,7 +62,6 @@ const ANIMATION_MAP = {
|
|
|
62
62
|
},
|
|
63
63
|
};
|
|
64
64
|
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, }) {
|
|
65
|
-
console.log("🚀 ~ ServiceItemPB ~ serviceItem:", serviceItem);
|
|
66
65
|
const startViewerCount = (node) => {
|
|
67
66
|
if (!node || !viewersConfig)
|
|
68
67
|
return;
|
|
@@ -312,8 +311,8 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
312
311
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) > 0 && (React.createElement("div", { className: "text-[12px] text-[#464647] mt-1 text-center" }, "\u00A1\u00DAltimos Asientos!")))) : null,
|
|
313
312
|
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 }))),
|
|
314
313
|
React.createElement(BottomAmenities, { otherItems: otherItems, serviceItem: serviceItem, grayscaleClass: grayscaleClass, isSoldOut: isSoldOut, isItemExpanded: isItemExpanded, colors: colors, translation: translation, getAnimationIcon: getAnimationIcon, downArrowIcon: renderIcon("downArrow", "10px"), onToggleExpand: () => setIsExpand &&
|
|
315
|
-
setIsExpand(isItemExpanded ? null : serviceItem.id) }))),
|
|
316
|
-
React.createElement("div", { style: {
|
|
314
|
+
setIsExpand(isItemExpanded ? null : serviceItem.id), isPeru: isPeru }))),
|
|
315
|
+
isPeru ? null : (React.createElement("div", { style: {
|
|
317
316
|
display: "grid",
|
|
318
317
|
gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
|
|
319
318
|
opacity: isItemExpanded ? 1 : 0,
|
|
@@ -322,7 +321,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
322
321
|
zIndex: -1,
|
|
323
322
|
} },
|
|
324
323
|
React.createElement("div", { style: { overflow: "hidden", minHeight: 0, marginTop: "-10px" } },
|
|
325
|
-
React.createElement(ExpandedDropdown, { serviceItem: serviceItem, isPeru: isPeru, translation: translation, getAnimationIcon: getAnimationIcon, isChangeTicket: serviceItem.is_change_ticket === true }))),
|
|
324
|
+
React.createElement(ExpandedDropdown, { serviceItem: serviceItem, isPeru: isPeru, translation: translation, getAnimationIcon: getAnimationIcon, isChangeTicket: serviceItem.is_change_ticket === true })))),
|
|
326
325
|
children,
|
|
327
326
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) && (React.createElement("div", { className: "text-white p-[10px_15px] text-left w-full flex items-center absolute -bottom-[36px] pt-[50px] -z-10 rounded-b-[14px] text-[14px]", style: {
|
|
328
327
|
backgroundColor: colors === null || colors === void 0 ? void 0 : colors.bottomStripColor,
|
|
@@ -153,7 +153,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
153
153
|
// }}
|
|
154
154
|
onDropdownToggle: () => {
|
|
155
155
|
setIsExpanded(isItemExpanded ? null : serviceItem.id);
|
|
156
|
-
} })),
|
|
156
|
+
}, isPeru: isPeru })),
|
|
157
157
|
React.createElement("div", { className: "absolute -top-[14px] left-0 w-full flex items-center justify-end gap-[12px] pr-[13px] z-10 " },
|
|
158
158
|
showTopLabel && (React.createElement("div", { className: `flex items-center gap-[2px] py-[4px] px-[10px] rounded-[38px] min-[420]:text-[12px] text-[10px] z-20 `, style: {
|
|
159
159
|
backgroundColor: isSoldOut ? "#ccc" : colors.ratingBottomColor,
|
|
@@ -21,6 +21,7 @@ interface BottomAmenitiesProps {
|
|
|
21
21
|
getAnimationIcon: (icon: string) => any;
|
|
22
22
|
downArrowIcon?: React.ReactNode;
|
|
23
23
|
onToggleExpand: () => void;
|
|
24
|
+
isPeru?: boolean;
|
|
24
25
|
}
|
|
25
|
-
declare function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }: BottomAmenitiesProps): React.ReactElement;
|
|
26
|
+
declare function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, isPeru, }: BottomAmenitiesProps): React.ReactElement;
|
|
26
27
|
export default BottomAmenities;
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import LottiePlayer from "../../assets/LottiePlayer";
|
|
3
3
|
import FlexibleBlock from "../FlexibleBlock";
|
|
4
4
|
import PetBlock from "../PetBlock";
|
|
5
|
-
function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }) {
|
|
5
|
+
function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, isPeru, }) {
|
|
6
6
|
const hasPetInfo = serviceItem.pet_seat_info &&
|
|
7
7
|
Object.keys(serviceItem.pet_seat_info).length > 0;
|
|
8
8
|
const showDownArrow = ((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_change_ticket) && serviceItem.pet_seat_info) ||
|
|
@@ -18,6 +18,6 @@ function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, i
|
|
|
18
18
|
React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }))),
|
|
19
19
|
serviceItem.is_change_ticket && (React.createElement(FlexibleBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, serviceItem: serviceItem, isSoldOut: isSoldOut })),
|
|
20
20
|
hasPetInfo && (React.createElement(PetBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, isSoldOut: isSoldOut })),
|
|
21
|
-
React.createElement("div", { className: `flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] ${isItemExpanded ? "rotate-180" : ""}`, onClick: onToggleExpand }, downArrowIcon))));
|
|
21
|
+
isPeru ? null : (React.createElement("div", { className: `flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] ${isItemExpanded ? "rotate-180" : ""}`, onClick: onToggleExpand }, downArrowIcon)))));
|
|
22
22
|
}
|
|
23
23
|
export default BottomAmenities;
|
|
@@ -20,26 +20,24 @@ function ExpandedDropdown({ serviceItem, isPeru = false, translation = {}, getAn
|
|
|
20
20
|
React.createElement("span", null,
|
|
21
21
|
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de anulaci\u00F3n:"),
|
|
22
22
|
" Tu pasaje puede ser anulado de forma online",
|
|
23
|
+
React.createElement("span", { className: "bold-text" }, " hasta 4 horas antes"),
|
|
24
|
+
" antes de la salida del bus.")),
|
|
25
|
+
isPeru ? null : isChangeTicket ? (React.createElement("div", { className: "flex gap-[8px]" },
|
|
26
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
27
|
+
React.createElement("span", null,
|
|
28
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de cambios:"),
|
|
29
|
+
" Tu pasaje puede ser cambiado de manera online",
|
|
23
30
|
" ",
|
|
24
31
|
React.createElement("span", { className: "bold-text" },
|
|
25
32
|
"hasta ",
|
|
26
33
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) || 6,
|
|
27
34
|
" horas antes"),
|
|
28
35
|
" ",
|
|
29
|
-
"de la salida del bus.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
: isChangeTicket && (React.createElement("div", { className: "flex gap-[8px]" },
|
|
33
|
-
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
36
|
+
"de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay."))) : (React.createElement("div", { className: "flex gap-[8px] text-[13.33px]" },
|
|
37
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
38
|
+
React.createElement("span", null,
|
|
34
39
|
React.createElement("span", null,
|
|
35
|
-
React.createElement("span", { className: "bold-text" }, "Pol\
|
|
36
|
-
"
|
|
37
|
-
" ",
|
|
38
|
-
React.createElement("span", { className: "bold-text" },
|
|
39
|
-
"hasta ",
|
|
40
|
-
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) || 6,
|
|
41
|
-
" horas antes"),
|
|
42
|
-
" ",
|
|
43
|
-
"de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay."))))));
|
|
40
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDtica de cambios:"),
|
|
41
|
+
" Esta empresa no permite cambios de pasajes")))))));
|
|
44
42
|
}
|
|
45
43
|
export default ExpandedDropdown;
|
|
@@ -19,6 +19,7 @@ interface BottomAmenitiesMobileProps {
|
|
|
19
19
|
setShowDropdown: (val: boolean) => void;
|
|
20
20
|
onDropdownToggle: () => void;
|
|
21
21
|
isItemExpanded?: boolean;
|
|
22
|
+
isPeru?: boolean;
|
|
22
23
|
}
|
|
23
|
-
declare function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, }: BottomAmenitiesMobileProps): React.ReactElement;
|
|
24
|
+
declare function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, isPeru, }: BottomAmenitiesMobileProps): React.ReactElement;
|
|
24
25
|
export default BottomAmenitiesMobile;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import LottiePlayer from "../../assets/LottiePlayer";
|
|
3
|
-
function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, }) {
|
|
3
|
+
function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, isPeru, }) {
|
|
4
4
|
return (React.createElement("div", { className: `${"flex justify-between items-center items-center "}` },
|
|
5
5
|
React.createElement("div", { className: "w-[55%] flex justify-between items-center" },
|
|
6
6
|
React.createElement("div", { style: { opacity: isSoldOut ? 0.5 : 1 } }, amenitiesNodes),
|
|
@@ -25,7 +25,7 @@ function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration,
|
|
|
25
25
|
isTrackingEnabled && (React.createElement("div", { className: "flex items-center mr-[10px]" },
|
|
26
26
|
React.createElement("div", { className: `h-auto mr-[4px] min-[420]:text-[13px] text-[11px] text-[#464647] ${isSoldOut ? "grayscale" : ""}` },
|
|
27
27
|
React.createElement(LottiePlayer, { animationData: locationAnim, width: "16px", height: "16px" }))))))),
|
|
28
|
-
React.createElement("div", { onClick: onDropdownToggle },
|
|
29
|
-
React.createElement("img", { src: downArrowIcon, alt: "icon", width: 14, height: 14, className: `${showDropdown ? "rotate-180" : ""} transition-transform duration-300` })))));
|
|
28
|
+
isPeru ? null : (React.createElement("div", { onClick: onDropdownToggle },
|
|
29
|
+
React.createElement("img", { src: downArrowIcon, alt: "icon", width: 14, height: 14, className: `${showDropdown ? "rotate-180" : ""} transition-transform duration-300` }))))));
|
|
30
30
|
}
|
|
31
31
|
export default BottomAmenitiesMobile;
|
|
@@ -23,26 +23,24 @@ function ExpandedDropdownMobile({ serviceItem, isPeru, petSeatInfo, petFriendlyA
|
|
|
23
23
|
React.createElement("span", null,
|
|
24
24
|
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de anulaci\u00F3n:"),
|
|
25
25
|
" Tu pasaje puede ser anulado de forma online",
|
|
26
|
+
React.createElement("span", { className: "bold-text" }, " hasta 4 horas antes"),
|
|
27
|
+
" antes de la salida del bus.")),
|
|
28
|
+
isPeru ? null : isChangeTicket ? (React.createElement("div", { className: "flex gap-[6px]" },
|
|
29
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
30
|
+
React.createElement("span", null,
|
|
31
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de cambios:"),
|
|
32
|
+
" Tu pasaje puede ser cambiado de manera online",
|
|
26
33
|
" ",
|
|
27
34
|
React.createElement("span", { className: "bold-text" },
|
|
28
35
|
"hasta ",
|
|
29
36
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) || 6,
|
|
30
37
|
" horas antes"),
|
|
31
38
|
" ",
|
|
32
|
-
"de la salida del bus.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
: isChangeTicket && (React.createElement("div", { className: "flex gap-[6px]" },
|
|
36
|
-
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
39
|
+
"de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay."))) : (React.createElement("div", { className: "flex gap-[8px] " },
|
|
40
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
41
|
+
React.createElement("span", null,
|
|
37
42
|
React.createElement("span", null,
|
|
38
|
-
React.createElement("span", { className: "bold-text" }, "Pol\
|
|
39
|
-
"
|
|
40
|
-
" ",
|
|
41
|
-
React.createElement("span", { className: "bold-text" },
|
|
42
|
-
"hasta ",
|
|
43
|
-
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) || 6,
|
|
44
|
-
" horas antes"),
|
|
45
|
-
" ",
|
|
46
|
-
"de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay."))))));
|
|
43
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDtica de cambios:"),
|
|
44
|
+
" Esta empresa no permite cambios de pasajes")))))));
|
|
47
45
|
}
|
|
48
46
|
export default ExpandedDropdownMobile;
|
package/package.json
CHANGED
|
@@ -103,7 +103,6 @@ function ServiceItemPB({
|
|
|
103
103
|
coachKey,
|
|
104
104
|
viewersConfig,
|
|
105
105
|
}: ServiceItemProps & { currencySign?: string }): React.ReactElement {
|
|
106
|
-
console.log("🚀 ~ ServiceItemPB ~ serviceItem:", serviceItem);
|
|
107
106
|
const startViewerCount = (node: HTMLSpanElement | null) => {
|
|
108
107
|
if (!node || !viewersConfig) return;
|
|
109
108
|
|
|
@@ -614,34 +613,37 @@ function ServiceItemPB({
|
|
|
614
613
|
setIsExpand &&
|
|
615
614
|
setIsExpand(isItemExpanded ? null : serviceItem.id)
|
|
616
615
|
}
|
|
616
|
+
isPeru={isPeru}
|
|
617
617
|
/>
|
|
618
618
|
</div>
|
|
619
619
|
</div>
|
|
620
620
|
|
|
621
621
|
{/* 🔹 EXPANDABLE DROPDOWN (below the card) */}
|
|
622
|
-
|
|
623
|
-
style={{
|
|
624
|
-
display: "grid",
|
|
625
|
-
gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
|
|
626
|
-
opacity: isItemExpanded ? 1 : 0,
|
|
627
|
-
transition:
|
|
628
|
-
"grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
|
|
629
|
-
position: "relative",
|
|
630
|
-
zIndex: -1,
|
|
631
|
-
}}
|
|
632
|
-
>
|
|
622
|
+
{isPeru ? null : (
|
|
633
623
|
<div
|
|
634
|
-
style={{
|
|
624
|
+
style={{
|
|
625
|
+
display: "grid",
|
|
626
|
+
gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
|
|
627
|
+
opacity: isItemExpanded ? 1 : 0,
|
|
628
|
+
transition:
|
|
629
|
+
"grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
|
|
630
|
+
position: "relative",
|
|
631
|
+
zIndex: -1,
|
|
632
|
+
}}
|
|
635
633
|
>
|
|
636
|
-
<
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
634
|
+
<div
|
|
635
|
+
style={{ overflow: "hidden", minHeight: 0, marginTop: "-10px" }}
|
|
636
|
+
>
|
|
637
|
+
<ExpandedDropdown
|
|
638
|
+
serviceItem={serviceItem}
|
|
639
|
+
isPeru={isPeru}
|
|
640
|
+
translation={translation}
|
|
641
|
+
getAnimationIcon={getAnimationIcon}
|
|
642
|
+
isChangeTicket={serviceItem.is_change_ticket === true}
|
|
643
|
+
/>
|
|
644
|
+
</div>
|
|
643
645
|
</div>
|
|
644
|
-
|
|
646
|
+
)}
|
|
645
647
|
|
|
646
648
|
{children}
|
|
647
649
|
{/* Bottom discount banner */}
|
|
@@ -24,6 +24,7 @@ interface BottomAmenitiesProps {
|
|
|
24
24
|
getAnimationIcon: (icon: string) => any;
|
|
25
25
|
downArrowIcon?: React.ReactNode;
|
|
26
26
|
onToggleExpand: () => void;
|
|
27
|
+
isPeru?: boolean;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
function BottomAmenities({
|
|
@@ -37,6 +38,7 @@ function BottomAmenities({
|
|
|
37
38
|
getAnimationIcon,
|
|
38
39
|
downArrowIcon,
|
|
39
40
|
onToggleExpand,
|
|
41
|
+
isPeru,
|
|
40
42
|
}: BottomAmenitiesProps): React.ReactElement {
|
|
41
43
|
const hasPetInfo =
|
|
42
44
|
serviceItem.pet_seat_info &&
|
|
@@ -95,12 +97,14 @@ function BottomAmenities({
|
|
|
95
97
|
|
|
96
98
|
{/* DOWN ARROW ICON */}
|
|
97
99
|
{/* {showDownArrow ? ( */}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
{isPeru ? null : (
|
|
101
|
+
<div
|
|
102
|
+
className={`flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] ${isItemExpanded ? "rotate-180" : ""}`}
|
|
103
|
+
onClick={onToggleExpand}
|
|
104
|
+
>
|
|
105
|
+
{downArrowIcon}
|
|
106
|
+
</div>
|
|
107
|
+
)}
|
|
104
108
|
{/* ) : null} */}
|
|
105
109
|
</div>
|
|
106
110
|
</div>
|
|
@@ -95,30 +95,35 @@ function ExpandedDropdown({
|
|
|
95
95
|
<span style={{ marginTop: "2px" }}>•</span>
|
|
96
96
|
<span>
|
|
97
97
|
<span className="bold-text">Políticas de anulación:</span> Tu pasaje
|
|
98
|
-
puede ser anulado de forma online
|
|
99
|
-
<span className="bold-text">
|
|
100
|
-
|
|
101
|
-
</span>{" "}
|
|
102
|
-
de la salida del bus. Al anular tu pasaje recibirás una devolución
|
|
103
|
-
del 85% del monto de tu compra.
|
|
98
|
+
puede ser anulado de forma online
|
|
99
|
+
<span className="bold-text"> hasta 4 horas antes</span> antes de la
|
|
100
|
+
salida del bus.
|
|
104
101
|
</span>
|
|
105
102
|
</div>
|
|
106
|
-
{isPeru
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
103
|
+
{isPeru ? null : isChangeTicket ? (
|
|
104
|
+
<div className="flex gap-[8px]">
|
|
105
|
+
<span style={{ marginTop: "2px" }}>•</span>
|
|
106
|
+
<span>
|
|
107
|
+
<span className="bold-text">Políticas de cambios:</span> Tu pasaje
|
|
108
|
+
puede ser cambiado de manera online{" "}
|
|
109
|
+
<span className="bold-text">
|
|
110
|
+
hasta {serviceItem?.change_ticket_hours || 6} horas antes
|
|
111
|
+
</span>{" "}
|
|
112
|
+
de la salida del bus. El monto será reembolsado a tu billetera
|
|
113
|
+
kupospay.
|
|
114
|
+
</span>
|
|
115
|
+
</div>
|
|
116
|
+
) : (
|
|
117
|
+
<div className="flex gap-[8px] text-[13.33px]">
|
|
118
|
+
<span style={{ marginTop: "2px" }}>•</span>
|
|
119
|
+
<span>
|
|
120
|
+
<span>
|
|
121
|
+
<span className="bold-text">Política de cambios:</span> Esta
|
|
122
|
+
empresa no permite cambios de pasajes
|
|
123
|
+
</span>
|
|
124
|
+
</span>
|
|
125
|
+
</div>
|
|
126
|
+
)}
|
|
122
127
|
</div>
|
|
123
128
|
</div>
|
|
124
129
|
);
|
|
@@ -21,6 +21,7 @@ interface BottomAmenitiesMobileProps {
|
|
|
21
21
|
setShowDropdown: (val: boolean) => void;
|
|
22
22
|
onDropdownToggle: () => void;
|
|
23
23
|
isItemExpanded?: boolean;
|
|
24
|
+
isPeru?: boolean;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
function BottomAmenitiesMobile({
|
|
@@ -43,6 +44,7 @@ function BottomAmenitiesMobile({
|
|
|
43
44
|
setShowDropdown,
|
|
44
45
|
onDropdownToggle,
|
|
45
46
|
isItemExpanded,
|
|
47
|
+
isPeru,
|
|
46
48
|
}: BottomAmenitiesMobileProps): React.ReactElement {
|
|
47
49
|
return (
|
|
48
50
|
<div className={`${"flex justify-between items-center items-center "}`}>
|
|
@@ -148,19 +150,19 @@ function BottomAmenitiesMobile({
|
|
|
148
150
|
</div>
|
|
149
151
|
)}
|
|
150
152
|
</div>
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
153
|
+
{isPeru ? null : (
|
|
154
|
+
<div onClick={onDropdownToggle}>
|
|
155
|
+
<img
|
|
156
|
+
src={downArrowIcon}
|
|
157
|
+
alt="icon"
|
|
158
|
+
width={14}
|
|
159
|
+
height={14}
|
|
160
|
+
className={`${
|
|
161
|
+
showDropdown ? "rotate-180" : ""
|
|
162
|
+
} transition-transform duration-300`}
|
|
163
|
+
/>
|
|
164
|
+
</div>
|
|
165
|
+
)}
|
|
164
166
|
</div>
|
|
165
167
|
</div>
|
|
166
168
|
);
|
|
@@ -67,30 +67,35 @@ function ExpandedDropdownMobile({
|
|
|
67
67
|
<span style={{ marginTop: "2px" }}>•</span>
|
|
68
68
|
<span>
|
|
69
69
|
<span className="bold-text">Políticas de anulación:</span> Tu pasaje
|
|
70
|
-
puede ser anulado de forma online
|
|
71
|
-
<span className="bold-text">
|
|
72
|
-
|
|
73
|
-
</span>{" "}
|
|
74
|
-
de la salida del bus. Al anular tu pasaje recibirás una devolución
|
|
75
|
-
del 85% del monto de tu compra.
|
|
70
|
+
puede ser anulado de forma online
|
|
71
|
+
<span className="bold-text"> hasta 4 horas antes</span> antes de la
|
|
72
|
+
salida del bus.
|
|
76
73
|
</span>
|
|
77
74
|
</div>
|
|
78
|
-
{isPeru
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
75
|
+
{isPeru ? null : isChangeTicket ? (
|
|
76
|
+
<div className="flex gap-[6px]">
|
|
77
|
+
<span style={{ marginTop: "2px" }}>•</span>
|
|
78
|
+
<span>
|
|
79
|
+
<span className="bold-text">Políticas de cambios:</span> Tu pasaje
|
|
80
|
+
puede ser cambiado de manera online{" "}
|
|
81
|
+
<span className="bold-text">
|
|
82
|
+
hasta {serviceItem?.change_ticket_hours || 6} horas antes
|
|
83
|
+
</span>{" "}
|
|
84
|
+
de la salida del bus. El monto será reembolsado a tu billetera
|
|
85
|
+
kupospay.
|
|
86
|
+
</span>
|
|
87
|
+
</div>
|
|
88
|
+
) : (
|
|
89
|
+
<div className="flex gap-[8px] ">
|
|
90
|
+
<span style={{ marginTop: "2px" }}>•</span>
|
|
91
|
+
<span>
|
|
92
|
+
<span>
|
|
93
|
+
<span className="bold-text">Política de cambios:</span> Esta
|
|
94
|
+
empresa no permite cambios de pasajes
|
|
95
|
+
</span>
|
|
96
|
+
</span>
|
|
97
|
+
</div>
|
|
98
|
+
)}
|
|
94
99
|
</div>
|
|
95
100
|
</div>
|
|
96
101
|
);
|