kupos-ui-components-lib 9.6.3 → 9.6.5
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/assets/images/anims/service_list/female_anim.json +1 -0
- package/dist/components/ServiceItem/PeruServiceItemDesktop.d.ts +1 -1
- package/dist/components/ServiceItem/PeruServiceItemDesktop.js +133 -189
- package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemDesktop.js +8 -4
- package/dist/components/ServiceItem/ServiceItemMobile.js +8 -5
- package/dist/components/ServiceItem/mobileTypes.d.ts +5 -0
- package/dist/components/ServiceItem/types.d.ts +5 -3
- package/dist/styles.css +17 -2
- package/dist/types.d.ts +1 -0
- package/dist/ui/BottomAmenities/BottomAmenities.d.ts +2 -0
- package/dist/ui/BottomAmenities/BottomAmenities.js +4 -0
- package/dist/ui/ExpendedDropDown/ExpandedDropdown.d.ts +3 -1
- package/dist/ui/ExpendedDropDown/ExpandedDropdown.js +8 -1
- package/dist/ui/FemaleBlock.d.ts +9 -0
- package/dist/ui/FemaleBlock.js +19 -0
- package/dist/ui/OfferBanner.d.ts +2 -1
- package/dist/ui/OfferBanner.js +17 -6
- package/dist/ui/SeatSection/SeatSection.js +17 -9
- package/dist/ui/mobileweb/BottomAmenitiesMobile.d.ts +4 -1
- package/dist/ui/mobileweb/BottomAmenitiesMobile.js +8 -1
- package/dist/ui/mobileweb/DateTimeSectionMobile.d.ts +2 -1
- package/dist/ui/mobileweb/DateTimeSectionMobile.js +2 -2
- package/dist/ui/mobileweb/ExpandedDropdownMobile.d.ts +3 -1
- package/dist/ui/mobileweb/ExpandedDropdownMobile.js +8 -1
- package/dist/ui/mobileweb/SeatSectionMobile.d.ts +2 -1
- package/dist/ui/mobileweb/SeatSectionMobile.js +30 -15
- package/package.json +1 -1
- package/src/assets/images/anims/service_list/female_anim.json +1 -0
- package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +255 -322
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +8 -6
- package/src/components/ServiceItem/ServiceItemMobile.tsx +10 -70
- package/src/components/ServiceItem/mobileTypes.ts +5 -0
- package/src/components/ServiceItem/types.ts +5 -3
- package/src/types.ts +1 -0
- package/src/ui/BottomAmenities/BottomAmenities.tsx +14 -0
- package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +16 -0
- package/src/ui/FemaleBlock.tsx +45 -0
- package/src/ui/OfferBanner.tsx +24 -6
- package/src/ui/SeatSection/SeatSection.tsx +17 -8
- package/src/ui/mobileweb/BottomAmenitiesMobile.tsx +27 -0
- package/src/ui/mobileweb/DateTimeSectionMobile.tsx +3 -0
- package/src/ui/mobileweb/ExpandedDropdownMobile.tsx +15 -0
- package/src/ui/mobileweb/SeatSectionMobile.tsx +41 -32
|
@@ -30,6 +30,7 @@ interface SeatSectionMobileProps {
|
|
|
30
30
|
serviceItem?: any;
|
|
31
31
|
tooltipBgColor?: string;
|
|
32
32
|
showLastSeats?: boolean;
|
|
33
|
+
discountSeatPriceColor?: string;
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
interface SeatRowProps {
|
|
@@ -116,8 +117,8 @@ function SeatSectionMobile({
|
|
|
116
117
|
serviceItem,
|
|
117
118
|
tooltipBgColor,
|
|
118
119
|
showLastSeats,
|
|
120
|
+
discountSeatPriceColor,
|
|
119
121
|
}: SeatSectionMobileProps): React.ReactElement {
|
|
120
|
-
console.log("🚀 ~ SeatSectionMobile ~ serviceItem:", serviceItem);
|
|
121
122
|
const hasMultipleTypes = (seatTypesData?.length ?? 0) > 2;
|
|
122
123
|
|
|
123
124
|
const getFare = (fare: number) => {
|
|
@@ -244,21 +245,6 @@ function SeatSectionMobile({
|
|
|
244
245
|
{commonService.currency(discountedPrice, currencySign)}
|
|
245
246
|
</span>
|
|
246
247
|
</div>
|
|
247
|
-
{/* {showLastSeats ? (
|
|
248
|
-
<div className="flex justify-end">
|
|
249
|
-
{serviceItem?.available_seats < 10 &&
|
|
250
|
-
serviceItem?.available_seats > 0 && (
|
|
251
|
-
<div
|
|
252
|
-
className="text-[10px] text-center mt-[3px]"
|
|
253
|
-
style={{
|
|
254
|
-
color: tooltipBgColor,
|
|
255
|
-
}}
|
|
256
|
-
>
|
|
257
|
-
¡Últimos Asientos!
|
|
258
|
-
</div>
|
|
259
|
-
)}
|
|
260
|
-
</div>
|
|
261
|
-
) : null} */}
|
|
262
248
|
{isSoldOut ? (
|
|
263
249
|
<div className="flex justify-end">
|
|
264
250
|
<span
|
|
@@ -344,21 +330,40 @@ function SeatSectionMobile({
|
|
|
344
330
|
?.filter((seat) => !EXCEPTIONS.includes(seat.label))
|
|
345
331
|
?.sort((a, b) => a.discountedPrice - b.discountedPrice)[0];
|
|
346
332
|
|
|
347
|
-
const discountValue =
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
333
|
+
const discountValue = (() => {
|
|
334
|
+
if (
|
|
335
|
+
serviceItem?.discount_type === "percentage" &&
|
|
336
|
+
typeof serviceItem?.discount_value === "number"
|
|
337
|
+
) {
|
|
338
|
+
return Math.round(serviceItem.discount_value);
|
|
339
|
+
}
|
|
340
|
+
if (serviceItem?.discount_type === "fixed" && discountSeat) {
|
|
341
|
+
const { originalPrice, discountedPrice } = discountSeat;
|
|
342
|
+
if (originalPrice > 0 && originalPrice !== discountedPrice) {
|
|
343
|
+
return Math.round(
|
|
344
|
+
((originalPrice - discountedPrice) / originalPrice) * 100,
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return null;
|
|
349
|
+
})();
|
|
352
350
|
|
|
353
|
-
const
|
|
354
|
-
?
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
)
|
|
351
|
+
const getMinValue = (data: any): number | undefined => {
|
|
352
|
+
const vals = (Array.isArray(data) ? data : Object.values(data || {})).map(
|
|
353
|
+
Number,
|
|
354
|
+
);
|
|
355
|
+
if (!vals.length) return undefined;
|
|
356
|
+
const min = Math.min(...vals);
|
|
357
|
+
return isFinite(min) ? min : undefined;
|
|
358
|
+
};
|
|
359
|
+
const originalDpPrice = getMinValue(serviceItem?.original_dp_price);
|
|
360
|
+
const dpDiscountPercent = getMinValue(serviceItem?.dp_discount_percents);
|
|
361
|
+
const firstSeatFare = seatTypesData
|
|
362
|
+
?.filter(
|
|
363
|
+
(item) =>
|
|
364
|
+
getFilteredSeats(item.label) && !EXCEPTIONS.includes(item.label),
|
|
365
|
+
)
|
|
366
|
+
?.sort((a, b) => a.fare - b.fare)[0]?.fare;
|
|
362
367
|
|
|
363
368
|
const hasDpDiscount =
|
|
364
369
|
serviceItem?.dp_discounted_seats &&
|
|
@@ -433,7 +438,9 @@ function SeatSectionMobile({
|
|
|
433
438
|
</span>
|
|
434
439
|
<span
|
|
435
440
|
className="flex items-center justify-end gap-[4px] text-[14px] bold-text leading-[24px]"
|
|
436
|
-
style={{
|
|
441
|
+
style={{
|
|
442
|
+
color: isSoldOut ? "#bbb" : discountSeatPriceColor || "#ff5964",
|
|
443
|
+
}}
|
|
437
444
|
>
|
|
438
445
|
{serviceItem?.icons?.fireIcon ? (
|
|
439
446
|
<img
|
|
@@ -511,7 +518,9 @@ function SeatSectionMobile({
|
|
|
511
518
|
</span>
|
|
512
519
|
<span
|
|
513
520
|
className="flex items-center justify-end gap-[4px] text-[14px] bold-text leading-[24px]"
|
|
514
|
-
style={{
|
|
521
|
+
style={{
|
|
522
|
+
color: isSoldOut ? "#bbb" : discountSeatPriceColor || "#ff5964",
|
|
523
|
+
}}
|
|
515
524
|
>
|
|
516
525
|
{serviceItem?.icons?.fireIcon ? (
|
|
517
526
|
<img
|