@tripian/react 9.3.26 → 9.3.29

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/index.js CHANGED
@@ -61680,7 +61680,6 @@ const KiwiBookingModal = ({ hotelName, roomTitle, rate, currency, checkIn, check
61680
61680
  }
61681
61681
  };
61682
61682
  const handleSubmit = async () => {
61683
- var _a;
61684
61683
  setSubmitting(true);
61685
61684
  setApiError('');
61686
61685
  const externalId = generateExternalId();
@@ -61724,8 +61723,8 @@ const KiwiBookingModal = ({ hotelName, roomTitle, rate, currency, checkIn, check
61724
61723
  ...(payment.message_to_hotel ? { message_to_hotel: payment.message_to_hotel } : {}),
61725
61724
  };
61726
61725
  const res = await onCreateReservation(req);
61727
- if ((_a = res.data) === null || _a === void 0 ? void 0 : _a.confirmationId) {
61728
- setConfirmationId(res.data.confirmationId);
61726
+ if (res.data) {
61727
+ setConfirmationId(res.data.confirmationId || externalId);
61729
61728
  setStep(3);
61730
61729
  }
61731
61730
  else {
@@ -93685,7 +93684,13 @@ const KiwiHotelCard_scss_1 = __importDefault(__webpack_require__(1134));
93685
93684
  const KiwiHotelCardImage_1 = __importDefault(__webpack_require__(1135));
93686
93685
  const KiwiVisaBenefitsModal_1 = __importDefault(__webpack_require__(450));
93687
93686
  const currencySymbol_1 = __webpack_require__(123);
93688
- const KiwiHotelCard = ({ hotel, isFavorite, onFavoriteToggle, showVisaBadge, onHover, onSpecialOffersClick, onCardClick, t }) => {
93687
+ const buildBookingUrl = (catalogUrl, checkIn, checkOut, adults, children) => {
93688
+ const base = catalogUrl.replace(/\/$/, '');
93689
+ if (!checkIn || !checkOut)
93690
+ return base;
93691
+ return `${base}/${checkIn}/${checkOut}/${adults !== null && adults !== void 0 ? adults : 2}/${children !== null && children !== void 0 ? children : 0}/1`;
93692
+ };
93693
+ const KiwiHotelCard = ({ hotel, isFavorite, onFavoriteToggle, showVisaBadge, onHover, onSpecialOffersClick, onCardClick, checkIn, checkOut, adults, children, t }) => {
93689
93694
  const [visaModalOpen, setVisaModalOpen] = (0, react_1.useState)(false);
93690
93695
  const starCount = Math.min(5, Math.round(parseFloat(hotel.starRating) || 0));
93691
93696
  const score = parseFloat(hotel.kiwiOverallScore) || 0;
@@ -93724,10 +93729,11 @@ const KiwiHotelCard = ({ hotel, isFavorite, onFavoriteToggle, showVisaBadge, onH
93724
93729
  (0, currencySymbol_1.getCurrencySymbol)(hotel.currencyCode),
93725
93730
  price.toFixed(0),
93726
93731
  react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.priceUnit }, t('kiwi.common.perNight')))),
93727
- hotel.websiteURL && (react_1.default.createElement("button", { type: "button", className: KiwiHotelCard_scss_1.default.bookBtn, onClick: (e) => {
93732
+ react_1.default.createElement("button", { type: "button", className: KiwiHotelCard_scss_1.default.bookBtn, onClick: (e) => {
93728
93733
  e.stopPropagation();
93729
- window.open(hotel.websiteURL, '_blank', 'noopener,noreferrer');
93730
- } }, t('kiwi.card.book'))))),
93734
+ if (hotel.catalogUrl)
93735
+ window.open(buildBookingUrl(hotel.catalogUrl, checkIn, checkOut, adults, children), '_blank', 'noopener,noreferrer');
93736
+ } }, t('kiwi.card.book')))),
93731
93737
  react_1.default.createElement("div", { className: KiwiHotelCard_scss_1.default.row2 },
93732
93738
  react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.name }, hotel.title),
