@admin-layout/tailwind-design-pro 10.1.1-alpha.16 → 10.1.1-alpha.18

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 (33) hide show
  1. package/lib/components/DeepLinkWaitingPage/DeepLinkWaitingPage.d.ts.map +1 -1
  2. package/lib/components/DeepLinkWaitingPage/DeepLinkWaitingPage.js +140 -9
  3. package/lib/components/DeepLinkWaitingPage/DeepLinkWaitingPage.js.map +1 -1
  4. package/lib/components/Layout/Sidebar/Sidebar.d.ts.map +1 -1
  5. package/lib/components/Layout/Sidebar/Sidebar.js +14 -25
  6. package/lib/components/Layout/Sidebar/Sidebar.js.map +1 -1
  7. package/lib/components/Layout/Sidebar/SidebarMenu.d.ts.map +1 -1
  8. package/lib/components/Layout/Sidebar/SidebarMenu.js +9 -6
  9. package/lib/components/Layout/Sidebar/SidebarMenu.js.map +1 -1
  10. package/lib/components/UI/PropertyCard.d.ts.map +1 -1
  11. package/lib/components/UI/PropertyCard.js +70 -34
  12. package/lib/components/UI/PropertyCard.js.map +1 -1
  13. package/lib/config/analytics-config.js +23 -2
  14. package/lib/config/analytics-config.js.map +1 -1
  15. package/lib/config/api.config.d.ts +37 -0
  16. package/lib/config/api.config.d.ts.map +1 -0
  17. package/lib/config/api.config.js +52 -0
  18. package/lib/config/api.config.js.map +1 -0
  19. package/lib/config/env-config.d.ts +1 -0
  20. package/lib/config/env-config.d.ts.map +1 -1
  21. package/lib/config/env-config.js +3 -0
  22. package/lib/config/env-config.js.map +1 -1
  23. package/lib/config/index.d.ts +1 -0
  24. package/lib/config/index.d.ts.map +1 -1
  25. package/lib/utils/fetchBookingHotelDetails.d.ts +2 -0
  26. package/lib/utils/fetchBookingHotelDetails.d.ts.map +1 -0
  27. package/lib/utils/fetchBookingHotelDetails.js +30 -0
  28. package/lib/utils/fetchBookingHotelDetails.js.map +1 -0
  29. package/lib/utils/fetchPricelineHotelDetails.d.ts +2 -0
  30. package/lib/utils/fetchPricelineHotelDetails.d.ts.map +1 -0
  31. package/lib/utils/fetchPricelineHotelDetails.js +25 -0
  32. package/lib/utils/fetchPricelineHotelDetails.js.map +1 -0
  33. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DeepLinkWaitingPage.d.ts","sourceRoot":"","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,wBAAwB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0K3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DeepLinkWaitingPage.d.ts","sourceRoot":"","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,UAAU,wBAAwB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgW3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useSearchParams,useParams}from'react-router-dom';import {initGA,trackPageView,trackEvent}from'../../utils/analytics.js';import {config}from'../../config/env-config.js';import {EVENT_ACTIONS,EVENT_CATEGORIES}from'../../config/analytics-config.js';const DeepLinkWaitingPage = ({
1
+ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useSearchParams,useParams}from'react-router-dom';import {initGA,trackPageView,trackEvent}from'../../utils/analytics.js';import {config}from'../../config/env-config.js';import {ANALYTICS_CONFIG,EVENT_CATEGORIES,EVENT_ACTIONS}from'../../config/analytics-config.js';import {PARTNER_LOGOS}from'../../config/api.config.js';import {fetchBookingHotelDetails}from'../../utils/fetchBookingHotelDetails.js';import {fetchPricelineHotelDetails}from'../../utils/fetchPricelineHotelDetails.js';const DeepLinkWaitingPage = ({
2
2
  redirectDelay = 5,
3
3
  googleAnalyticsId = config.GOOGLE_ANALYTICS_ID
4
4
  }) => {
@@ -8,6 +8,14 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
8
8
  } = useParams();
9
9
  const [countdown, setCountdown] = useState(redirectDelay);
10
10
  const [redirectUrl, setRedirectUrl] = useState('');
11
+ const [isPending, setIsPending] = useState(false);
12
+ const [partnerName, setPartnerName] = useState('');
13
+ const [partnerLogo, setPartnerLogo] = useState('');
14
+ const [propertyName, setPropertyName] = useState('');
15
+ // Partner logos from config
16
+ const airbnbLogo = PARTNER_LOGOS.AIRBNB;
17
+ const bookingLogo = PARTNER_LOGOS.BOOKING;
18
+ const pricelineLogo = PARTNER_LOGOS.PRICELINE;
11
19
  useEffect(() => {
12
20
  // Initialize Google Analytics if enabled
13
21
  {
@@ -15,13 +23,135 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
15
23
  }
16
24
  // Get the redirect URL from URL parameters
17
25
  const url = searchParams.get('redirectUrl');
18
- if (url) {
26
+ const name = searchParams.get('partnerName');
27
+ const logo = searchParams.get('partnerLogo');
28
+ const propName = searchParams.get('propertyName');
29
+ if (propName) {
30
+ setPropertyName(propName);
31
+ }
32
+ if (url === 'pending') {
33
+ setIsPending(true);
34
+ // Extract query parameters for API calls
35
+ const propertyType = searchParams.get('propertyType');
36
+ const checkIn = searchParams.get('checkIn');
37
+ const checkOut = searchParams.get('checkOut');
38
+ const adults = parseInt(searchParams.get('adults') || '1', 10);
39
+ const children = parseInt(searchParams.get('children') || '0', 10);
40
+ // Process API call in the background
41
+ processRedirection(propertyId, propertyType, checkIn, checkOut, adults, children);
42
+ } else if (url) {
19
43
  setRedirectUrl(url);
44
+ setPartnerName(name || '');
45
+ setPartnerLogo(logo || '');
46
+ startCountdown(url);
20
47
  }
21
48
  // Track page view if enabled
22
49
  {
23
50
  trackPageView(window.location.pathname, `Deep Link Waiting Page - Property: ${propertyId || 'Unknown'}`);
24
51
  }
52
+ }, [searchParams, redirectDelay, propertyId, googleAnalyticsId]);
53
+ const processRedirection = async (propertyId, propertyType, checkIn, checkOut, adults, children) => {
54
+ if (!propertyId || !propertyType) {
55
+ console.error('Missing property ID or type');
56
+ return;
57
+ }
58
+ try {
59
+ let redirectUrl = '';
60
+ let partnerName = '';
61
+ let partnerLogo = '';
62
+ let propertyName = '';
63
+ // Handle different property types
64
+ switch (propertyType) {
65
+ case 'AirbnbProperty':
66
+ try {
67
+ // Airbnb doesn't need API call, construct URL directly
68
+ redirectUrl = `https://www.airbnb.com/rooms/${propertyId}?check_in=${checkIn}&check_out=${checkOut}&guests=${adults + children || 1}`;
69
+ partnerName = 'Airbnb.com';
70
+ partnerLogo = airbnbLogo;
71
+ } catch (error) {
72
+ console.error('Error constructing Airbnb URL:', error);
73
+ // Even though this is a direct URL construction, add a fallback just in case
74
+ redirectUrl = `https://www.airbnb.com/rooms/${propertyId}`;
75
+ partnerName = 'Airbnb.com';
76
+ partnerLogo = airbnbLogo;
77
+ }
78
+ break;
79
+ case 'BookingProperty':
80
+ // Call Booking.com API
81
+ const bookingDetails = await fetchBookingHotelDetails(propertyId, checkIn, checkOut, adults, children);
82
+ console.log('bookingDetails---->', bookingDetails);
83
+ if (bookingDetails && bookingDetails?.data?.url) {
84
+ redirectUrl = bookingDetails.data.url;
85
+ partnerName = 'Booking.com';
86
+ partnerLogo = bookingLogo;
87
+ if (bookingDetails.data.name) {
88
+ propertyName = bookingDetails.data.name;
89
+ }
90
+ } else {
91
+ // Fallback URL for Booking.com
92
+ const checkInFormatted = typeof checkIn === 'string' ? checkIn : '';
93
+ const checkOutFormatted = typeof checkOut === 'string' ? checkOut : '';
94
+ const guestsCount = adults + children || 1;
95
+ redirectUrl = `https://www.booking.com/hotel.html?aid=304142&label=gen173nr-1FCAEoggI46AdIM1gEaLYBiAEBmAEhuAEXyAEM2AEB6AEB-AELiAIBqAIDuALxt6-rBsACAdICJDI2NzI4ZDAwLTdhZWQtNDJjOS1iYzRjLTI3ZDRkMzk5MTRlZNgCBuACAQ&sid=d29e889897f5d24d00e4f8d55c8399bd&all_sr_blocks=${propertyId};checkin=${checkInFormatted};checkout=${checkOutFormatted};dest_id=;dest_type=;group_adults=${adults};group_children=${children};hapos=1;highlighted_blocks=${propertyId};no_rooms=1;req_adults=${adults};req_children=${children};room1=A%2CA;sb_price_type=total;sr_order=popularity;sr_pri_blocks=${propertyId};srepoch=1625097600;srpvid=e8c95a7a7f130034;type=total;ucfs=1&#hotelTmpl`;
96
+ partnerName = 'Booking.com';
97
+ partnerLogo = bookingLogo;
98
+ }
99
+ break;
100
+ case 'PricelineProperty':
101
+ // Call Priceline API
102
+ const pricelineDetails = await fetchPricelineHotelDetails(propertyId);
103
+ if (pricelineDetails && pricelineDetails.getHotelHotelDetails) {
104
+ const hotelInfo = pricelineDetails.getHotelHotelDetails?.results?.hotel_data?.hotel_0;
105
+ if (hotelInfo && hotelInfo.priceline_url) {
106
+ redirectUrl = hotelInfo.priceline_url;
107
+ partnerName = 'Priceline.com';
108
+ partnerLogo = pricelineLogo;
109
+ if (hotelInfo.name) {
110
+ propertyName = hotelInfo.name;
111
+ }
112
+ } else {
113
+ // Fallback URL for Priceline
114
+ const cityId = '';
115
+ const checkInDate = typeof checkIn === 'string' ? checkIn : '';
116
+ const checkOutDate = typeof checkOut === 'string' ? checkOut : '';
117
+ const roomCount = 1;
118
+ const adultCount = adults || 1;
119
+ redirectUrl = `https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`;
120
+ partnerName = 'Priceline.com';
121
+ partnerLogo = pricelineLogo;
122
+ }
123
+ }
124
+ break;
125
+ default:
126
+ redirectUrl = `/property/${propertyId}`;
127
+ partnerName = 'Our Website';
128
+ break;
129
+ }
130
+ // If we have a redirect URL, update the state
131
+ if (redirectUrl) {
132
+ if (ANALYTICS_CONFIG.enabled && ANALYTICS_CONFIG.trackEvents.redirections) {
133
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`);
134
+ }
135
+ setRedirectUrl(redirectUrl);
136
+ setPartnerName(partnerName);
137
+ setPartnerLogo(partnerLogo);
138
+ if (propertyName) {
139
+ setPropertyName(propertyName);
140
+ }
141
+ setIsPending(false);
142
+ // Start countdown after we have the URL
143
+ startCountdown(redirectUrl);
144
+ } else {
145
+ console.error('Failed to generate redirect URL');
146
+ }
147
+ } catch (error) {
148
+ console.error('Error in processing redirection:', error);
149
+ {
150
+ trackEvent(EVENT_CATEGORIES.ERROR, EVENT_ACTIONS.API_ERROR, `Property ID: ${propertyId}, Type: ${propertyType}`);
151
+ }
152
+ }
153
+ };
154
+ const startCountdown = url => {
25
155
  // Start countdown
26
156
  const timer = setInterval(() => {
27
157
  setCountdown(prev => {
@@ -29,7 +159,7 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
29
159
  clearInterval(timer);
30
160
  // Track auto-redirect event if enabled
31
161
  {
32
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `To: ${url || 'Unknown'}`);
162
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${url}${propertyName ? `, Property Name: ${propertyName}` : ''}`);
33
163
  }
34
164
  // Redirect after countdown finishes
35
165
  window.location.href = url || '';
@@ -39,16 +169,17 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
39
169
  });
40
170
  }, 1000);
