@admin-layout/tailwind-design-pro 10.1.1-alpha.17 → 10.1.1-alpha.19

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.
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAqCA,QAAA,MAAM,aAAa,0CAA0C,CAAC;AAG9D,QAAA,MAAM,cAAc,0CAA2C,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AA2BA,QAAA,MAAM,aAAa,0CAA0C,CAAC;AAG9D,QAAA,MAAM,cAAc,0CAA2C,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
package/lib/compute.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { getFilteredMenus, getFilteredRoutes } from '@common-stack/client-react/lib/utils/filteredRoutes.js';
2
2
  import { config } from './config/env-config.js';
3
- import { IMenuPosition } from '@common-stack/client-react';
4
3
  const key = 'root-layout';
5
4
  const tailwindDesignProPage = [{
6
5
  key: key,
@@ -31,17 +30,6 @@ const tailwindDesignProPage = [{
31
30
  componentPath: "@admin-layout/tailwind-design-pro/lib/components/UpdateSettingsResource/UpdateSettingsResource.js",
32
31
  hasLoader: true,
33
32
  hasAction: true
34
- },
35
- // Add DeepLinkWaitingPage route
36
- {
37
- path: `//deep-link/property/:propertyId`,
38
- key: 'deep-link',
39
- exact: true,
40
- hideInMenu: true,
41
- clientOnly: true,
42
- position: IMenuPosition.Middle,
43
- componentPath: "@admin-layout/tailwind-design-pro/lib/components/DeepLinkWaitingPage/DeepLinkWaitingPage.js",
44
- hasComponent: true
45
33
  }];
46
34
  // get menus
47
35
  getFilteredMenus(tailwindDesignProPage);
@@ -1 +1 @@
1
- {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"2MAGA,MAAM,GAAG,GAAG,aAAa;AAEzB,MAAM,qBAAqB,GAAU,CAAA;AACjC,EAAA,GAAA,EAAA,GAAA;AACI,EAAA,IAAA,EAAA,aAAQ;AACR,EAAA,IAAA,EAAA,MAAM,CAAa,WAAA;QACnB,UAAY;AACZ,EAAA,gBAAgB,EAAA,CAAA,GAAA,CAAA;SACA,KAAA;AAChB,EAAA,SAAA,EAAK,MAAO,OAAA,0CAAA;AACZ,CAAA,EAAA;AACH,EAAA,GAAA,EAAA,0BAAA;AACD,EAAA,aAAA,EAAA,IAAA;AACI,EAAA,IAAA,EAAA,wBAA+B;AAC/B,EAAA,eAAA,EAAA,IAAe;AACf,EAAA,IAAA,EAAA;AACA,EAAA,SAAA,EAAA,MAAA,OAAqB,+DAAA,CAAA;AACrB,EAAA,IAAA,EAAA;AACA,CAAA;AACA;AACH;MAC+B,EAAA,CAAA,gCAAA,CAAA;AAChC,EAAA,GAAA,EAAA,WAAA;AACI,EAAA,KAAA,EAAA;AACA,EAAA,YAAgB,IAAA;AAChB,EAAA,UAAA,MAAW;AACX,EAAA,SAAA,EAAA,aAAgB,yDAAA,CAAA;AAChB,EAAA,QAAA,EAAA,aAAgB,CAAA;AAChB,CAAA,CAAA;;AAEH,gBAAA,CAAA,qBAAA;;AAGO,MAAA,cAAA,GAAA,iBAAA,CAAA,qBAAA"}
1
+ {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"oJAGA,MAAM,GAAG,GAAG,aAAa;AAEzB,MAAM,qBAAqB,GAAU,CAAA;AACjC,EAAA,GAAA,EAAA,GAAA;AACI,EAAA,IAAA,EAAA,aAAQ;AACR,EAAA,IAAA,EAAA,MAAM,CAAa,WAAA;QACnB,UAAY;AACZ,EAAA,gBAAgB,EAAA,CAAA,GAAA,CAAA;SACA,KAAA;AAChB,EAAA,SAAA,EAAK,MAAO,OAAA,0CAAA;AACZ,CAAA,EAAA;AACH,EAAA,GAAA,EAAA,0BAAA;AACD,EAAA,aAAA,EAAA,IAAA;AACI,EAAA,IAAA,EAAA,wBAA+B;AAC/B,EAAA,eAAA,EAAA,IAAe;AACf,EAAA,IAAA,EAAA;AACA,EAAA,SAAA,EAAA,MAAA,OAAqB,+DAAA,CAAA;AACrB,EAAA,IAAA,EAAA;AACA,CAAA,CAAA;AACA;AACH,gBAAA,CAAA,qBAAA;;AAGO,MAAA,cAAA,GAAA,iBAAA,CAAA,qBAAA"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/routes.json CHANGED
@@ -38,17 +38,5 @@
38
38
  "hasLoader": true,
39
39
  "hasAction": true
40
40
  }
41
- },
42
- {
43
- "//deep-link/property/:propertyId": {
44
- "path": "//deep-link/property/:propertyId",
45
- "key": "deep-link",
46
- "exact": true,
47
- "hideInMenu": true,
48
- "clientOnly": true,
49
- "position": "MIDDLE",
50
- "componentPath": "@admin-layout/tailwind-design-pro/lib/components/DeepLinkWaitingPage/DeepLinkWaitingPage.js",
51
- "hasComponent": true
52
- }
53
41
  }
54
42
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-layout/tailwind-design-pro",
3
- "version": "10.1.1-alpha.17",
3
+ "version": "10.1.1-alpha.19",
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": "dfb3fcd53042be3b4a49d6aa863ef9ada9f4f2ef"
64
+ "gitHead": "275080f5df7c13fd81f9016a180b9d2a71ed24e4"
65
65
  }
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- interface DeepLinkWaitingPageProps {
3
- redirectDelay?: number;
4
- googleAnalyticsId?: string;
5
- }
6
- declare const DeepLinkWaitingPage: React.FC<DeepLinkWaitingPageProps>;
7
- export default DeepLinkWaitingPage;
8
- //# sourceMappingURL=DeepLinkWaitingPage.d.ts.map
@@ -1 +0,0 @@
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,146 +0,0 @@
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 = ({
2
- redirectDelay = 5,
3
- googleAnalyticsId = config.GOOGLE_ANALYTICS_ID
4
- }) => {
5
- const [searchParams] = useSearchParams();
6
- const {
7
- propertyId
8
- } = useParams();
9
- const [countdown, setCountdown] = useState(redirectDelay);
10
- const [redirectUrl, setRedirectUrl] = useState('');
11
- useEffect(() => {
12
- // Initialize Google Analytics if enabled
13
- {
14
- initGA(googleAnalyticsId);
15
- }
16
- // Get the redirect URL from URL parameters
17
- const url = searchParams.get('redirectUrl');
18
- if (url) {
19
- setRedirectUrl(url);
20
- }
21
- // Track page view if enabled
22
- {
23
- trackPageView(window.location.pathname, `Deep Link Waiting Page - Property: ${propertyId || 'Unknown'}`);
24
- }
25
- // Start countdown
26
- const timer = setInterval(() => {
27
- setCountdown(prev => {
28
- if (prev <= 1) {
29
- clearInterval(timer);
30
- // Track auto-redirect event if enabled
31
- {
32
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.AUTO_REDIRECT, `To: ${url || 'Unknown'}`);
33
- }
34
- // Redirect after countdown finishes
35
- window.location.href = url || '';
36
- return 0;
37
- }
38
- return prev - 1;
39
- });
40
- }, 1000);
41
- return () => clearInterval(timer);
42
- }, [searchParams, redirectDelay, propertyId, googleAnalyticsId]);
43
- const handleManualRedirect = () => {
44
- if (redirectUrl) {
45
- // Track manual click event if enabled
46
- {
47
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.MANUAL_CLICK, `To: ${redirectUrl}`, countdown);
48
- }
49
- window.location.href = redirectUrl;
50
- }
51
- };
52
- return jsx("div", {
53
- className: "flex flex-col items-center justify-center min-h-screen bg-gray-50 p-4",
54
- children: jsxs("div", {
55
- className: "max-w-3xl w-full bg-white rounded-lg shadow-lg p-8 text-center",
56
- children: [jsx("h1", {
57
- className: "text-2xl font-bold mb-6",
58
- children: "Thank you, almost there..."
59
- }), jsxs("div", {
60
- className: "flex justify-center items-center space-x-8 mb-10",
61
- children: [jsxs("div", {
62
- className: "text-center",
63
- children: [jsx("img", {
64
- src: "https://pbs.twimg.com/profile_images/1687470682165112833/egFUxwF-_400x400.jpg",
65
- alt: "Our Logo",
66
- className: "w-32 h-auto mb-2"
67
- }), jsx("p", {
68
- children: "You've found your property"
69
- })]
70
- }), jsxs("div", {
71
- className: "flex items-center",
72
- children: [jsx("div", {
73
- className: "w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center text-white",
74
- children: jsx("svg", {
75
- xmlns: "http://www.w3.org/2000/svg",
76
- className: "h-6 w-6",
77
- fill: "none",
78
- viewBox: "0 0 24 24",
79
- stroke: "currentColor",
80
- children: jsx("path", {
81
- strokeLinecap: "round",
82
- strokeLinejoin: "round",
83
- strokeWidth: 2,
84
- d: "M14 5l7 7m0 0l-7 7m7-7H3"
85
- })
86
- })
87
- }), jsx("div", {
88
- className: "w-16 h-2 bg-gray-200",
89
- children: jsx("div", {
90
- className: "h-full bg-blue-500",
91
- style: {
92
- width: `${countdown / redirectDelay * 100}%`
93
- }
94
- })
95
- }), jsx("div", {
96
- className: "w-12 h-12 bg-gray-200 rounded-full flex items-center justify-center text-gray-500",
97
- children: jsx("svg", {
98
- xmlns: "http://www.w3.org/2000/svg",
99
- className: "h-6 w-6",
100
- fill: "none",
101
- viewBox: "0 0 24 24",
102
- stroke: "currentColor",
103
- children: jsx("path", {
104
- strokeLinecap: "round",
105
- strokeLinejoin: "round",
106
- strokeWidth: 2,
107
- d: "M14 5l7 7m0 0l-7 7m7-7H3"
108
- })
109
- })
110
- })]
111
- }), jsxs("div", {
112
- className: "text-center",
113
- children: [jsx("img", {
114
- src: searchParams.get('partnerLogo') || '/images/partner-logo.png',
115
- alt: "Partner Logo",
116
- className: "w-32 h-auto mb-2"
117
- }), jsxs("p", {
118
- children: ["Now complete your booking with", jsx("br", {}), "the property provider ", searchParams.get('partnerName')]
119
- })]
120
- })]
121
- }), jsxs("p", {
122
- className: "mb-4",
123
- children: ["You will be redirected in ", jsx("span", {
124
- className: "font-bold",
125
- children: countdown
126
- }), " seconds"]
127
- }), jsx("button", {
128
- onClick: handleManualRedirect,
129
- className: "px-6 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors",
130
- children: "Continue Now"
131
- }), jsxs("p", {
132
- 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", {
134
- href: redirectUrl,
135
- className: "text-blue-600 hover:underline",
136
- onClick: () => {
137
- {
138
- trackEvent(EVENT_CATEGORIES.REDIRECTION, EVENT_ACTIONS.LINK_CLICK, `To: ${redirectUrl}`, countdown);
139
- }
140
- },
141
- children: "click here"
142
- }), "."]
143
- })]
144
- })
145
- });
146
- };export{DeepLinkWaitingPage as default};//# sourceMappingURL=DeepLinkWaitingPage.js.map
@@ -1 +0,0 @@
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,34 +0,0 @@
1
- import {config}from'./env-config.js';/**
2
- * Google Analytics Configuration
3
- */
4
- // Configuration for analytics tracking
5
- const ANALYTICS_CONFIG = {
6
- // Enable or disable analytics tracking
7
- enabled: true,
8
- // Enable or disable debugging messages in console
9
- debug: process.env.NODE_ENV === 'development',
10
- // GA4 Measurement ID
11
- GA4_MEASUREMENT_ID: config.GOOGLE_ANALYTICS_ID,
12
- // Configure what events to track
13
- trackEvents: {
14
- pageViews: true,
15
- clicks: true,
16
- redirections: true,
17
- errors: true
18
- },
19
- // Configure what user properties to track
20
- trackUserProperties: {
21
- userId: true,
22
- deviceInfo: true,
23
- location: false // Be careful with privacy regulations like GDPR
24
- }
25
- };
26
- // Analytics event categories
27
- const EVENT_CATEGORIES = {
28
- REDIRECTION: 'Redirection'};
29
- // Analytics event actions
30
- const EVENT_ACTIONS = {
31
- // Redirections
32
- AUTO_REDIRECT: 'Auto Redirect',
33
- MANUAL_CLICK: 'Manual Click',
34
- LINK_CLICK: 'Link Click'};export{ANALYTICS_CONFIG,EVENT_ACTIONS,EVENT_CATEGORIES};//# sourceMappingURL=analytics-config.js.map
@@ -1 +0,0 @@
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,169 +0,0 @@
1
- import ReactGA from'react-ga4';import {ANALYTICS_CONFIG}from'../config/analytics-config.js';let isInitialized = false;
2
- /**
3
- * Initialize Google Analytics
4
- * @param {string} measurementId - Google Analytics measurement ID (GA4)
5
- */
6
- const initGA = measurementId => {
7
- if (!measurementId) {
8
- console.warn('Google Analytics Measurement ID is missing');
9
- return;
10
- }
11
- if (isInitialized) {
12
- if (ANALYTICS_CONFIG.debug) {
13
- console.log('Google Analytics already initialized, skipping');
14
- }
15
- return;
16
- }
17
- try {
18
- ReactGA.initialize(measurementId, {
19
- gaOptions: {
20
- debug_mode: ANALYTICS_CONFIG.debug,
21
- send_page_view: false // We'll manually track the first page view
22
- }
23
- });
24
- isInitialized = true;
25
- if (ANALYTICS_CONFIG.debug) {
26
- console.log('Google Analytics initialized with ID:', measurementId);
27
- }
28
- // Track initial page view
29
- trackPageView(window.location.pathname, document.title);
30
- // Set user properties if enabled
31
- if (ANALYTICS_CONFIG.trackUserProperties.deviceInfo) {
32
- setDeviceInfo();
33
- }
34
- // Listen for analytics events from our XState machines
35
- window.addEventListener('analytics.event', e => {
36
- const analyticsEvent = e.detail;
37
- if (!analyticsEvent || !analyticsEvent.type) return;
38
- // Process the event based on its type
39
- switch (analyticsEvent.type) {
40
- case 'TRACK_EVENT':
41
- trackEvent(analyticsEvent.params?.event_category || 'User Interaction', analyticsEvent.name, analyticsEvent.params?.event_label, analyticsEvent.params?.value);
42
- break;
43
- case 'PAGE_VIEW':
44
- trackPageView(analyticsEvent.params?.page_path || window.location.pathname, analyticsEvent.page || analyticsEvent.params?.page_title);
45
- break;
46
- case 'SEARCH':
47
- trackGA4Event('search', analyticsEvent.params);
48
- break;
49
- case 'VIEW_ITEM':
50
- trackGA4Event('view_item', analyticsEvent.params);
51
- break;
52
- case 'USER_ENGAGEMENT':
53
- trackGA4Event('user_engagement', analyticsEvent.params);
54
- break;
55
- case 'BEGIN_CHECKOUT':
56
- trackGA4Event('begin_checkout', analyticsEvent.params);
57
- break;
58
- case 'ADD_PAYMENT_INFO':
59
- trackGA4Event('add_payment_info', analyticsEvent.params);
60
- break;
61
- case 'PURCHASE':
62
- trackGA4Event('purchase', analyticsEvent.params);
63
- break;
64
- default:
65
- // For other events, track as a custom event
66
- if (analyticsEvent.name) {
67
- trackEvent('Custom', analyticsEvent.name, undefined, undefined);
68
- }
69
- }
70
- });
71
- } catch (error) {
72
- console.error('Error initializing Google Analytics:', error);
73
- }
74
- };
75
- /**
76
- * Track a GA4 standard event
77
- * @param {string} eventName - GA4 event name
78
- * @param {GA4EventParams} eventParams - Event parameters
79
- */
80
- const trackGA4Event = (eventName, eventParams) => {
81
- if (!isInitialized) {
82
- if (ANALYTICS_CONFIG.debug) {
83
- console.warn(`Attempted to track GA4 event ${eventName} before initialization`);
84
- }
85
- return;
86
- }
87
- try {
88
- ReactGA.event(eventName, eventParams);
89
- if (ANALYTICS_CONFIG.debug) {
90
- console.log(`GA4 event tracked: ${eventName}`, eventParams);
91
- }
92
- } catch (error) {
93
- console.error(`Error tracking GA4 event ${eventName}:`, error);
94
- }
95
- };
96
- /**
97
- * Track page views
98
- * @param {string} path - URL path to track
99
- * @param {string} title - Page title
100
- */
101
- const trackPageView = (path, title) => {
102
- if (!isInitialized) {
103
- if (ANALYTICS_CONFIG.debug) {
104
- console.warn('Attempted to track page view before initialization:', path);
105
- }
106
- return;
107
- }
108
- try {
109
- ReactGA.send({
110
- hitType: 'pageview',
111
- page: path,
112
- title,
113
- location: window.location.href
114
- });
115
- if (ANALYTICS_CONFIG.debug) {
116
- console.log(`Page view tracked: ${path}${title ? ` (${title})` : ''}`);
117
- }
118
- } catch (error) {
119
- console.error('Error tracking page view:', error);
120
- }
121
- };
122
- /**
123
- * Track events
124
- * @param {string} category - Event category
125
- * @param {string} action - Event action
126
- * @param {string} label - Event label (optional)
127
- * @param {number} value - Event value (optional)
128
- */
129
- const trackEvent = (category, action, label, value) => {
130
- if (!isInitialized) {
131
- if (ANALYTICS_CONFIG.debug) {
132
- console.warn('Attempted to track event before initialization:', category, action);
133
- }
134
- return;
135
- }
136
- try {
137
- ReactGA.event({
138
- category,
139
- action,
140
- label,
141
- value
142
- });
143
- if (ANALYTICS_CONFIG.debug) {
144
- console.log(`Event tracked: ${category} - ${action}${label ? ` - ${label}` : ''}${value !== undefined ? ` (${value})` : ''}`);
145
- }
146
- } catch (error) {
147
- console.error('Error tracking event:', error);
148
- }
149
- };
150
- /**
151
- * Set device information as user properties
152
- */
153
- const setDeviceInfo = () => {
154
- if (!isInitialized) return;
155
- try {
156
- const deviceInfo = {
157
- screenResolution: `${window.screen.width}x${window.screen.height}`,
158
- viewportSize: `${window.innerWidth}x${window.innerHeight}`,
159
- userAgent: navigator.userAgent,
160
- language: navigator.language
161
- };
162
- ReactGA.set(deviceInfo);
163
- if (ANALYTICS_CONFIG.debug) {
164
- console.log('Device info set:', deviceInfo);
165
- }
166
- } catch (error) {
167
- console.error('Error setting device info:', error);
168
- }
169
- };export{initGA,trackEvent,trackGA4Event,trackPageView};//# sourceMappingURL=analytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.js","sources":["../../src/utils/analytics.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}