93733
93739
  starCount > 0 && (react_1.default.createElement("span", { className: KiwiHotelCard_scss_1.default.goldStars }, Array.from({ length: starCount }, (_, i) => (react_1.default.createElement("svg", { key: i, className: KiwiHotelCard_scss_1.default.goldStar, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
@@ -94803,15 +94809,14 @@ const KiwiHotelInfoModal = ({ hotel, onClose, fetchPropertyDetail, fetchProperty
94803
94809
  react_1.default.createElement("circle", { cx: "12", cy: "12", r: "10" }),
94804
94810
  react_1.default.createElement("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
94805
94811
  react_1.default.createElement("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" }))))),
94806
- (onCreateReservation || onBookNow) && (react_1.default.createElement("button", { type: "button", className: KiwiHotelInfoModal_scss_1.default.bookNowBtn, onClick: () => {
94812
+ hotel.catalogUrl && (react_1.default.createElement("button", { type: "button", className: KiwiHotelInfoModal_scss_1.default.bookNowBtn, onClick: () => {
94807
94813
  if (onBookNowClick)
94808
94814
  onBookNowClick(hotel, room, rate);
94809
- if (onCreateReservation) {
94810
- setBookingModal({ room, rate, currency: rateCurrency });
94811
- }
94812
- else if (onBookNow) {
94813
- onBookNow(hotel, room, rate);
94814
- }
94815
+ const base = hotel.catalogUrl.replace(/\/$/, '');
94816
+ const url = internalCheckIn && internalCheckOut
94817
+ ? `${base}/${internalCheckIn}/${internalCheckOut}/${internalAdults}/${internalChildren}/1`
94818
+ : base;
94819
+ window.open(url, '_blank', 'noopener,noreferrer');
94815
94820
  } }, t('kiwi.common.bookNow'))))),
94816
94821
  (rate.description || (rate.policies && Object.values(rate.policies).some(Boolean))) && (react_1.default.createElement("button", { type: "button", className: KiwiHotelInfoModal_scss_1.default.seeMoreBtn, onClick: () => { setRoomRateModal({ roomTitle: room.title, rate, currency: rateCurrency }); if (onSeeMoreDetails)
94817
94822
  onSeeMoreDetails(hotel, room, rate); } },
@@ -94886,17 +94891,13 @@ const KiwiHotelInfoModal = ({ hotel, onClose, fetchPropertyDetail, fetchProperty
94886
94891
  react_1.default.createElement("polyline", { points: "9 18 15 12 9 6" })))))))),
94887
94892
  visaModalOpen && react_1.default.createElement(KiwiVisaBenefitsModal_1.default, { onClose: () => setVisaModalOpen(false), t: t }),
94888
94893
  offersModalOpen && (react_1.default.createElement(KiwiSpecialOffersModal_1.default, { hotelName: data.title, specialOffers: loadingDetail ? undefined : ((_b = propertyDetail === null || propertyDetail === void 0 ? void 0 : propertyDetail.specialOffers) !== null && _b !== void 0 ? _b : []), onClose: () => setOffersModalOpen(false), t: t })),
94889
- roomRateModal && (react_1.default.createElement(KiwiRoomRateModal_1.default, { roomTitle: roomRateModal.roomTitle, rate: roomRateModal.rate, currency: roomRateModal.currency, nightCount: nightCount, onClose: () => setRoomRateModal(undefined), t: t, onBookNow: onCreateReservation || onBookNow ? () => {
94890
- const { rate: rr, currency: rc } = roomRateModal;
94891
- const matchingRoom = availabilityData === null || availabilityData === void 0 ? void 0 : availabilityData.rooms.find((r) => { var _a; return (_a = r.rates) === null || _a === void 0 ? void 0 : _a.some((rt) => rt.code === rr.code); });
94894
+ roomRateModal && (react_1.default.createElement(KiwiRoomRateModal_1.default, { roomTitle: roomRateModal.roomTitle, rate: roomRateModal.rate, currency: roomRateModal.currency, nightCount: nightCount, onClose: () => setRoomRateModal(undefined), t: t, onBookNow: hotel.catalogUrl ? () => {
94892
94895
  setRoomRateModal(undefined);
94893
- if (onCreateReservation) {
94894
- if (matchingRoom)
94895
- setBookingModal({ room: matchingRoom, rate: rr, currency: rc });
94896
- }
94897
- else if (onBookNow && matchingRoom) {
94898
- onBookNow(hotel, matchingRoom, rr);
94899
- }
94896
+ const base = hotel.catalogUrl.replace(/\/$/, '');
94897
+ const url = internalCheckIn && internalCheckOut
94898
+ ? `${base}/${internalCheckIn}/${internalCheckOut}/${internalAdults}/${internalChildren}/1`
94899
+ : base;
94900
+ window.open(url, '_blank', 'noopener,noreferrer');
94900
94901
  } : undefined })),
94901
94902
  bookingModal && onCreateReservation && (react_1.default.createElement(KiwiBookingModal_1.default, { hotelName: data.title, roomTitle: bookingModal.room.title, rate: bookingModal.rate, currency: bookingModal.currency, checkIn: internalCheckIn, checkOut: internalCheckOut, nightCount: nightCount, adults: internalAdults, children: internalChildren, propertyCode: hotel.code, roomCode: bookingModal.room.code, generateExternalId: generateExternalId || (() => `${hotel.code}-${Date.now()}`), onClose: () => setBookingModal(undefined), onCreateReservation: async (req) => {
94902
94903
  const res = await onCreateReservation(req);