41
171
  return () => clearInterval(timer);
42
- }, [searchParams, redirectDelay, propertyId, googleAnalyticsId]);
172
+ };
43
173
  const handleManualRedirect = () => {
44
174
  if (redirectUrl) {
45
175
  // Track manual click event if enabled
46
176
  {
47
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.MANUAL_CLICK, `To: ${redirectUrl}`, countdown);
177
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.MANUAL_CLICK, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`, countdown);
48
178
  }
49
179
  window.location.href = redirectUrl;
50
180
  }
51
181
  };
182
+ // Regular waiting page UI once we have the URL
52
183
  return jsx("div", {
53
184
  className: "flex flex-col items-center justify-center min-h-screen bg-gray-50 p-4",
54
185
  children: jsxs("div", {
@@ -111,11 +242,11 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
111
242
  }), jsxs("div", {
112
243
  className: "text-center",
113
244
  children: [jsx("img", {
114
- src: searchParams.get('partnerLogo') || '/images/partner-logo.png',
245
+ src: partnerLogo || '/images/partner-logo.png',
115
246
  alt: "Partner Logo",
116
247
  className: "w-32 h-auto mb-2"
117
248
  }), jsxs("p", {
118
- children: ["Now complete your booking with", jsx("br", {}), "the property provider ", searchParams.get('partnerName')]
249
+ children: ["Now complete your booking with", jsx("br", {}), "the property provider ", partnerName]
119
250
  })]
120
251
  })]
121
252
  }), jsxs("p", {
@@ -130,12 +261,12 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
130
261
  children: "Continue Now"
131
262
  }), jsxs("p", {
132
263
  className: "mt-8 text-sm text-gray-500",
133
- children: ["If you are not redirected to ", searchParams.get('partnerName') || 'the provider', " in a few seconds, please", ' ', jsx("a", {
264
+ children: ["If you are not redirected to ", partnerName || 'the provider', " in a few seconds, please", ' ', jsx("a", {
134
265
  href: redirectUrl,
135
266
  className: "text-blue-600 hover:underline",
136
267
  onClick: () => {
137
268
  {
138
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.LINK_CLICK, `To: ${redirectUrl}`, countdown);
269
+ trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.LINK_CLICK, `Property ID: ${propertyId}, Provider: ${partnerName}, URL: ${redirectUrl}${propertyName ? `, Property Name: ${propertyName}` : ''}`, countdown);
139
270
  }
140
271
  },
141
272
  children: "click here"
@@ -1 +1 @@
1
- {"version":3,"file":"DeepLinkWaitingPage.js","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"8UAUA,MAAM,mBAAmB,GAAuC,CAAC;AAI7D,EAAA,aAAmB,GAAA,CAAA;AACnB,EAAA,iBAAkB,GAAA,MAAK,CAAA;MACjB;QACA,CAAA,YAAY,CAAA,GAAgB,iBAAI;QAE7B;;AAEL,GAAA,GAAA,SAAoB,EAAA;kBACV,EAAkB,YAAA,CAAA,GAAA,QAAE,CAAA,aAAA,CAAA;QAC9B,CAAC,WAAA,EAAA,cAAA,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;WAE0C,CAAA,MAAA;;IAEjC;YACN,CAAc,iBAAI,CAAC;;;UAInB,GAAA,GAAA,YAAgB,CAAC,GAAA,CAAA,aAAW,CAAA;AAC5B,IAAA,IAAA,GAAA,EAAA;oBACH,CAAA,GAAA,CAAA;;AAGD;AACI,IAAsB;AAClB,MAAA,aAAA,CAAI,MAAI,CAAA,QAAQ,CAAA,QAAA,EAAA,CAAA,mCAAA,EAAA,UAAA,IAAA,SAAA,CAAA,CAAA,CAAA;;;6BAGR,CAAA,MAAA;AACA,MAAA,YAAA,CAAA,IAAA,IAAA;oBAKJ,CAAC,EAAA;uBACmC,CAAA,KAAA,CAAA;;AAEpC,UAAS;sBACZ,CAAA,gBAAA,CAAA,WAAA,EAAA,aAAA,CAAA,aAAA,EAAA,CAAA,IAAA,EAAA,GAAA,IAAA,SAAA,CAAA,CAAA,CAAA;;AAEL;UACH,MAAO,CAAC,QAAA,CAAA,IAAA,GAAA,GAAA,IAAA,EAAA;AAET,UAAA,QAAU;;QAGR,OAAA,IAAA,GAAA,CAAA;QACF;YACI;iBACI,aAAA,CAAA,KAAiB,CAAA;AACjB,GAAA,EAAA,CAAA,YAAA,EAAA,aACI,EAAA,UAAiB,EAAA,iBACJ,CAAA,CAAA;4BAIpB,GAAA,MAAA;AACD,IAAA,IAAA,WAAO,EAAQ;;AAEvB,MAAE;AAEF,QAAA,UACI,CAAA,gBAAc,CAAA,WAAwE,EAAA,aAAA,CAAA,YAAA,EAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA,EAAA,SAAA,CAAA;;AAwF9D,MAAA,MAAA,CAAA,QAAA,CAAA,IAAA,GAAA,WAAA;;AAOR,GAAA;AASxB,EAAE,OAAAA,GAAA,CAAA,KAAA,EAAA;AAEF,IAAA,SAAA,EAAe,uEAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DeepLinkWaitingPage.js","sources":["../../../src/components/DeepLinkWaitingPage/DeepLinkWaitingPage.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwN1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyM1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -110,27 +110,23 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
110
110
  };
111
111
  const renderSidebarContent = () => {
112
112
  return jsxs("div", {
113
- className: "text-gray-500 dark:text-gray-400 relative",
113
+ className: "text-gray-500 dark:text-gray-400 md:h-[93vh] h-full flex flex-col",
114
114
  style: SidebarStyles,
115
- children: [jsx("button", {
116
- onClick: toggleCollapsed,
117
- className: "w-6 h-6 text-center bg-white text-gray-300 flex items-center justify-center rounded-full shadow-[0_2px_8px_-2px_rgba(0,0,0,0.05),0_1px_4px_-1px_rgba(25,15,15,0.07),0_0_1px_0_rgba(0,0,0,0.08)] hover:text-gray-600 hover:shadow-[0_4px_16px_-4px_rgba(0,0,0,0.05),0_2px_8px_-2px_rgba(25,15,15,0.07),0_1px_2px_0_rgba(0,0,0,0.08)] transition-colors text-[22px] absolute right-[-13px] top-[20px]",
118
- "aria-label": collapsed ? 'Expand sidebar' : 'Collapse sidebar',
119
- children: collapsed ? jsx(ChevronRightIcon, {
120
- fontSize: '11px'
121
- }) : jsx(ChevronLeftIcon, {
122
- fontSize: '11px'
115
+ children: [jsx("div", {
116
+ className: "relative",
117
+ children: jsx("button", {
118
+ onClick: toggleCollapsed,
119
+ className: "w-6 h-6 text-center bg-white text-gray-300 flex items-center justify-center rounded-full shadow-[0_2px_8px_-2px_rgba(0,0,0,0.05),0_1px_4px_-1px_rgba(25,15,15,0.07),0_0_1px_0_rgba(0,0,0,0.08)] hover:text-gray-600 hover:shadow-[0_4px_16px_-4px_rgba(0,0,0,0.05),0_2px_8px_-2px_rgba(25,15,15,0.07),0_1px_2px_0_rgba(0,0,0,0.08)] transition-colors text-[22px] absolute right-[-13px] top-[20px]",
120
+ "aria-label": collapsed ? 'Expand sidebar' : 'Collapse sidebar',
121
+ children: collapsed ? jsx(ChevronRightIcon, {
122
+ fontSize: '11px'
123
+ }) : jsx(ChevronLeftIcon, {
124
+ fontSize: '11px'
125
+ })
123
126
  })
124
127
  }), jsxs("div", {
125
- className: "min-h-[93vh]",
128
+ className: "flex-grow overflow-y-auto",
126
129
  children: [middleMenus?.length > 0 && jsxs("div", {
127
- style: {
128
- flex: 1,
129
- overflowY: 'auto',
130
- overflowX: 'hidden',
131
- display: 'flex',
132
- flexDirection: 'column'
133
- },
134
130
  className: "removeBoxShadow",
135
131
  children: [renderSeparator(deviceLayout?.middleMenuDividerName), jsx(SidebarMenu, {
136
132
  menuData: updateMenuIcons(middleMenus),
@@ -139,13 +135,6 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
139
135
  collapsed: collapsed
140
136
  })]
141
137
  }), lowerMenus?.length > 0 && jsxs("div", {
142
- style: {
143
- flex: 1,
144
- overflowY: 'auto',
145
- overflowX: 'hidden',
146
- display: 'flex',
147
- flexDirection: 'column'
148
- },
149
138
  className: "removeBoxShadow",
150
139
  children: [renderSeparator(deviceLayout?.lowerMenuDividerName), jsx(SidebarMenu, {
151
140
  menuData: updateMenuIcons(lowerMenus),
@@ -163,7 +152,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import React__default,{useState,useEffe
163
152
  })
164
153
  })]
165
154
  }), jsx("div", {
166
- className: "absolute bottom-0 left-0 p-4 dark:border-gray-700",
155
+ className: "flex-shrink-0 p-4 border-t dark:border-gray-700",
167
156
  children: jsx(BottomMenuDropDown, {
168
157
  menus: bottomMenusData,
169
158
  collapsed: collapsed,
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Layout/Sidebar/Sidebar.tsx"],"sourcesContent":[null],"names":["React","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../../src/components/Layout/Sidebar/Sidebar.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/SidebarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2MlD,CAAC"}
1
+ {"version":3,"file":"SidebarMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar/SidebarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8MlD,CAAC"}
@@ -4,7 +4,7 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState}from'react';import {us
4
4
  settings,
5
5
  collapsed
6
6
  }) => {
7
- const [openMenusByLevel, setOpenMenusByLevel] = useState({});
7
+ const [openMenus, setOpenMenus] = useState([]);
8
8
  const [hoveredMenu, setHoveredMenu] = useState(null);
9
9
  const [popupPosition, setPopupPosition] = useState({
10
10
  top: 0,
@@ -31,10 +31,13 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState}from'react';import {us
31
31
  const toggleMenu = (path, depth, e) => {
32
32
  e.preventDefault();
33
33
  if (collapsed) return;
34
- setOpenMenusByLevel(prev => ({
35
- ...prev,
36
- [depth]: prev[depth] === path ? null : path
37
- }));
34
+ setOpenMenus(prev => {
35
+ if (prev.includes(path)) {
36
+ return prev.filter(item => item !== path);
37
+ } else {
38
+ return [...prev, path];
39
+ }
40
+ });
38
41
  };
39
42
  const handleMenuClick = (path, hasChildren, depth, e) => {
40
43
  if (hasChildren && !collapsed) {
@@ -112,7 +115,7 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState}from'react';import {us
112
115
  };
113
116
  const renderMenuItem = (item, depth = 0, isHoverMenu = false) => {
114
117
  const hasChildren = item.children && item.children.length > 0;
115
- const isOpen = openMenusByLevel[depth] === item.path;
118
+ const isOpen = openMenus.includes(item.path);
116
119
  const isActive = isMenuItemActive(item.path);
117
120
  const isHovered = hoveredMenu === item.path;
118
121
  const paddingLeft = `${depth * 1}rem`;
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarMenu.js","sources":["../../../../src/components/Layout/Sidebar/SidebarMenu.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"yQAOO,MAAM,WAAW,GAA+B,CAAC;UAC9C;aACY;AAClB,EAAA,QAAM;AACN,EAAA;AACA,CAAA,KAAA;AAEA,EAAA,MAAA,CAAA,gBAAsB,EAAA,mBAAwB,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AAC1C,EAAA,MAAA,CAAA,WAAiB,EAAA,cAAW,CAAC,WAAS,CAAA,IAAA,CAAA;QACtC,CAAM,aAAQ,kBAAmB,CAAA,WAAW,CAAA;SAE9B,CAAA;AACd,IAAA,MAAA,EAAI;AACA,GAAA,CAAA;QACJ;mBAEyD;;AAErD,GAAA,GAAA,KAAA;QACJ,QAAC,GAAA,WAAA,EAAA;AAED,EAAA,MAAA,gBAAa,GAAA,QAAA,IAAA;AACjB,IAAA,MAAE,WAAA,GAAA,QAAA,CAAA,QAAA;IAEF,MAAM,QAAA,mBAA2C,CAAmB,QAAI,EAAA,WAAA,CAAA;;AAEpE,IAAA,IAAA,WAAa,KAAA,QAAA,EAAA;aAAS,IAAA;AAEtB;AACI;AACA,IAAA,IAAA,YAAO,WAAY,CAAC,UAAU,CAAC,QAAQ,GAAI,GAAA,CAAA,EAAA;AAC9C,MAAA,OAAG,IAAA;AACR;IAEA,OAAM,KAAA;AACF,GAAA;AACI,EAAA,MAAA,UAAA,GAAA,CAAU,IAAK,EAAA,OAAS,CAAA,KAAG;oBAC9B,EAAA;AACL,IAAA,IAAE,SAAA,EAAA;AAEF,IAAA,mBAAoB,CAAA,IAAI;SACb,IAAA;AACX,MAAE,CAAA,KAAA,GAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,GAAA,IAAA,GAAA;KAEI,CAAA,CAAA;;AAEF,EAAA,MAAA,eAAiB,GAAC,CAAW,IAAA,EAAA,aAAS,KAAA,EAAA,CAAQ,KAAI;AAC9C,IAAA,IAAA,WAAa,IAAA,CAAA;AACb,MAAA,UAAA,CAAA,MAAa,KAAA,EAAA,CAAA,CAAO;;AAGpB,GAAA;AACA,EAAA,MAAA,cAAU,GAAI,QAAK;eAEuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,WAAA,EAAA;AAC1C,GAAA;AACI,EAAA,MAAA,eAAQ,GAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,KAAA;;AAEX,IAAA,IAAA,SAAE,IAAA,CAAA,WAAA,IAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AAEH,MAAA,MAAA,OAAA,GAAA,CAAA,CAAA,aAAyB;YAC5B,IAAA,GAAA,OAAA,CAAA,qBAAA,EAAA;AAID,MAAA,IAAA,GAAa,GAAA,IAAA,CAAA,GAAA;;sBAEZ,CAAA;AACL,QAAE,GAAA,EAAA,GAAA;QAEI,MAAA,EAAA,IAAA,CAAA;QACF;AAAkD,MAAA,mBAAY,CAAA,IAAA,CAAA;;AAG9D,GAAA;AAEA,EAAA,MAAA,eAEQ,GAAA,CAAA,IAAA,EAAA,WAAqF,KAAA;AAEjF,IAAA,IAAA,SAAA,IAAA,CAAA,WAAiB,EAAO;AACxB,MAAA,cAAI,CAAE,IAAG,CAAY;AACrB;AACA,GAAA;AACA,EAAA,MAAA,eAAA,IAAW,IAA+B,EAAA,KAAA,GAAA,CAAA,KAAA;sBAClC,IAAE,IAAqB,CAAA,QAAA,CAAA,MAAA,KAAsC,CAAA,EAAA,OAAA,IAAA;AACrE,IAAA,MAAA,OAAA,GAAA,kBAAoB,CAAA,QAAA,EAAA,YAAA,EAAA,IAAA,CAAA;AACpB,IAAA,MAAA,YAAA,YAAiB,GAAA,EAAA,GAAA,GAAA,CAAA;eAGrB,CAAA,KAAA,EAAA;AAEQ,MAAA,SAAA,EAAA,2EAAQ;;;;;AAKX,QAAA,GAAA,EAAA,CAAA,EAAA,aAAA,CAAA,GAAA,CAAA,EAAA,CAAA;AACA,QAAA,SAAA,EAAA,+BAGS;AAc1B,QAAE,SAAA,EAAA,+BAAA;AAEF,QAAA,QAAoB,EAAA,qBAA6B;AAC7C;QACA,KAAM,EAAA,aAAS;QACf,QAAM,EAAA;AACN,OAAA;AACA,MAAA,QAAM,cAAc,EAAG;QACvB,uBAAgB,EAAA;UAEiD,MAAA,EAAA;AACjE;;;;;;mBAsDY,EAAW;6FACF;AACT,QAAA,KAAA,EAAA;AACA,UAAA,eAAK,EAAA,kBAAmB,CAAA,QAAA,EAAA,YAAA,EAAA,IAAA;;AAWxC,QAAE,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA;AAEF,UAAA,KACS,EAAA;AAMb,YAAE,KAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SidebarMenu.js","sources":["../../../../src/components/Layout/Sidebar/SidebarMenu.tsx"],"sourcesContent":[null],"names":["_jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/PropertyCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB,CAAC;AAgFF,eAAO,MAAM,YAAY,GAAI,sHAW1B,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CA0W1D,CAAC"}
1
+ {"version":3,"file":"PropertyCard.d.ts","sourceRoot":"","sources":["../../../src/components/UI/PropertyCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,iBAAiB,GAAG;IACrB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACtB,CAAC;AAsGF,eAAO,MAAM,YAAY,GAAI,sHAW1B,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAoX1D,CAAC"}
@@ -1,30 +1,57 @@
1
- import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useState,useEffect,useCallback}from'react';import {BsHeart}from'@react-icons/all-files/bs/BsHeart.js';import {BsStarFill}from'@react-icons/all-files/bs/BsStarFill.js';import {FaUserAlt}from'@react-icons/all-files/fa/FaUserAlt.js';import {useTranslation}from'react-i18next';import {WithAuthentication}from'@adminide-stack/user-auth0-browser/lib/index.component.js';import {Splide,SplideSlide}from'@cdmbase/react-splide';import {useLocation}from'@remix-run/react';import {format}from'date-fns';import {startCase}from'lodash-es';import {useTailwindTheme}from'../../hooks/useTailwindTheme.js';import {useGetCurrentLongLat}from'../../hooks/use-get-current-lat-long.js';import {LocationIcon}from'./icons/LocationIcon.js';import {renderDynamicIcon}from'../../helpers/DynamicIcon.js';import {config}from'../../config/env-config.js';const convertHotelName = name => {
2
- return name.toLowerCase().replace(/[^a-z0-9\s-]/g, '').replace(/[\s-]+/g, '-').replace(/-+/g, '-');
3
- };
4
- const airbnbLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Airbnb_Logo_B%C3%A9lo.svg/512px-Airbnb_Logo_B%C3%A9lo.svg.png';
5
- const bookingLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Booking.com_logo.svg/1920px-Booking.com_logo.svg.png';
6
- const pricelineLogo = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Priceline.com_logo.svg/1920px-Priceline.com_logo.svg.png';
7
- const generateHref = (room, from, to, adults, children) => {
8
- switch (room.__typename) {
9
- case 'AirbnbProperty':
10
- const airbnbPropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.airbnb.com/rooms/${room.id}?check_in=${from}&check_out=${to}&guests=${adults + children || 1}`)}&partnerName=${encodeURIComponent('Airbnb.com')}&partnerLogo=${airbnbLogo}`;
11
- return airbnbPropertyDeepLink;
12
- case 'BookingProperty':
13
- const bookingPropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.booking.com/hotel/${room.address.city.state.country.id}/${convertHotelName(room.name)}.html`)}&partnerName=${encodeURIComponent('Booking.com')}&partnerLogo=${bookingLogo}`;
14
- return bookingPropertyDeepLink;
15
- case 'PricelineProperty':
16
- const propertyId = room.metadata?.id_t;
17
- const cityId = room?.metadata?.city?.id || '';
18
- const checkInDate = typeof from === 'string' ? from : format(new Date(from), 'yyyyMMdd');
19
- const checkOutDate = typeof to === 'string' ? to : format(new Date(to), 'yyyyMMdd');
20
- const roomCount = 1;
21
- const adultCount = adults;
22
- const procelinePropertyDeepLink = `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(`https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`)}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
23
- return procelinePropertyDeepLink;
24
- default:
25
- return `/property/${room.id}`;
26
- }
27
- };
1
+ import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {useMemo,useState,useEffect,useCallback}from'react';import {BsHeart}from'@react-icons/all-files/bs/BsHeart.js';import {BsStarFill}from'@react-icons/all-files/bs/BsStarFill.js';import {FaUserAlt}from'@react-icons/all-files/fa/FaUserAlt.js';import {useTranslation}from'react-i18next';import {WithAuthentication}from'@adminide-stack/user-auth0-browser/lib/index.component.js';import {Splide,SplideSlide}from'@cdmbase/react-splide';import {useLocation}from'@remix-run/react';import {startCase}from'lodash-es';import {useTailwindTheme}from'../../hooks/useTailwindTheme.js';import {useGetCurrentLongLat}from'../../hooks/use-get-current-lat-long.js';import {LocationIcon}from'./icons/LocationIcon.js';import {renderDynamicIcon}from'../../helpers/DynamicIcon.js';import {config}from'../../config/env-config.js';// const generateHref = async (room, from, to, adults, children) => {
2
+ // if (!room) return null;
3
+ // switch (room.__typename) {
4
+ // case 'AirbnbProperty':
5
+ // // Airbnb doesn't need API call, just construct URL directly
6
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
7
+ // `https://www.airbnb.com/rooms/${room.id}?check_in=${from}&check_out=${to}&guests=${
8
+ // adults + children || 1
9
+ // }`,
10
+ // )}&partnerName=${encodeURIComponent('Airbnb.com')}&partnerLogo=${airbnbLogo}`;
11
+ // case 'BookingProperty':
12
+ // // Call Booking.com API
13
+ // try {
14
+ // const hotelDetails = await fetchBookingHotelDetails(room.id, from, to, adults, children);
15
+ // console.log('hotelDetails--->', hotelDetails);
16
+ // if (hotelDetails && hotelDetails?.data?.url) {
17
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
18
+ // hotelDetails?.data?.url,
19
+ // )}&partnerName=${encodeURIComponent('Booking.com')}&partnerLogo=${bookingLogo}`;
20
+ // }
21
+ // } catch (error) {
22
+ // console.error('Error getting Booking.com URL:', error);
23
+ // }
24
+ // return null;
25
+ // case 'PricelineProperty':
26
+ // // Call Priceline API
27
+ // try {
28
+ // const pricelineDetails = await fetchPricelineHotelDetails(room.id);
29
+ // console.log('pricelineDetails--->', pricelineDetails);
30
+ // if (pricelineDetails && pricelineDetails.getHotelHotelDetails) {
31
+ // const hotelInfo = pricelineDetails.getHotelHotelDetails?.results?.hotel_data?.hotel_0;
32
+ // if (hotelInfo && hotelInfo.priceline_url) {
33
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
34
+ // hotelInfo.priceline_url,
35
+ // )}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
36
+ // }
37
+ // }
38
+ // } catch (error) {
39
+ // console.error('Error getting Priceline URL:', error);
40
+ // }
41
+ // // If API call fails, construct a fallback URL
42
+ // const propertyId = room.metadata?.id_t;
43
+ // const cityId = room?.metadata?.city?.id || '';
44
+ // const checkInDate = typeof from === 'string' ? from : format(new Date(from), 'yyyyMMdd');
45
+ // const checkOutDate = typeof to === 'string' ? to : format(new Date(to), 'yyyyMMdd');
46
+ // const roomCount = 1;
47
+ // const adultCount = adults || 1;
48
+ // return `/deep-link/property/${room.id}?redirectUrl=${encodeURIComponent(
49
+ // `https://www.priceline.com/relax/at/${propertyId}/from/${checkInDate}/to/${checkOutDate}/rooms/${roomCount}/adults/${adultCount}?cityId=${cityId}&cur=USD&psl=${propertyId}`,
50
+ // )}&partnerName=${encodeURIComponent('Priceline.com')}&partnerLogo=${pricelineLogo}`;
51
+ // default:
52
+ // return `/property/${room.id}`;
53
+ // }
54
+ // };
28
55
  const DealCard = ({
29
56
  site,
30
57
  price
@@ -93,9 +120,19 @@ const PropertyCard = ({
93
120
  const checkOut = params.get('checkOut') || params.get('to') || '';
94
121
  const duration = calculateDuration(checkIn, checkOut);
95
122
  const formattedDuration = formatDuration(duration);
123
+ const [isRedirecting, setIsRedirecting] = useState(false);
96
124
  useEffect(() => {
97
125
  fetchCurrentLatLong();
98
126
  }, []);
127
+ const handleRedirect = async e => {
128
+ if (e) e.preventDefault();
129
+ setIsRedirecting(true);
130
+ // Open the waiting page immediately with a temporary placeholder
131
+ const intermediateUrl = `/deep-link/property/${item.id}?redirectUrl=pending&partnerName=Loading...&partnerLogo=/images/loading.png&propertyType=${item.__typename}&checkIn=${checkIn}&checkOut=${checkOut}&adults=${adults}&children=${children}`;
132
+ window.open(intermediateUrl, '_blank');
133
+ // No need to make API calls here anymore as they will be handled by DeepLinkWaitingPage
134
+ setIsRedirecting(false);
135
+ };
99
136
  const getPriceType = useCallback(room => {
100
137
  const type = room.preferences?.property?.pricing?.option?.priceType;
101
138
  if (type === 'HOUR') {
@@ -192,8 +229,8 @@ const PropertyCard = ({
192
229
  children: jsx(LikeButton, {})
193
230
  }), images.map((image, i) => jsx(SplideSlide, {
194
231
  children: jsx("a", {
195
- href: generateHref(item, checkIn, checkOut, adults, children),
196
- target: "_blank",
232
+ href: "#",
233
+ onClick: handleRedirect,
197
234
  rel: "noopener noreferrer",
198
235
  children: jsx("div", {
199
236
  className: "w-full h-full rounded-xl",
@@ -366,11 +403,10 @@ const PropertyCard = ({
366
403
  children: [item?.preferences?.property?.pricing?.price?.price_breakdown?.details?.pricing?.basePrice?.perNight, ' ', "per ", getPriceType(item)]
367
404
  })]
368
405
  }), jsx("button", {
369
- className: "bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded w-full",
370
- onClick: () => {
371
- window.open(generateHref(item, checkIn, checkOut, adults, children), '_blank');
372
- },
373
- children: "View deal"
406
+ className: `bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded w-full ${isRedirecting ? 'opacity-75 cursor-wait' : ''}`,
407
+ onClick: handleRedirect,
408
+ disabled: isRedirecting,
409
+ children: isRedirecting ? 'Loading...' : 'View deal'
374
410
  })]
375
411
  })]
376
412
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCard.js","sources":["../../../src/components/UI/PropertyCard.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"PropertyCard.js","sources":["../../../src/components/UI/PropertyCard.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -25,10 +25,31 @@ const ANALYTICS_CONFIG = {
25
25
  };
26
26
  // Analytics event categories
27
27
  const EVENT_CATEGORIES = {
28
- REDIRECTION: 'Redirection'};
28
+ REDIRECTION: 'Redirection',
29
+ USER_INTERACTION: 'User Interaction',
30
+ SYSTEM: 'System',
31
+ ERROR: 'Error'
32
+ };
29
33
  // Analytics event actions
30
34
  const EVENT_ACTIONS = {
31
35
  // Redirections
32
36
  AUTO_REDIRECT: 'Auto Redirect',
33
37
  MANUAL_CLICK: 'Manual Click',
34
- LINK_CLICK: 'Link Click'};export{ANALYTICS_CONFIG,EVENT_ACTIONS,EVENT_CATEGORIES};//# sourceMappingURL=analytics-config.js.map
38
+ LINK_CLICK: 'Link Click',
39
+ // User interactions
40
+ BUTTON_CLICK: 'Button Click',
41
+ FORM_SUBMIT: 'Form Submit',
42
+ SEARCH: 'Search',
43
+ VIEW_ITEM: 'View Item',
44
+ ADD_TO_CART: 'Add to Cart',
45
+ REMOVE_FROM_CART: 'Remove from Cart',
46
+ BEGIN_CHECKOUT: 'Begin Checkout',
47
+ ADD_PAYMENT_INFO: 'Add Payment Info',
48
+ PURCHASE: 'Purchase',
49
+ // System
50
+ LOAD: 'Load',
51
+ INIT: 'Initialize',
52
+ // Errors
53
+ API_ERROR: 'API Error',
54
+ CLIENT_ERROR: 'Client Error'
55
+ };export{ANALYTICS_CONFIG,EVENT_ACTIONS,EVENT_CATEGORIES};//# sourceMappingURL=analytics-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-config.js","sources":["../../src/config/analytics-config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;AAEG;AAIH;AACa,MAAA,gBAAgB,GAAG;;AAE5B,EAAA,OAAA,EAAO,IAAM;;AAGb,EAAA,KAAA,EAAK,OAAS,CAAA,YAAK,kBAA0B;;oBAG3B,EAAA,MAAQ,CAAA,mBAAoB;;AAG9C,EAAA,WAAA,EAAW;AACP,IAAA,SAAA,EAAA,IAAW;AACX,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,YAAA,EAAA,IAAc;AACd,IAAA,MAAA,EAAA;AACH,GAAA;;AAGD,EAAA,mBAAA,EAAmB;AACf,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,UAAA,EAAA,IAAY;YACJ,EAAA,KAAO;AAClB;;AAGL;AACa,MAAA,gBAAgB,GAAG;AAC5B,EAAA,WAAA,EAAW;AAMf;AACa,MAAA,aAAa,GAAG;;AAEzB,EAAA,aAAA,EAAa,eAAiB;AAC9B,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,UAAA,EAAU"}
1
+ {"version":3,"file":"analytics-config.js","sources":["../../src/config/analytics-config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;AAEG;AAIH;AACa,MAAA,gBAAgB,GAAG;;AAE5B,EAAA,OAAA,EAAO,IAAM;;AAGb,EAAA,KAAA,EAAK,OAAS,CAAA,YAAK,kBAA0B;;oBAG3B,EAAA,MAAQ,CAAA,mBAAoB;;AAG9C,EAAA,WAAA,EAAW;AACP,IAAA,SAAA,EAAA,IAAW;AACX,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,YAAA,EAAA,IAAc;AACd,IAAA,MAAA,EAAA;AACH,GAAA;;AAGD,EAAA,mBAAA,EAAmB;AACf,IAAA,MAAA,EAAA,IAAQ;AACR,IAAA,UAAA,EAAA,IAAY;YACJ,EAAA,KAAO;AAClB;;AAGL;AACa,MAAA,gBAAgB,GAAG;AAC5B,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,MAAA,EAAM,QAAU;AAChB,EAAA,KAAA,EAAK;;AAGT;AACa,MAAA,aAAa,GAAG;;AAEzB,EAAA,aAAA,EAAa,eAAiB;AAC9B,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,UAAA,EAAU,YAAc;;AAGxB,EAAA,YAAA,EAAY,cAAgB;AAC5B,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,MAAA,EAAM,QAAU;AAChB,EAAA,SAAA,EAAS,WAAa;AACtB,EAAA,WAAA,EAAW,aAAe;AAC1B,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,cAAA,EAAc,gBAAkB;AAChC,EAAA,gBAAA,EAAgB,kBAAoB;AACpC,EAAA,QAAA,EAAQ,UAAY;;AAGpB,EAAA,IAAA,EAAI,MAAQ;AACZ,EAAA,IAAA,EAAI,YAAc;;AAGlB,EAAA,SAAA,EAAS,WAAa;AACtB,EAAA,YAAA,EAAY;"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * API Configuration
3
+ * Centralized configuration for all API-related settings
4
+ */
5
+ export declare const RAPID_API_KEY: string;
6
+ export declare const BOOKING_API: {
7
+ BASE_URL: string;
8
+ HOST: string;
9
+ };
10
+ export declare const PRICELINE_API: {
11
+ BASE_URL: string;
12
+ HOST: string;
13
+ DEFAULT_PARAMS: {
14
+ guest_score_breakdown: string;
15
+ videos: string;
16
+ important_info: string;
17
+ sid: string;
18
+ id_lookup: string;
19
+ plugins: string;
20
+ promo: string;
21
+ nearby: string;
22
+ recent: string;
23
+ photos: string;
24
+ reviews: string;
25
+ };
26
+ };
27
+ export declare const PARTNER_LOGOS: {
28
+ AIRBNB: string;
29
+ BOOKING: string;
30
+ PRICELINE: string;
31
+ };
32
+ export declare const formatDate: (date: Date) => string;
33
+ export declare const getDefaultDates: () => {
34
+ arrival: string;
35
+ departure: string;
36
+ };
37
+ //# sourceMappingURL=api.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.d.ts","sourceRoot":"","sources":["../../src/config/api.config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,eAAO,MAAM,aAAa,QAAuB,CAAC;AAGlD,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAgBzB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;CAMzB,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,MAKvC,CAAC;AAGF,eAAO,MAAM,eAAe;;;CAS3B,CAAC"}
@@ -0,0 +1,52 @@
1
+ import {config}from'./env-config.js';/**
2
+ * API Configuration
3
+ * Centralized configuration for all API-related settings
4
+ */
5
+ // RapidAPI Key
6
+ const RAPID_API_KEY = config.RAPID_API_KEY;
7
+ // Booking.com API
8
+ const BOOKING_API = {
9
+ BASE_URL: 'https://booking-com15.p.rapidapi.com/api/v1/hotels/getHotelDetails',
10
+ HOST: 'booking-com15.p.rapidapi.com'
11
+ };
12
+ // Priceline API
13
+ const PRICELINE_API = {
14
+ BASE_URL: 'https://priceline-com-provider.p.rapidapi.com/v2/hotels/details',
15
+ HOST: 'priceline-com-provider.p.rapidapi.com',
16
+ DEFAULT_PARAMS: {
17
+ guest_score_breakdown: 'true',
18
+ videos: 'true',
19
+ important_info: 'true',
20
+ sid: 'iSiX639',
21
+ id_lookup: 'true',
22
+ plugins: 'true',
23
+ promo: 'true',
24
+ nearby: 'true',
25
+ recent: 'true',
26
+ photos: 'true',
27
+ reviews: 'true'
28
+ }
29
+ };
30
+ // Partner Logos
31
+ const PARTNER_LOGOS = {
32
+ AIRBNB: 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Airbnb_Logo_B%C3%A9lo.svg/512px-Airbnb_Logo_B%C3%A9lo.svg.png',
33
+ BOOKING: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Booking.com_logo.svg/1920px-Booking.com_logo.svg.png',
34
+ PRICELINE: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Priceline.com_logo.svg/1920px-Priceline.com_logo.svg.png'
35
+ };
36
+ // Date formatting helper
37
+ const formatDate = date => {
38
+ const year = date.getFullYear();
39
+ const month = String(date.getMonth() + 1).padStart(2, '0');
40
+ const day = String(date.getDate()).padStart(2, '0');
41
+ return `${year}-${month}-${day}`;
42
+ };
43
+ // Get default dates (today and today + 2 days)
44
+ const getDefaultDates = () => {
45
+ const today = new Date();
46
+ const twoDaysLater = new Date(today);
47
+ twoDaysLater.setDate(today.getDate() + 2);
48
+ return {
49
+ arrival: formatDate(today),
50
+ departure: formatDate(twoDaysLater)
51
+ };
52
+ };export{BOOKING_API,PARTNER_LOGOS,PRICELINE_API,RAPID_API_KEY,formatDate,getDefaultDates};//# sourceMappingURL=api.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.config.js","sources":["../../src/config/api.config.ts"],"sourcesContent":[null],"names":[],"mappings":"qCAAA;;;AAGG;AAIH;AACa,MAAA,aAAa,GAAG,MAAM,CAAC;AAEpC;AACa,MAAA,WAAW,GAAG;AACvB,EAAA,QAAA,EAAQ,oEAAsE;AAC9E,EAAA,IAAA,EAAI;;AAGR;AACa,MAAA,aAAa,GAAG;AACzB,EAAA,QAAA,EAAQ,iEAAmE;AAC3E,EAAA,IAAA,EAAI,uCAAyC;AAC7C,EAAA,cAAA,EAAc;AACV,IAAA,qBAAA,EAAA,MAA6B;AAC7B,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,cAAA,EAAA,MAAsB;AACtB,IAAA,GAAA,EAAA,SAAc;AACd,IAAA,SAAA,EAAA,MAAiB;AACjB,IAAA,OAAA,EAAA,MAAe;AACf,IAAA,KAAA,EAAA,MAAa;AACb,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,MAAA,EAAA,MAAc;AACd,IAAA,OAAA,EAAA;AACH;;AAGL;AACa,MAAA,aAAa,GAAG;AACzB,EAAA,MAAA,EAAM,yHAA2H;AACjI,EAAA,OAAA,EAAO,gHAC6G;AACpH,EAAA,SAAA,EAAS;;AAIb;AACa,MAAA,UAAU,GAAG,IAAC,IAAsB;AAC7C,EAAA,MAAA,OAAa,IAAA,CAAA,WAAK,EAAW;AAC7B,EAAA,MAAA,QAAc,MAAA,CAAA,IAAW,CAAA,UAAS,GAAE,CAAA,CAAG,CAAC,QAAU,CAAA,CAAA,EAAE,GAAE,CAAA;AACtD,EAAA,MAAA,MAAY,MAAA,CAAA,IAAO,CAAA,OAAY,EAAA,CAAA,CAAE,UAAU,EAAE,GAAE,CAAA;AAC/C,EAAA,OAAA,CAAA,MAAc,CAAA,CAAA,EAAA,OAAS,EAAI,GAAA,CAAA,CAAG;AAClC;AAEA;AACO,MAAM,eAAe,GAAG,MAAK;AAChC,EAAA,MAAA,KAAW,GAAA,IAAO,IAAA,EAAI;AACtB,EAAA,MAAA,eAAqB,IAAA,UAAS,CAAA;cAClB,CAAA,OAAQ,CAAA,KAAM,CAAA,SAAQ,GAAE,CAAA,CAAG;SAEhC;AACH,IAAA,OAAA,EAAA,UAAS,CAAA,KAAW,CAAA;AACpB,IAAA,SAAA,EAAA,UAAW,CAAA,YAAW;;AAE9B"}
@@ -17,5 +17,6 @@ export declare const config: Readonly<{
17
17
  DEFAULT_COORDINATES: string;
18
18
  ENABLE_SETTING_DRAWER: boolean;
19
19
  GOOGLE_ANALYTICS_ID: string;
20
+ RAPID_API_KEY: string;
20
21
  } & import("envalid").CleanedEnvAccessors>;
21
22
  //# sourceMappingURL=env-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;0CAsCjB,CAAC"}
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;0CAuCjB,CAAC"}
@@ -75,5 +75,8 @@ const config = cleanEnv(env, {
75
75
  }),
76
76
  GOOGLE_ANALYTICS_ID: str({
77
77
  default: 'G-L5J3SYZ69C'
78
+ }),
79
+ RAPID_API_KEY: str({
80
+ default: '7c2d15ba29msh468be2f129d847cp183e95jsnc7c279116f6e'
78
81
  })
79
82
  });export{config};//# sourceMappingURL=env-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACF,GAAA,CAAA;wCACoC,CAAA;AACvC,IAAE,OAAA,EAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"env-config.js","sources":["../../src/config/env-config.ts"],"sourcesContent":[null],"names":[],"mappings":"0JAIA,MAAM,GAAG,GAAG,cAAc,EAAE;AAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC;KACvC,EAAA,gBAAkB,CAAA,GAAI;KACtB,EAAA,gBAAkB,CAAA,GAAI;MACrB,EAAA,gBAAkB,CAAA,IAAK;SACpB,EAAA,gBAAkB,CAAA;AAC5B,CAAA,CAAC;AAEW,MAAA,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;AAChC,EAAA,WAAA,EAAW,GAAE,CAAA;AACb,IAAA,OAAA,EAAA,aAAA;AACA,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;AACA,EAAA,gCAA4B,EAAI,IAAS,CAAA;AACzC,IAAA,OAAA,EAAA,KAAc;AACd,IAAA,IAAA,EAAA;AAEA,GAAA,CAAA;kBACmB,EAAA,GAAA,CAAA;IACnB,OAAiC,EAAA,sBAAA;AAC7B,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;iBACF,EAAA,GAAA,CAAA;IACF,OAAkC,EAAA,IAAA,CAAA,SAAA,CAAA,eAAK,CAAC;AACpC,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;4BACF,EAAA,GAAA,CAAA;IACF,OAA8B,EAAA,EAAA;QAC1B,EAAO;AACP,GAAA,CAAA;gBACF,EAAA,GAAA,CAAA;IACF,OAA0B,EAAA,EAAA;AACtB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;qBACF,EAAA,GAAA,CAAA;IACF,OAA6B,EAAA,EAAA;AACzB,IAAA,IAAA,EAAA;AACA,GAAA,CAAA;eACF,EAAA,GAAA,CAAA;IACF,OAAiB,EAAA,SAAA;IACjB,IAAmB,EAAA;AACf,GAAA,CAAA;AACA,EAAA,mBAA+C,EAAA,GAAA,CAAA;WACjD,EAAA;AACF,GAAA,CAAA;wCACoC,CAAA;IACpC,OAAa,EAAA,EAAA;AAChB,IAAE,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,3 +1,4 @@
1
1
  export * from './env-config';
2
2
  export * from './analytics-config';
3
+ export * from './api.config';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const fetchBookingHotelDetails: (hotelId: any, checkIn: any, checkOut: any, adults: any, children: any) => Promise<any>;
2
+ //# sourceMappingURL=fetchBookingHotelDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchBookingHotelDetails.d.ts","sourceRoot":"","sources":["../../src/utils/fetchBookingHotelDetails.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,GAAU,YAAO,EAAE,YAAO,EAAE,aAAQ,EAAE,WAAM,EAAE,aAAQ,iBAiC1F,CAAC"}
@@ -0,0 +1,30 @@
1
+ import'../config/env-config.js';import'../config/analytics-config.js';import {getDefaultDates,BOOKING_API,RAPID_API_KEY}from'../config/api.config.js';// Function to fetch hotel details from RapidAPI
2
+ const fetchBookingHotelDetails = async (hotelId, checkIn, checkOut, adults, children) => {
3
+ const url = BOOKING_API.BASE_URL;
4
+ // Get default dates if not provided
5
+ const defaultDates = getDefaultDates();
6
+ const arrivalDate = checkIn || defaultDates.arrival;
7
+ const departureDate = checkOut || defaultDates.departure;
8
+ const params = new URLSearchParams({
9
+ hotel_id: hotelId,
10
+ arrival_date: arrivalDate,
11
+ departure_date: departureDate
12
+ });
13
+ try {
14
+ const response = await fetch(`${url}?${params.toString()}`, {
15
+ method: 'GET',
16
+ headers: {
17
+ 'x-rapidapi-host': BOOKING_API.HOST,
18
+ 'x-rapidapi-key': RAPID_API_KEY
19
+ }
20
+ });
21
+ if (!response.ok) {
22
+ throw new Error('Failed to fetch hotel details');
23
+ }
24
+ const data = await response.json();
25
+ return data;
26
+ } catch (error) {
27
+ console.error('Error fetching hotel details:', error);
28
+ return null;
29
+ }
30
+ };export{fetchBookingHotelDetails};//# sourceMappingURL=fetchBookingHotelDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchBookingHotelDetails.js","sources":["../../src/utils/fetchBookingHotelDetails.ts"],"sourcesContent":[null],"names":[],"mappings":"sJAEA;AACa,MAAA,wBAAwB,GAAG,OAAO,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAI;AAC3F,EAAA,MAAA,GAAS,GAAA,WAAc,CAAA;;AAGvB,EAAA,MAAA,YAAkB,GAAA,eAAkB,EAAA;AACpC,EAAA,MAAA,cAAoB,OAAA,gBAAuB,CAAA;AAC3C,EAAA,MAAA,gBAAsB,QAAA,gBAAwB,CAAA;AAE9C,EAAA,MAAA,MAAY,GAAA,IAAO,eAAA,CAAA;AACf,IAAA,QAAA,EAAA,OAAiB;AACjB,IAAA,YAAA,EAAA,WAAyB;AACzB,IAAA,cAAA,EAAA;AACH,GAAA,CAAA;AAED,EAAA,IAAA;AACI,IAAA,MAAA,QAAc,GAAA,MAAS,KAAA,CAAA,CAAA,EAAK,GAAC,CAAG,CAAG,EAAA,MAAU,CAAA,QAAS,EAAA,CAAA,CAAA,EAAE;AACpD,MAAA,MAAA,EAAA;AACA,MAAA,OAAA,EAAA;yBACqB,EAAA,WAAa,CAAA,IAAA;AAC9B,QAAA,gBAAA,EAAA;AACH;AACJ,KAAA,CAAA;AAED,IAAA,IAAA,CAAA,QAAK,CAAA,EAAA,EAAS;AACV,MAAA,MAAA,IAAA,KAAU,CAAA,+BAAM,CAAA;;AAGpB,IAAA,MAAA,IAAM,SAAO,aAAe,EAAA;AAC5B,IAAA,OAAA,IAAO;IACX,OAAC,KAAA,EAAA;IAAC,OAAO,CAAA,MAAO,+BAAC,EAAA,KAAA,CAAA;AACb,IAAA,OAAA,IAAO;AACP;"}
@@ -0,0 +1,2 @@
1
+ export declare const fetchPricelineHotelDetails: (hotelId: any) => Promise<any>;
2
+ //# sourceMappingURL=fetchPricelineHotelDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPricelineHotelDetails.d.ts","sourceRoot":"","sources":["../../src/utils/fetchPricelineHotelDetails.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,GAAU,YAAO,iBA0BvD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import'../config/env-config.js';import'../config/analytics-config.js';import {PRICELINE_API,RAPID_API_KEY}from'../config/api.config.js';// Function to fetch Priceline property details
2
+ const fetchPricelineHotelDetails = async hotelId => {
3
+ const url = PRICELINE_API.BASE_URL;
4
+ const params = new URLSearchParams({
5
+ hotel_id: hotelId,
6
+ ...PRICELINE_API.DEFAULT_PARAMS
7
+ });
8
+ try {
9
+ const response = await fetch(`${url}?${params.toString()}`, {
10
+ method: 'GET',
11
+ headers: {
12
+ 'x-rapidapi-host': PRICELINE_API.HOST,
13
+ 'x-rapidapi-key': RAPID_API_KEY
14
+ }
15
+ });
16
+ if (!response.ok) {
17
+ throw new Error('Failed to fetch Priceline property details');
18
+ }
19
+ const data = await response.json();
20
+ return data;
21
+ } catch (error) {
22
+ console.error('Error fetching Priceline property details:', error);
23
+ return null;
24
+ }
25
+ };export{fetchPricelineHotelDetails};//# sourceMappingURL=fetchPricelineHotelDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchPricelineHotelDetails.js","sources":["../../src/utils/fetchPricelineHotelDetails.ts"],"sourcesContent":[null],"names":[],"mappings":"wIAEA;MACa,0BAA0B,GAAG,MAAO,OAAA,IAAW;AACxD,EAAA,MAAA,GAAS,GAAA,aAAgB,CAAA;AACzB,EAAA,MAAA,MAAY,GAAA,IAAO,eAAA,CAAA;AACf,IAAA,QAAA,EAAA,OAAiB;oBACd,CAAA;AACN,GAAA,CAAA;AAED,EAAA,IAAA;AACI,IAAA,MAAA,QAAc,GAAA,MAAS,KAAA,CAAA,CAAA,EAAK,GAAC,CAAG,CAAG,EAAA,MAAU,CAAA,QAAS,EAAA,CAAA,CAAA,EAAE;AACpD,MAAA,MAAA,EAAA;AACA,MAAA,OAAA,EAAA;yBACqB,EAAA,aAAe,CAAA,IAAA;AAChC,QAAA,gBAAA,EAAA;AACH;AACJ,KAAA,CAAA;AAED,IAAA,IAAA,CAAA,QAAK,CAAA,EAAA,EAAS;AACV,MAAA,MAAA,IAAA,KAAU,CAAA,4CAAM,CAAA;;AAGpB,IAAA,MAAA,IAAM,SAAO,aAAe,EAAA;AAC5B,IAAA,OAAA,IAAO;IACX,OAAC,KAAA,EAAA;IAAC,OAAO,CAAA,MAAO,4CAAC,EAAA,KAAA,CAAA;AACb,IAAA,OAAA,IAAO;AACP;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-design-pro",
3
- "version": "10.1.1-alpha.16",
3
+ "version": "10.1.1-alpha.18",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -61,5 +61,5 @@
61
61
  "typescript": {
62
62
  "definition": "lib/index.d.ts"
63
63
  },
64
- "gitHead": "fd4898d38116be427ab4ef1432f8d3d02332b144"
64
+ "gitHead": "e6c290f722353dce3f56213329e25e5278b44f3d"
65
65
  }