@moneylion/react-native-offer-carousel 1.6.0 → 1.7.0
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/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js +45 -10
- package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/commonjs/components/MoneyLionOfferCarousel.js +43 -10
- package/lib/commonjs/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/commonjs/pageData.js.map +1 -1
- package/lib/commonjs/services/getDynamicOffers.js +2 -1
- package/lib/commonjs/services/getDynamicOffers.js.map +1 -1
- package/lib/commonjs/utils/getOffersByProductTypes.js +3 -2
- package/lib/commonjs/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js +45 -10
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/module/components/MoneyLionOfferCarousel.js +43 -10
- package/lib/module/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/module/pageData.js.map +1 -1
- package/lib/module/services/getDynamicOffers.js +2 -1
- package/lib/module/services/getDynamicOffers.js.map +1 -1
- package/lib/module/utils/getOffersByProductTypes.js +3 -2
- package/lib/module/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts +1 -1
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts.map +1 -1
- package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts.map +1 -1
- package/lib/typescript/src/context/EventHandlerProvider.d.ts +5 -6
- package/lib/typescript/src/context/EventHandlerProvider.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/pageData.d.ts +11 -2
- package/lib/typescript/src/pageData.d.ts.map +1 -1
- package/lib/typescript/src/services/getDynamicOffers.d.ts.map +1 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts +2 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/offer-catalog/src/api/offerCatalogApi.ts +61 -12
- package/src/components/MoneyLionOfferCarousel.tsx +56 -19
- package/src/context/EventHandlerProvider.tsx +5 -5
- package/src/index.tsx +9 -0
- package/src/pageData.ts +12 -2
- package/src/services/getDynamicOffers.ts +1 -0
- package/src/utils/getOffersByProductTypes.ts +4 -1
|
@@ -68,7 +68,27 @@ const getCachedOffersByProductTypes = context => async productTypes => {
|
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
exports.getCachedOffersByProductTypes = getCachedOffersByProductTypes;
|
|
71
|
-
const
|
|
71
|
+
const getOfferCatalogApi = async ({
|
|
72
|
+
isDev,
|
|
73
|
+
leadUuid,
|
|
74
|
+
token,
|
|
75
|
+
payload
|
|
76
|
+
}) => {
|
|
77
|
+
const url = `${(0, _apiEnvironment.getOfferCatalogApiBaseUrl)(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
|
|
78
|
+
const response = await fetch(url, {
|
|
79
|
+
method: "POST",
|
|
80
|
+
headers: {
|
|
81
|
+
"Content-Type": "application/json",
|
|
82
|
+
"Authorization": `Bearer ${token}`
|
|
83
|
+
},
|
|
84
|
+
body: JSON.stringify(payload)
|
|
85
|
+
});
|
|
86
|
+
return response;
|
|
87
|
+
};
|
|
88
|
+
const MAX_POLLING_ATTEMPTS = 5;
|
|
89
|
+
const POLLING_INTERVAL_MS = 3000; // 3 seconds
|
|
90
|
+
|
|
91
|
+
const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
|
|
72
92
|
// const offersFromProductTypesLogger = pinoRootLogger.child({
|
|
73
93
|
// name: "offersFromProductTypesLogger",
|
|
74
94
|
// });
|
|
@@ -106,16 +126,31 @@ const getOffersForProductTypes = context => async (productTypes, customClientTag
|
|
|
106
126
|
// handle error if context is not available. This scenario should not occur in production
|
|
107
127
|
console.error(error, _errorUtil.default.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
|
|
108
128
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
body: JSON.stringify(fields)
|
|
129
|
+
|
|
130
|
+
// Initial request
|
|
131
|
+
let response = await getOfferCatalogApi({
|
|
132
|
+
isDev,
|
|
133
|
+
leadUuid,
|
|
134
|
+
token,
|
|
135
|
+
payload: fields
|
|
117
136
|
});
|
|
118
|
-
|
|
137
|
+
let body = await response.json();
|
|
138
|
+
|
|
139
|
+
// Start polling
|
|
140
|
+
// Poll as long as pendingResponses is not empty
|
|
141
|
+
// with 3 second interval and maximum of 5 attempts
|
|
142
|
+
let pollingAttempt = 1;
|
|
143
|
+
while (enablePolling && body.pendingResponses && Array.isArray(body.pendingResponses) && body.pendingResponses.length > 0 && pollingAttempt <= MAX_POLLING_ATTEMPTS) {
|
|
144
|
+
await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
|
|
145
|
+
response = await getOfferCatalogApi({
|
|
146
|
+
isDev,
|
|
147
|
+
leadUuid,
|
|
148
|
+
token,
|
|
149
|
+
payload: fields
|
|
150
|
+
});
|
|
151
|
+
body = await response.json();
|
|
152
|
+
pollingAttempt++;
|
|
153
|
+
}
|
|
119
154
|
const logFormat = {
|
|
120
155
|
status: response.status,
|
|
121
156
|
statusText: response.statusText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_radash","require","_contextUtil","_errorUtil","_interopRequireDefault","_withDeviceSignals","_apiEnvironment","e","__esModule","default","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","getSubAccountUUID","isDev","getIsDevEnvironment","url","URL","getOfferCatalogApiBaseUrl","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","errorUtil","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","isEmpty","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","exports","getOffersForProductTypes","customClientTags","userData","
|
|
1
|
+
{"version":3,"names":["_radash","require","_contextUtil","_errorUtil","_interopRequireDefault","_withDeviceSignals","_apiEnvironment","e","__esModule","default","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","getSubAccountUUID","isDev","getIsDevEnvironment","url","URL","getOfferCatalogApiBaseUrl","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","errorUtil","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","isEmpty","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","exports","getOfferCatalogApi","token","payload","body","JSON","stringify","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","getSubaccountToken","getLeadUUID","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","getStateCode","withDeviceSignals","state","pollingAttempt","pendingResponses","Array","isArray","length","Promise","resolve","setTimeout"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,7 +68,14 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
68
68
|
onLoad,
|
|
69
69
|
title,
|
|
70
70
|
subtitle,
|
|
71
|
-
isDarkTheme = false
|
|
71
|
+
isDarkTheme = false,
|
|
72
|
+
productType,
|
|
73
|
+
query,
|
|
74
|
+
tags,
|
|
75
|
+
searchAPIToken,
|
|
76
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
77
|
+
showCardBorder: _showCardBorder,
|
|
78
|
+
userData
|
|
72
79
|
} = props;
|
|
73
80
|
const {
|
|
74
81
|
onInitialize,
|
|
@@ -88,14 +95,27 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
88
95
|
onOfferDetailsPageOpen,
|
|
89
96
|
onOfferDetailsPageClose
|
|
90
97
|
};
|
|
98
|
+
const getPageDataParams = (0, _react.useMemo)(() => ({
|
|
99
|
+
productType,
|
|
100
|
+
query,
|
|
101
|
+
tags,
|
|
102
|
+
searchAPIToken,
|
|
103
|
+
userData: {
|
|
104
|
+
email: (userData === null || userData === void 0 ? void 0 : userData.email) || ""
|
|
105
|
+
},
|
|
106
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
107
|
+
showCardBorder: _showCardBorder
|
|
108
|
+
}), [productType, query, tags, searchAPIToken, _showProductTypeLabel, _showCardBorder, userData === null || userData === void 0 ? void 0 : userData.email]);
|
|
91
109
|
const [context, setContext] = (0, _react.useState)(null);
|
|
92
|
-
const [
|
|
110
|
+
const [isFetchingData, setIsFetchingData] = (0, _react.useState)(true);
|
|
111
|
+
const [isFetchingConfig, setIsFetchingConfig] = (0, _react.useState)(true);
|
|
93
112
|
const [error, setError] = (0, _react.useState)(null);
|
|
94
113
|
const [pageData, setPageData] = (0, _react.useState)(null);
|
|
114
|
+
const isLoading = isFetchingData || isFetchingConfig;
|
|
95
115
|
(0, _react.useEffect)(() => {
|
|
96
116
|
const fetchConfiguration = async () => {
|
|
97
117
|
try {
|
|
98
|
-
|
|
118
|
+
setIsFetchingConfig(true);
|
|
99
119
|
const data = await getConfiguration({
|
|
100
120
|
channel,
|
|
101
121
|
zone,
|
|
@@ -116,28 +136,36 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
116
136
|
});
|
|
117
137
|
}
|
|
118
138
|
} finally {
|
|
119
|
-
|
|
139
|
+
setIsFetchingConfig(false);
|
|
120
140
|
}
|
|
121
141
|
};
|
|
122
142
|
fetchConfiguration();
|
|
123
|
-
|
|
143
|
+
// Ignoring callback functions in the dependency array
|
|
144
|
+
// to avoid unnecessary re-fetching of page data
|
|
145
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
146
|
+
}, [channel, zone, subAccountToken, isDev]);
|
|
124
147
|
(0, _react.useEffect)(() => {
|
|
125
|
-
if (
|
|
148
|
+
if (isFetchingConfig) {
|
|
126
149
|
onInitialize === null || onInitialize === void 0 || onInitialize({
|
|
127
150
|
timestamp: new Date().toISOString()
|
|
128
151
|
});
|
|
129
152
|
}
|
|
130
|
-
|
|
153
|
+
// Ignoring callback functions in the dependency array
|
|
154
|
+
// to avoid unnecessary re-fetching of page data
|
|
155
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
156
|
+
}, [isFetchingConfig]);
|
|
131
157
|
(0, _react.useEffect)(() => {
|
|
132
158
|
const fetchPageData = async () => {
|
|
133
|
-
if
|
|
159
|
+
// Should only fetch data if context is done fetching
|
|
160
|
+
if (context && !isFetchingConfig) {
|
|
134
161
|
try {
|
|
162
|
+
setIsFetchingData(true);
|
|
135
163
|
const data = await (0, _pageData.getPageData)({
|
|
136
164
|
context: {
|
|
137
165
|
...context,
|
|
138
166
|
isDev
|
|
139
167
|
},
|
|
140
|
-
params:
|
|
168
|
+
params: getPageDataParams,
|
|
141
169
|
onRateTableSubmit
|
|
142
170
|
});
|
|
143
171
|
|
|
@@ -164,11 +192,16 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
164
192
|
message: errorObj.message,
|
|
165
193
|
timestamp: new Date().toISOString()
|
|
166
194
|
});
|
|
195
|
+
} finally {
|
|
196
|
+
setIsFetchingData(false);
|
|
167
197
|
}
|
|
168
198
|
}
|
|
169
199
|
};
|
|
170
200
|
fetchPageData();
|
|
171
|
-
|
|
201
|
+
// Ignoring callback functions in the dependency array
|
|
202
|
+
// to avoid unnecessary re-fetching of page data
|
|
203
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
204
|
+
}, [context, isDev, getPageDataParams, isFetchingConfig]);
|
|
172
205
|
const themeColors = (0, _react.useMemo)(() => context ? (0, _getThemeColors.getThemeColors)(context.brand.reshapedThemeColors || {}, isDarkTheme) : (0, _getThemeColors.getThemeColors)({}, isDarkTheme), [context, isDarkTheme]);
|
|
173
206
|
if (isLoading) {
|
|
174
207
|
return /*#__PURE__*/_react.default.createElement(_DynamicOffersContainer.DynamicOfferSkeleton, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_cnfContext","_reactNative","_pageData","_DynamicOffersContainer","_ThemeProvider","_EventHandlerProvider","_apiEnvironment","_ConfigurationProvider","_getThemeColors","_ErrorBoundary","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","getConfigApiBaseUrl","headers","Authorization","response","fetch","ok","errorCode","status","code","message","timestamp","Date","toISOString","Error","data","json","error","console","includes","localCnfContext","InternalMoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","title","subtitle","isDarkTheme","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","context","setContext","useState","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_cnfContext","_reactNative","_pageData","_DynamicOffersContainer","_ThemeProvider","_EventHandlerProvider","_apiEnvironment","_ConfigurationProvider","_getThemeColors","_ErrorBoundary","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","getConfigApiBaseUrl","headers","Authorization","response","fetch","ok","errorCode","status","code","message","timestamp","Date","toISOString","Error","data","json","error","console","includes","localCnfContext","InternalMoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","title","subtitle","isDarkTheme","productType","query","tags","searchAPIToken","showProductTypeLabel","_showProductTypeLabel","showCardBorder","_showCardBorder","userData","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","getPageDataParams","useMemo","email","context","setContext","useState","isFetchingData","setIsFetchingData","isFetchingConfig","setIsFetchingConfig","setError","pageData","setPageData","isLoading","useEffect","fetchConfiguration","serializableContext","err","errorObj","fetchPageData","getPageData","params","isError","Boolean","offers","rateTableUuid","leadUuid","length","themeColors","getThemeColors","brand","reshapedThemeColors","createElement","DynamicOfferSkeleton","Text","shouldHideFooter","config","ThemeProvider","EventHandlerProvider","ConfigurationProvider","DynamicOffersContainer","MoneyLionOfferCarousel","fallbackUI","handleError","exports"],"sourceRoot":"../../../src","sources":["components/MoneyLionOfferCarousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_contextUtil","require","_getDynamicOffers","_utils","_getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","searchAPIToken","showProductTypeLabel","showCardBorder","userData","resolvedTags","trim","isCachedOffersRequest","getEnableUseCachedOffers","defaultProductType","getDefaultProductType","isDev","getIsDevEnvironment","productTypesDefinition","partnersOverrideDefinition","getProductTypesDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","productTypes","resultType","resolveProductTypes","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid","errorCode","getDynamicOffers"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_contextUtil","require","_getDynamicOffers","_utils","_getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","searchAPIToken","showProductTypeLabel","showCardBorder","userData","resolvedTags","trim","isCachedOffersRequest","getEnableUseCachedOffers","defaultProductType","getDefaultProductType","isDev","getIsDevEnvironment","productTypesDefinition","partnersOverrideDefinition","getProductTypesDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","productTypes","resultType","resolveProductTypes","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid","errorCode","getDynamicOffers"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,yBAAA,GAAAH,OAAA;AANA;;AAwBO,eAAeI,WAAWA,CAAC;EACjCC,OAAO;EACPC,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,IAAI;IACJC,cAAc;IACdC,oBAAoB;IACpBC,cAAc;IACdC;EACD,CAAC,GAAGR,MAAM;;EAEV;EACA,MAAMS,YAAY,GAAG,GAAGL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,IAAI,CAAC,CAAC,EAAE;EAEtC,MAAMC,qBAAqB,GAAG,IAAAC,kDAAwB,EAACb,OAAO,CAAC;EAE/D,MAAMc,kBAAkB,GAAG,IAAAC,4BAAqB,EAACf,OAAO,CAAC;;EAEzD;EACA;;EAEA,MAAMgB,KAAK,GAAG,IAAAC,gCAAmB,EAACjB,OAAO,CAAC;EAE1C,MAAM;IAAEkB,sBAAsB;IAAEC;EAA2B,CAAC,GAC3D,IAAAC,gCAAyB,EAACpB,OAAO,CAAC;EAEnC,MAAMqB,cAAc,GAAGrB,OAAO,CAACsB,OAAO,CAACC,aAAa,CAACC,OAAO;EAE5D,MAAMC,QAAQ,GAAGC,SAAS,CAAChB,YAAY,CAAC;;EAExC;EACA,MAAM;IAAEiB,YAAY;IAAEC;EAAW,CAAC,GAAG,MAAM,IAAAC,0BAAmB,EAAC;IAC9Df,kBAAkB;IAClBX,WAAW;IACXC,KAAK;IACLE,cAAc;IACdU;EACD,CAAC,CAAC;EAEFd,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG;IACnB4B,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACnCL,YAAY;IACZC,UAAU;IACVd;EACD,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEmB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAU,CAAC,GAC5D,MAAM,IAAAC,kCAAgB,EAAC;IACtBjC,IAAI,EAAEoB,QAAQ;IACdE,YAAY;IACZC,UAAU;IACVhB,qBAAqB;IACrBM,sBAAsB,EAAE,CAAC,GAAGA,sBAAsB,CAAC;IACnDC,0BAA0B,EAAE,CAAC,GAAGA,0BAA0B,CAAC;IAC3DnB,OAAO;IACPc,kBAAkB;IAClBL;EACD,CAAC,CAAC;EAEH,OAAO;IACNyB,OAAO;IACPG,SAAS;IACTF,QAAQ;IACRC,aAAa;IACb;IACAH,MAAM;IACNZ,cAAc;IACd;IACAb,cAAc;IACd;IACAD;EACD,CAAC;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_radash","require","_utils","_sortOffersByRecommendationScore","_effect","_formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","getOffersByProductTypes","isEmpty","fallbackResult","sortedOffers","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","addClientTagsToOfferLinks","exports"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gCAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AA2BA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAM,IAAAC,8BAAuB,EAAC;IAC7BV,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC;
|
|
1
|
+
{"version":3,"names":["_radash","require","_utils","_sortOffersByRecommendationScore","_effect","_formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","getOffersByProductTypes","enablePolling","isEmpty","fallbackResult","sortedOffers","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","addClientTagsToOfferLinks","exports"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gCAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AA2BA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAM,IAAAC,8BAAuB,EAAC;IAC7BV,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC,QAAQ;IACRO,aAAa,EAAE;EAChB,CAAC,CAAC;;EAEH;EACA,IAAI,IAAAC,eAAO,EAACP,MAAM,CAAC,EAAE;IACpB,MAAMQ,cAAc,GAAG,MAAM,IAAAH,8BAAuB,EAAC;MACpDV,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGQ,cAAc,CAACR,MAAM;IAC9BC,aAAa,GAAGO,cAAc,CAACP,aAAa;IAC5CC,OAAO,GAAGM,cAAc,CAACN,OAAO;IAChCC,QAAQ,GAAGK,cAAc,CAACL,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGI,cAAc,CAACJ,SAAS;EACrC;EAEA,MAAMK,YAAY,GACjBf,UAAU,KAAK,OAAO,GACnB,IAAAgB,0BAAmB,EAACV,MAAM,EAAEP,YAAY,CAAC,GACzC,IAAAkB,gEAA+B,EAACX,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAE,IAAAY,YAAI,EACXH,YAAY,EACZ,IAAAI,8BAAc,EAACjB,sBAAsB,EAAEC,0BAA0B,CAAC,EAClE,IAAAiB,gCAAyB,EAACnB,qBAAqB,EAAEJ,IAAI,CAAC,EACtDoB,gEACD,CAAC;IACDT,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC;AAACc,OAAA,CAAAzB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -21,7 +21,8 @@ const getOffersByProductTypes = async ({
|
|
|
21
21
|
productTypes,
|
|
22
22
|
tags,
|
|
23
23
|
context,
|
|
24
|
-
userData
|
|
24
|
+
userData,
|
|
25
|
+
enablePolling = false
|
|
25
26
|
}) => {
|
|
26
27
|
if (isCachedOffersRequest) {
|
|
27
28
|
const {
|
|
@@ -45,7 +46,7 @@ const getOffersByProductTypes = async ({
|
|
|
45
46
|
isError,
|
|
46
47
|
leadUuid,
|
|
47
48
|
errorCode
|
|
48
|
-
} = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData);
|
|
49
|
+
} = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData, enablePolling);
|
|
49
50
|
return {
|
|
50
51
|
offers,
|
|
51
52
|
rateTableUuid: uuid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_offerCatalogApi","require","_contextUtil","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","offers","uuid","isError","leadUuid","errorCode","getCachedOffersByProductTypes","rateTableUuid","getOffersForProductTypes","parseClientTags","exports"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC;
|
|
1
|
+
{"version":3,"names":["_offerCatalogApi","require","_contextUtil","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","enablePolling","offers","uuid","isError","leadUuid","errorCode","getCachedOffersByProductTypes","rateTableUuid","getOffersForProductTypes","parseClientTags","exports"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC,aAAa,GAAG;AAQjB,CAAC,KAAK;EACL,IAAIL,qBAAqB,EAAE;IAC1B,MAAM;MAAEM,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAM,IAAAC,8CAA6B,EAACR,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEK,MAAM;MAAEM,aAAa,EAAEL,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAM,IAAAG,yCAAwB,EAACV,OAAO,CAAC,CACtCF,YAAY,EACZ,IAAAa,4BAAe,EAACZ,IAAI,CAAC,EACrBE,QAAQ,EACRC,aACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEM,aAAa,EAAEL,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAhB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -60,7 +60,27 @@ export const getCachedOffersByProductTypes = context => async productTypes => {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
const getOfferCatalogApi = async ({
|
|
64
|
+
isDev,
|
|
65
|
+
leadUuid,
|
|
66
|
+
token,
|
|
67
|
+
payload
|
|
68
|
+
}) => {
|
|
69
|
+
const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
|
|
70
|
+
const response = await fetch(url, {
|
|
71
|
+
method: "POST",
|
|
72
|
+
headers: {
|
|
73
|
+
"Content-Type": "application/json",
|
|
74
|
+
"Authorization": `Bearer ${token}`
|
|
75
|
+
},
|
|
76
|
+
body: JSON.stringify(payload)
|
|
77
|
+
});
|
|
78
|
+
return response;
|
|
79
|
+
};
|
|
80
|
+
const MAX_POLLING_ATTEMPTS = 5;
|
|
81
|
+
const POLLING_INTERVAL_MS = 3000; // 3 seconds
|
|
82
|
+
|
|
83
|
+
export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
|
|
64
84
|
// const offersFromProductTypesLogger = pinoRootLogger.child({
|
|
65
85
|
// name: "offersFromProductTypesLogger",
|
|
66
86
|
// });
|
|
@@ -98,16 +118,31 @@ export const getOffersForProductTypes = context => async (productTypes, customCl
|
|
|
98
118
|
// handle error if context is not available. This scenario should not occur in production
|
|
99
119
|
console.error(error, errorUtil.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
|
|
100
120
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
body: JSON.stringify(fields)
|
|
121
|
+
|
|
122
|
+
// Initial request
|
|
123
|
+
let response = await getOfferCatalogApi({
|
|
124
|
+
isDev,
|
|
125
|
+
leadUuid,
|
|
126
|
+
token,
|
|
127
|
+
payload: fields
|
|
109
128
|
});
|
|
110
|
-
|
|
129
|
+
let body = await response.json();
|
|
130
|
+
|
|
131
|
+
// Start polling
|
|
132
|
+
// Poll as long as pendingResponses is not empty
|
|
133
|
+
// with 3 second interval and maximum of 5 attempts
|
|
134
|
+
let pollingAttempt = 1;
|
|
135
|
+
while (enablePolling && body.pendingResponses && Array.isArray(body.pendingResponses) && body.pendingResponses.length > 0 && pollingAttempt <= MAX_POLLING_ATTEMPTS) {
|
|
136
|
+
await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
|
|
137
|
+
response = await getOfferCatalogApi({
|
|
138
|
+
isDev,
|
|
139
|
+
leadUuid,
|
|
140
|
+
token,
|
|
141
|
+
payload: fields
|
|
142
|
+
});
|
|
143
|
+
body = await response.json();
|
|
144
|
+
pollingAttempt++;
|
|
145
|
+
}
|
|
111
146
|
const logFormat = {
|
|
112
147
|
status: response.status,
|
|
113
148
|
statusText: response.statusText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isEmpty","getIsDevEnvironment","getLeadUUID","getStateCode","getSubAccountUUID","getSubaccountToken","errorUtil","withDeviceSignals","getOfferCatalogApiBaseUrl","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","isDev","url","URL","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","getOffersForProductTypes","customClientTags","userData","
|
|
1
|
+
{"version":3,"names":["isEmpty","getIsDevEnvironment","getLeadUUID","getStateCode","getSubAccountUUID","getSubaccountToken","errorUtil","withDeviceSignals","getOfferCatalogApiBaseUrl","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","isDev","url","URL","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","getOfferCatalogApi","token","payload","body","JSON","stringify","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","state","pollingAttempt","pendingResponses","Array","isArray","length","Promise","resolve","setTimeout"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,7 +59,14 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
59
59
|
onLoad,
|
|
60
60
|
title,
|
|
61
61
|
subtitle,
|
|
62
|
-
isDarkTheme = false
|
|
62
|
+
isDarkTheme = false,
|
|
63
|
+
productType,
|
|
64
|
+
query,
|
|
65
|
+
tags,
|
|
66
|
+
searchAPIToken,
|
|
67
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
68
|
+
showCardBorder: _showCardBorder,
|
|
69
|
+
userData
|
|
63
70
|
} = props;
|
|
64
71
|
const {
|
|
65
72
|
onInitialize,
|
|
@@ -79,14 +86,27 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
79
86
|
onOfferDetailsPageOpen,
|
|
80
87
|
onOfferDetailsPageClose
|
|
81
88
|
};
|
|
89
|
+
const getPageDataParams = useMemo(() => ({
|
|
90
|
+
productType,
|
|
91
|
+
query,
|
|
92
|
+
tags,
|
|
93
|
+
searchAPIToken,
|
|
94
|
+
userData: {
|
|
95
|
+
email: (userData === null || userData === void 0 ? void 0 : userData.email) || ""
|
|
96
|
+
},
|
|
97
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
98
|
+
showCardBorder: _showCardBorder
|
|
99
|
+
}), [productType, query, tags, searchAPIToken, _showProductTypeLabel, _showCardBorder, userData === null || userData === void 0 ? void 0 : userData.email]);
|
|
82
100
|
const [context, setContext] = useState(null);
|
|
83
|
-
const [
|
|
101
|
+
const [isFetchingData, setIsFetchingData] = useState(true);
|
|
102
|
+
const [isFetchingConfig, setIsFetchingConfig] = useState(true);
|
|
84
103
|
const [error, setError] = useState(null);
|
|
85
104
|
const [pageData, setPageData] = useState(null);
|
|
105
|
+
const isLoading = isFetchingData || isFetchingConfig;
|
|
86
106
|
useEffect(() => {
|
|
87
107
|
const fetchConfiguration = async () => {
|
|
88
108
|
try {
|
|
89
|
-
|
|
109
|
+
setIsFetchingConfig(true);
|
|
90
110
|
const data = await getConfiguration({
|
|
91
111
|
channel,
|
|
92
112
|
zone,
|
|
@@ -107,28 +127,36 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
107
127
|
});
|
|
108
128
|
}
|
|
109
129
|
} finally {
|
|
110
|
-
|
|
130
|
+
setIsFetchingConfig(false);
|
|
111
131
|
}
|
|
112
132
|
};
|
|
113
133
|
fetchConfiguration();
|
|
114
|
-
|
|
134
|
+
// Ignoring callback functions in the dependency array
|
|
135
|
+
// to avoid unnecessary re-fetching of page data
|
|
136
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
137
|
+
}, [channel, zone, subAccountToken, isDev]);
|
|
115
138
|
useEffect(() => {
|
|
116
|
-
if (
|
|
139
|
+
if (isFetchingConfig) {
|
|
117
140
|
onInitialize === null || onInitialize === void 0 || onInitialize({
|
|
118
141
|
timestamp: new Date().toISOString()
|
|
119
142
|
});
|
|
120
143
|
}
|
|
121
|
-
|
|
144
|
+
// Ignoring callback functions in the dependency array
|
|
145
|
+
// to avoid unnecessary re-fetching of page data
|
|
146
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
|
+
}, [isFetchingConfig]);
|
|
122
148
|
useEffect(() => {
|
|
123
149
|
const fetchPageData = async () => {
|
|
124
|
-
if
|
|
150
|
+
// Should only fetch data if context is done fetching
|
|
151
|
+
if (context && !isFetchingConfig) {
|
|
125
152
|
try {
|
|
153
|
+
setIsFetchingData(true);
|
|
126
154
|
const data = await getPageData({
|
|
127
155
|
context: {
|
|
128
156
|
...context,
|
|
129
157
|
isDev
|
|
130
158
|
},
|
|
131
|
-
params:
|
|
159
|
+
params: getPageDataParams,
|
|
132
160
|
onRateTableSubmit
|
|
133
161
|
});
|
|
134
162
|
|
|
@@ -155,11 +183,16 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
155
183
|
message: errorObj.message,
|
|
156
184
|
timestamp: new Date().toISOString()
|
|
157
185
|
});
|
|
186
|
+
} finally {
|
|
187
|
+
setIsFetchingData(false);
|
|
158
188
|
}
|
|
159
189
|
}
|
|
160
190
|
};
|
|
161
191
|
fetchPageData();
|
|
162
|
-
|
|
192
|
+
// Ignoring callback functions in the dependency array
|
|
193
|
+
// to avoid unnecessary re-fetching of page data
|
|
194
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
195
|
+
}, [context, isDev, getPageDataParams, isFetchingConfig]);
|
|
163
196
|
const themeColors = useMemo(() => context ? getThemeColors(context.brand.reshapedThemeColors || {}, isDarkTheme) : getThemeColors({}, isDarkTheme), [context, isDarkTheme]);
|
|
164
197
|
if (isLoading) {
|
|
165
198
|
return /*#__PURE__*/React.createElement(DynamicOfferSkeleton, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getThemeColors","ErrorBoundary","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","headers","Authorization","response","fetch","ok","errorCode","status","code","message","timestamp","Date","toISOString","Error","data","json","error","console","includes","InternalMoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","title","subtitle","isDarkTheme","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","context","setContext","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getThemeColors","ErrorBoundary","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","headers","Authorization","response","fetch","ok","errorCode","status","code","message","timestamp","Date","toISOString","Error","data","json","error","console","includes","InternalMoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","title","subtitle","isDarkTheme","productType","query","tags","searchAPIToken","showProductTypeLabel","_showProductTypeLabel","showCardBorder","_showCardBorder","userData","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","getPageDataParams","email","context","setContext","isFetchingData","setIsFetchingData","isFetchingConfig","setIsFetchingConfig","setError","pageData","setPageData","isLoading","fetchConfiguration","serializableContext","err","errorObj","fetchPageData","params","isError","Boolean","offers","rateTableUuid","leadUuid","length","themeColors","brand","reshapedThemeColors","createElement","shouldHideFooter","config","MoneyLionOfferCarousel","fallbackUI","handleError"],"sourceRoot":"../../../src","sources":["components/MoneyLionOfferCarousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getIsDevEnvironment","getDynamicOffers","getDefaultProductType","getProductTypesDefinition","resolveProductTypes","getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","searchAPIToken","showProductTypeLabel","showCardBorder","userData","resolvedTags","trim","isCachedOffersRequest","defaultProductType","isDev","productTypesDefinition","partnersOverrideDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","productTypes","resultType","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid","errorCode"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["getIsDevEnvironment","getDynamicOffers","getDefaultProductType","getProductTypesDefinition","resolveProductTypes","getEnableUseCachedOffers","getPageData","context","params","onRateTableSubmit","productType","query","tags","searchAPIToken","showProductTypeLabel","showCardBorder","userData","resolvedTags","trim","isCachedOffersRequest","defaultProductType","isDev","productTypesDefinition","partnersOverrideDefinition","currentCountry","signals","deviceSignals","country","safeTags","encodeURI","productTypes","resultType","timestamp","Date","toISOString","offers","isError","leadUuid","rateTableUuid","errorCode"],"sourceRoot":"../../src","sources":["pageData.ts"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,oDAAoD;AAGxF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D;AACA,SACCC,qBAAqB,EACrBC,yBAAyB,EACzBC,mBAAmB,QACb,SAAS;AAChB,SAASC,wBAAwB,QAAQ,kCAAkC;AAkB3E,OAAO,eAAeC,WAAWA,CAAC;EACjCC,OAAO;EACPC,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAM;IACLC,WAAW;IACXC,KAAK;IACLC,IAAI;IACJC,cAAc;IACdC,oBAAoB;IACpBC,cAAc;IACdC;EACD,CAAC,GAAGR,MAAM;;EAEV;EACA,MAAMS,YAAY,GAAG,GAAGL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,IAAI,CAAC,CAAC,EAAE;EAEtC,MAAMC,qBAAqB,GAAGd,wBAAwB,CAACE,OAAO,CAAC;EAE/D,MAAMa,kBAAkB,GAAGlB,qBAAqB,CAACK,OAAO,CAAC;;EAEzD;EACA;;EAEA,MAAMc,KAAK,GAAGrB,mBAAmB,CAACO,OAAO,CAAC;EAE1C,MAAM;IAAEe,sBAAsB;IAAEC;EAA2B,CAAC,GAC3DpB,yBAAyB,CAACI,OAAO,CAAC;EAEnC,MAAMiB,cAAc,GAAGjB,OAAO,CAACkB,OAAO,CAACC,aAAa,CAACC,OAAO;EAE5D,MAAMC,QAAQ,GAAGC,SAAS,CAACZ,YAAY,CAAC;;EAExC;EACA,MAAM;IAAEa,YAAY;IAAEC;EAAW,CAAC,GAAG,MAAM3B,mBAAmB,CAAC;IAC9DgB,kBAAkB;IAClBV,WAAW;IACXC,KAAK;IACLE,cAAc;IACdQ;EACD,CAAC,CAAC;EAEFZ,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG;IACnBuB,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACnCJ,YAAY;IACZC,UAAU;IACVX;EACD,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEe,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAU,CAAC,GAC5D,MAAMtC,gBAAgB,CAAC;IACtBW,IAAI,EAAEgB,QAAQ;IACdE,YAAY;IACZC,UAAU;IACVZ,qBAAqB;IACrBG,sBAAsB,EAAE,CAAC,GAAGA,sBAAsB,CAAC;IACnDC,0BAA0B,EAAE,CAAC,GAAGA,0BAA0B,CAAC;IAC3DhB,OAAO;IACPa,kBAAkB;IAClBJ;EACD,CAAC,CAAC;EAEH,OAAO;IACNoB,OAAO;IACPG,SAAS;IACTF,QAAQ;IACRC,aAAa;IACb;IACAH,MAAM;IACNX,cAAc;IACd;IACAT,cAAc;IACd;IACAD;EACD,CAAC;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","fallbackResult","sortedOffers"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QACb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AA2BxD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAMnB,uBAAuB,CAAC;IAC7BU,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC;
|
|
1
|
+
{"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","enablePolling","fallbackResult","sortedOffers"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QACb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AA2BxD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAMnB,uBAAuB,CAAC;IAC7BU,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC,QAAQ;IACRM,aAAa,EAAE;EAChB,CAAC,CAAC;;EAEH;EACA,IAAItB,OAAO,CAACiB,MAAM,CAAC,EAAE;IACpB,MAAMM,cAAc,GAAG,MAAMrB,uBAAuB,CAAC;MACpDU,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGM,cAAc,CAACN,MAAM;IAC9BC,aAAa,GAAGK,cAAc,CAACL,aAAa;IAC5CC,OAAO,GAAGI,cAAc,CAACJ,OAAO;IAChCC,QAAQ,GAAGG,cAAc,CAACH,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGE,cAAc,CAACF,SAAS;EACrC;EAEA,MAAMG,YAAY,GACjBb,UAAU,KAAK,OAAO,GACnBR,mBAAmB,CAACc,MAAM,EAAEP,YAAY,CAAC,GACzCN,+BAA+B,CAACa,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAEZ,IAAI,CACXmB,YAAY,EACZlB,cAAc,CAACO,sBAAsB,EAAEC,0BAA0B,CAAC,EAClEb,yBAAyB,CAACW,qBAAqB,EAAEJ,IAAI,CAAC,EACtDJ,+BACD,CAAC;IACDe,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -16,7 +16,8 @@ export const getOffersByProductTypes = async ({
|
|
|
16
16
|
productTypes,
|
|
17
17
|
tags,
|
|
18
18
|
context,
|
|
19
|
-
userData
|
|
19
|
+
userData,
|
|
20
|
+
enablePolling = false
|
|
20
21
|
}) => {
|
|
21
22
|
if (isCachedOffersRequest) {
|
|
22
23
|
const {
|
|
@@ -40,7 +41,7 @@ export const getOffersByProductTypes = async ({
|
|
|
40
41
|
isError,
|
|
41
42
|
leadUuid,
|
|
42
43
|
errorCode
|
|
43
|
-
} = await getOffersForProductTypes(context)(productTypes, parseClientTags(tags), userData);
|
|
44
|
+
} = await getOffersForProductTypes(context)(productTypes, parseClientTags(tags), userData, enablePolling);
|
|
44
45
|
return {
|
|
45
46
|
offers,
|
|
46
47
|
rateTableUuid: uuid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","offers","uuid","isError","leadUuid","errorCode","rateTableUuid"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AAEA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC;
|
|
1
|
+
{"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","enablePolling","offers","uuid","isError","leadUuid","errorCode","rateTableUuid"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AAEA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC,aAAa,GAAG;AAQjB,CAAC,KAAK;EACL,IAAIL,qBAAqB,EAAE;IAC1B,MAAM;MAAEM,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAMd,6BAA6B,CAACO,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEK,MAAM;MAAEK,aAAa,EAAEJ,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAMb,wBAAwB,CAACM,OAAO,CAAC,CACtCF,YAAY,EACZH,eAAe,CAACI,IAAI,CAAC,EACrBE,QAAQ,EACRC,aACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEK,aAAa,EAAEJ,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC","ignoreList":[]}
|
|
@@ -15,5 +15,5 @@ export declare const getCachedOffersByProductTypes: (context: CnfContext) => (pr
|
|
|
15
15
|
offers: never[];
|
|
16
16
|
uuid: string;
|
|
17
17
|
}>;
|
|
18
|
-
export declare const getOffersForProductTypes: (context: CnfContext) => (productTypes: string[], customClientTags?: Record<string, string[]>, userData?: UserData) => Promise<OffersData>;
|
|
18
|
+
export declare const getOffersForProductTypes: (context: CnfContext) => (productTypes: string[], customClientTags?: Record<string, string[]>, userData?: UserData, enablePolling?: boolean) => Promise<OffersData>;
|
|
19
19
|
//# sourceMappingURL=offerCatalogApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAMjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE;;;;;;;;;;;;;EAsErD,CAAC;
|
|
1
|
+
{"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAMjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE;;;;;;;;;;;;;EAsErD,CAAC;AA8BH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,aAChC,QAAQ,kBACJ,OAAO,KACpB,QAAQ,UAAU,CA2HpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoneyLionOfferCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/MoneyLionOfferCarousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAIjF,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"MoneyLionOfferCarousel.d.ts","sourceRoot":"","sources":["../../../../src/components/MoneyLionOfferCarousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAIjF,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAoSF,eAAO,MAAM,sBAAsB,UAC3B,2BAA2B,GACjC,KAAK,uBAAuB,EAAE,eAAe,GAAG,UAAU,CAAC,sBAa5D,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ResultType } from "../services/getProductTypes";
|
|
3
3
|
import type { BaseOffer } from "../capabilities/offer-catalog/src";
|
|
4
|
-
interface onInitializeProps {
|
|
4
|
+
export interface onInitializeProps {
|
|
5
5
|
timestamp: string;
|
|
6
6
|
}
|
|
7
7
|
export interface onRateTableSubmitProps {
|
|
@@ -10,14 +10,14 @@ export interface onRateTableSubmitProps {
|
|
|
10
10
|
resultType: ResultType;
|
|
11
11
|
defaultProductType: string;
|
|
12
12
|
}
|
|
13
|
-
interface onRateTableResponseProps {
|
|
13
|
+
export interface onRateTableResponseProps {
|
|
14
14
|
timestamp: string;
|
|
15
15
|
isError: boolean;
|
|
16
16
|
offers: BaseOffer[];
|
|
17
17
|
rateTableUuid: string;
|
|
18
18
|
leadUuid: string;
|
|
19
19
|
}
|
|
20
|
-
interface onOfferDisplayInViewportProps {
|
|
20
|
+
export interface onOfferDisplayInViewportProps {
|
|
21
21
|
timestamp: string;
|
|
22
22
|
offerUuid: string;
|
|
23
23
|
rateTableUuid: string;
|
|
@@ -35,7 +35,7 @@ export interface onOfferClickProps {
|
|
|
35
35
|
offerIndex: number;
|
|
36
36
|
context: "horizontal_scroll" | "vertical_scroll" | "offer_details";
|
|
37
37
|
}
|
|
38
|
-
interface onOfferDetailsPageOpenProps {
|
|
38
|
+
export interface onOfferDetailsPageOpenProps {
|
|
39
39
|
timestamp: string;
|
|
40
40
|
offerUuid: string;
|
|
41
41
|
rateTableUuid: string;
|
|
@@ -44,7 +44,7 @@ interface onOfferDetailsPageOpenProps {
|
|
|
44
44
|
offerIndex: number;
|
|
45
45
|
context: "horizontal_scroll" | "vertical_scroll";
|
|
46
46
|
}
|
|
47
|
-
interface onOfferDetailsPageCloseProps {
|
|
47
|
+
export interface onOfferDetailsPageCloseProps {
|
|
48
48
|
timestamp: string;
|
|
49
49
|
offerUuid: string;
|
|
50
50
|
rateTableUuid: string;
|
|
@@ -69,5 +69,4 @@ export declare const EventHandlerProvider: React.FC<{
|
|
|
69
69
|
eventHandlers: EventHandlerContextType;
|
|
70
70
|
}>;
|
|
71
71
|
export declare const useEventHandler: () => EventHandlerContextType;
|
|
72
|
-
export {};
|
|
73
72
|
//# sourceMappingURL=EventHandlerProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventHandlerProvider.d.ts","sourceRoot":"","sources":["../../../../src/context/EventHandlerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAEnE,
|
|
1
|
+
{"version":3,"file":"EventHandlerProvider.d.ts","sourceRoot":"","sources":["../../../../src/context/EventHandlerProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from "./components/MoneyLionOfferCarousel";
|
|
2
2
|
export type { UserData } from "./capabilities/configuration/src/userData/types";
|
|
3
|
+
export type { onInitializeProps, onRateTableSubmitProps, onRateTableResponseProps, onOfferDisplayInViewportProps, onOfferClickProps, onOfferDetailsPageOpenProps, onOfferDetailsPageCloseProps, } from "./context/EventHandlerProvider";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AAEpD,YAAY,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AAEpD,YAAY,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAChF,YAAY,EACX,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,iBAAiB,EACjB,2BAA2B,EAC3B,4BAA4B,GAC5B,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import type { UserData } from "./capabilities/configuration/src/userData/types";
|
|
1
2
|
import type { CnfContext } from "./capabilities/core/src/system/cnfContext/CnfContext";
|
|
2
|
-
import type { MoneyLionOfferCarouselProps } from "./components/MoneyLionOfferCarousel";
|
|
3
3
|
import type { onRateTableSubmitProps } from "./context/EventHandlerProvider";
|
|
4
|
+
export type GetPageDataParams = {
|
|
5
|
+
productType?: string;
|
|
6
|
+
query?: string;
|
|
7
|
+
tags?: string;
|
|
8
|
+
searchAPIToken: string;
|
|
9
|
+
showProductTypeLabel?: boolean;
|
|
10
|
+
showCardBorder?: boolean;
|
|
11
|
+
userData?: UserData;
|
|
12
|
+
};
|
|
4
13
|
type GetPageDataProps = {
|
|
5
14
|
context: CnfContext;
|
|
6
|
-
params:
|
|
15
|
+
params: GetPageDataParams;
|
|
7
16
|
onRateTableSubmit?: (props: onRateTableSubmitProps) => void;
|
|
8
17
|
};
|
|
9
18
|
export declare function getPageData({ context, params, onRateTableSubmit, }: GetPageDataProps): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageData.d.ts","sourceRoot":"","sources":["../../../src/pageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pageData.d.ts","sourceRoot":"","sources":["../../../src/pageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAU7E,MAAM,MAAM,iBAAiB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,wBAAsB,WAAW,CAAC,EACjC,OAAO,EACP,MAAM,EACN,iBAAiB,GACjB,EAAE,gBAAgB;;;;;;;;;GAyElB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,0JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,0JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;;EAgDtC,CAAC"}
|
|
@@ -10,12 +10,13 @@ import type { CnfContext } from "../capabilities/core/src/system/cnfContext/CnfC
|
|
|
10
10
|
* @param {UserData} params.userData - Optional user data.
|
|
11
11
|
* @returns {Promise<OffersData>} A promise that resolves to an array of offers or undefined if no offers are found.
|
|
12
12
|
*/
|
|
13
|
-
export declare const getOffersByProductTypes: ({ isCachedOffersRequest, productTypes, tags, context, userData, }: {
|
|
13
|
+
export declare const getOffersByProductTypes: ({ isCachedOffersRequest, productTypes, tags, context, userData, enablePolling, }: {
|
|
14
14
|
isCachedOffersRequest: boolean;
|
|
15
15
|
productTypes: string[];
|
|
16
16
|
tags: string;
|
|
17
17
|
context: CnfContext;
|
|
18
18
|
userData?: UserData | undefined;
|
|
19
|
+
enablePolling?: boolean | undefined;
|
|
19
20
|
}) => Promise<{
|
|
20
21
|
offers: never[] | import("../capabilities/offer-catalog/src").BaseOffer[];
|
|
21
22
|
rateTableUuid: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;
|
|
1
|
+
{"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;2BAQZ,OAAO;kBAChB,MAAM,EAAE;UAChB,MAAM;aACH,UAAU;;;;;;;;;EAoBnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -91,12 +91,41 @@ export const getCachedOffersByProductTypes =
|
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
+
const getOfferCatalogApi = async ({
|
|
95
|
+
isDev,
|
|
96
|
+
leadUuid,
|
|
97
|
+
token,
|
|
98
|
+
payload,
|
|
99
|
+
}: {
|
|
100
|
+
isDev: boolean;
|
|
101
|
+
leadUuid: string;
|
|
102
|
+
token: string;
|
|
103
|
+
payload: Object;
|
|
104
|
+
}) => {
|
|
105
|
+
const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
|
|
106
|
+
|
|
107
|
+
const response = await fetch(url, {
|
|
108
|
+
method: "POST",
|
|
109
|
+
headers: {
|
|
110
|
+
"Content-Type": "application/json",
|
|
111
|
+
"Authorization": `Bearer ${token}`,
|
|
112
|
+
},
|
|
113
|
+
body: JSON.stringify(payload),
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
return response;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
const MAX_POLLING_ATTEMPTS = 5;
|
|
120
|
+
const POLLING_INTERVAL_MS = 3000; // 3 seconds
|
|
121
|
+
|
|
94
122
|
export const getOffersForProductTypes =
|
|
95
123
|
(context: CnfContext) =>
|
|
96
124
|
async (
|
|
97
125
|
productTypes: string[],
|
|
98
126
|
customClientTags?: Record<string, string[]>,
|
|
99
|
-
userData?: UserData
|
|
127
|
+
userData?: UserData,
|
|
128
|
+
enablePolling: boolean = false
|
|
100
129
|
): Promise<OffersData> => {
|
|
101
130
|
// const offersFromProductTypesLogger = pinoRootLogger.child({
|
|
102
131
|
// name: "offersFromProductTypesLogger",
|
|
@@ -140,18 +169,38 @@ export const getOffersForProductTypes =
|
|
|
140
169
|
);
|
|
141
170
|
}
|
|
142
171
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
"Authorization": `Bearer ${token}`,
|
|
150
|
-
},
|
|
151
|
-
body: JSON.stringify(fields),
|
|
172
|
+
// Initial request
|
|
173
|
+
let response = await getOfferCatalogApi({
|
|
174
|
+
isDev,
|
|
175
|
+
leadUuid,
|
|
176
|
+
token,
|
|
177
|
+
payload: fields,
|
|
152
178
|
});
|
|
153
|
-
|
|
154
|
-
|
|
179
|
+
let body = await response.json();
|
|
180
|
+
|
|
181
|
+
// Start polling
|
|
182
|
+
// Poll as long as pendingResponses is not empty
|
|
183
|
+
// with 3 second interval and maximum of 5 attempts
|
|
184
|
+
let pollingAttempt = 1;
|
|
185
|
+
while (
|
|
186
|
+
enablePolling &&
|
|
187
|
+
body.pendingResponses &&
|
|
188
|
+
Array.isArray(body.pendingResponses) &&
|
|
189
|
+
body.pendingResponses.length > 0 &&
|
|
190
|
+
pollingAttempt <= MAX_POLLING_ATTEMPTS
|
|
191
|
+
) {
|
|
192
|
+
await new Promise((resolve) =>
|
|
193
|
+
setTimeout(resolve, POLLING_INTERVAL_MS)
|
|
194
|
+
); // Poll in intervals
|
|
195
|
+
response = await getOfferCatalogApi({
|
|
196
|
+
isDev,
|
|
197
|
+
leadUuid,
|
|
198
|
+
token,
|
|
199
|
+
payload: fields,
|
|
200
|
+
});
|
|
201
|
+
body = await response.json();
|
|
202
|
+
pollingAttempt++;
|
|
203
|
+
}
|
|
155
204
|
|
|
156
205
|
const logFormat = {
|
|
157
206
|
status: response.status,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useMemo, useState } from "react";
|
|
2
2
|
import { localCnfContext } from "../config/mocks/cnfContext";
|
|
3
3
|
import { Text } from "react-native";
|
|
4
|
-
import { getPageData } from "../pageData";
|
|
4
|
+
import { getPageData, type GetPageDataParams } from "../pageData";
|
|
5
5
|
import {
|
|
6
6
|
DynamicOffersContainer,
|
|
7
7
|
DynamicOfferSkeleton,
|
|
@@ -114,6 +114,13 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
114
114
|
title,
|
|
115
115
|
subtitle,
|
|
116
116
|
isDarkTheme = false,
|
|
117
|
+
productType,
|
|
118
|
+
query,
|
|
119
|
+
tags,
|
|
120
|
+
searchAPIToken,
|
|
121
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
122
|
+
showCardBorder: _showCardBorder,
|
|
123
|
+
userData,
|
|
117
124
|
} = props;
|
|
118
125
|
|
|
119
126
|
const {
|
|
@@ -136,15 +143,41 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
136
143
|
onOfferDetailsPageClose,
|
|
137
144
|
};
|
|
138
145
|
|
|
146
|
+
const getPageDataParams: GetPageDataParams = useMemo(
|
|
147
|
+
() => ({
|
|
148
|
+
productType,
|
|
149
|
+
query,
|
|
150
|
+
tags,
|
|
151
|
+
searchAPIToken,
|
|
152
|
+
userData: {
|
|
153
|
+
email: userData?.email || "",
|
|
154
|
+
},
|
|
155
|
+
showProductTypeLabel: _showProductTypeLabel,
|
|
156
|
+
showCardBorder: _showCardBorder,
|
|
157
|
+
}),
|
|
158
|
+
[
|
|
159
|
+
productType,
|
|
160
|
+
query,
|
|
161
|
+
tags,
|
|
162
|
+
searchAPIToken,
|
|
163
|
+
_showProductTypeLabel,
|
|
164
|
+
_showCardBorder,
|
|
165
|
+
userData?.email,
|
|
166
|
+
]
|
|
167
|
+
);
|
|
168
|
+
|
|
139
169
|
const [context, setContext] = useState<CnfContext | null>(null);
|
|
140
|
-
const [
|
|
170
|
+
const [isFetchingData, setIsFetchingData] = useState(true);
|
|
171
|
+
const [isFetchingConfig, setIsFetchingConfig] = useState(true);
|
|
141
172
|
const [error, setError] = useState<Error | null>(null);
|
|
142
173
|
const [pageData, setPageData] = useState<any>(null);
|
|
143
174
|
|
|
175
|
+
const isLoading = isFetchingData || isFetchingConfig;
|
|
176
|
+
|
|
144
177
|
useEffect(() => {
|
|
145
178
|
const fetchConfiguration = async () => {
|
|
146
179
|
try {
|
|
147
|
-
|
|
180
|
+
setIsFetchingConfig(true);
|
|
148
181
|
const data = await getConfiguration({
|
|
149
182
|
channel,
|
|
150
183
|
zone,
|
|
@@ -169,26 +202,34 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
169
202
|
});
|
|
170
203
|
}
|
|
171
204
|
} finally {
|
|
172
|
-
|
|
205
|
+
setIsFetchingConfig(false);
|
|
173
206
|
}
|
|
174
207
|
};
|
|
175
208
|
|
|
176
209
|
fetchConfiguration();
|
|
177
|
-
|
|
210
|
+
// Ignoring callback functions in the dependency array
|
|
211
|
+
// to avoid unnecessary re-fetching of page data
|
|
212
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
213
|
+
}, [channel, zone, subAccountToken, isDev]);
|
|
178
214
|
|
|
179
215
|
useEffect(() => {
|
|
180
|
-
if (
|
|
216
|
+
if (isFetchingConfig) {
|
|
181
217
|
onInitialize?.({ timestamp: new Date().toISOString() });
|
|
182
218
|
}
|
|
183
|
-
|
|
219
|
+
// Ignoring callback functions in the dependency array
|
|
220
|
+
// to avoid unnecessary re-fetching of page data
|
|
221
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
222
|
+
}, [isFetchingConfig]);
|
|
184
223
|
|
|
185
224
|
useEffect(() => {
|
|
186
225
|
const fetchPageData = async () => {
|
|
187
|
-
if
|
|
226
|
+
// Should only fetch data if context is done fetching
|
|
227
|
+
if (context && !isFetchingConfig) {
|
|
188
228
|
try {
|
|
229
|
+
setIsFetchingData(true);
|
|
189
230
|
const data = await getPageData({
|
|
190
231
|
context: { ...context, isDev },
|
|
191
|
-
params:
|
|
232
|
+
params: getPageDataParams,
|
|
192
233
|
onRateTableSubmit,
|
|
193
234
|
});
|
|
194
235
|
|
|
@@ -219,21 +260,17 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
219
260
|
message: errorObj.message,
|
|
220
261
|
timestamp: new Date().toISOString(),
|
|
221
262
|
});
|
|
263
|
+
} finally {
|
|
264
|
+
setIsFetchingData(false);
|
|
222
265
|
}
|
|
223
266
|
}
|
|
224
267
|
};
|
|
225
268
|
|
|
226
269
|
fetchPageData();
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
onRateTableSubmit,
|
|
232
|
-
props,
|
|
233
|
-
isLoading,
|
|
234
|
-
onError,
|
|
235
|
-
onLoad,
|
|
236
|
-
]);
|
|
270
|
+
// Ignoring callback functions in the dependency array
|
|
271
|
+
// to avoid unnecessary re-fetching of page data
|
|
272
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
273
|
+
}, [context, isDev, getPageDataParams, isFetchingConfig]);
|
|
237
274
|
|
|
238
275
|
const themeColors = useMemo(
|
|
239
276
|
() =>
|
|
@@ -2,7 +2,7 @@ import React, { createContext, useContext } from "react";
|
|
|
2
2
|
import type { ResultType } from "../services/getProductTypes";
|
|
3
3
|
import type { BaseOffer } from "../capabilities/offer-catalog/src";
|
|
4
4
|
|
|
5
|
-
interface onInitializeProps {
|
|
5
|
+
export interface onInitializeProps {
|
|
6
6
|
timestamp: string;
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ export interface onRateTableSubmitProps {
|
|
|
13
13
|
defaultProductType: string;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
interface onRateTableResponseProps {
|
|
16
|
+
export interface onRateTableResponseProps {
|
|
17
17
|
timestamp: string;
|
|
18
18
|
isError: boolean;
|
|
19
19
|
offers: BaseOffer[];
|
|
@@ -21,7 +21,7 @@ interface onRateTableResponseProps {
|
|
|
21
21
|
leadUuid: string;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
interface onOfferDisplayInViewportProps {
|
|
24
|
+
export interface onOfferDisplayInViewportProps {
|
|
25
25
|
timestamp: string;
|
|
26
26
|
offerUuid: string;
|
|
27
27
|
rateTableUuid: string;
|
|
@@ -41,7 +41,7 @@ export interface onOfferClickProps {
|
|
|
41
41
|
context: "horizontal_scroll" | "vertical_scroll" | "offer_details";
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
interface onOfferDetailsPageOpenProps {
|
|
44
|
+
export interface onOfferDetailsPageOpenProps {
|
|
45
45
|
timestamp: string;
|
|
46
46
|
offerUuid: string;
|
|
47
47
|
rateTableUuid: string;
|
|
@@ -51,7 +51,7 @@ interface onOfferDetailsPageOpenProps {
|
|
|
51
51
|
context: "horizontal_scroll" | "vertical_scroll";
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
interface onOfferDetailsPageCloseProps {
|
|
54
|
+
export interface onOfferDetailsPageCloseProps {
|
|
55
55
|
timestamp: string;
|
|
56
56
|
offerUuid: string;
|
|
57
57
|
rateTableUuid: string;
|
package/src/index.tsx
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
export * from "./components/MoneyLionOfferCarousel";
|
|
2
2
|
|
|
3
3
|
export type { UserData } from "./capabilities/configuration/src/userData/types";
|
|
4
|
+
export type {
|
|
5
|
+
onInitializeProps,
|
|
6
|
+
onRateTableSubmitProps,
|
|
7
|
+
onRateTableResponseProps,
|
|
8
|
+
onOfferDisplayInViewportProps,
|
|
9
|
+
onOfferClickProps,
|
|
10
|
+
onOfferDetailsPageOpenProps,
|
|
11
|
+
onOfferDetailsPageCloseProps,
|
|
12
|
+
} from "./context/EventHandlerProvider";
|
package/src/pageData.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { UserData } from "./capabilities/configuration/src/userData/types";
|
|
1
2
|
import type { CnfContext } from "./capabilities/core/src/system/cnfContext/CnfContext";
|
|
2
3
|
import { getIsDevEnvironment } from "./capabilities/offer-catalog/src/utils/contextUtil";
|
|
3
4
|
|
|
4
|
-
import type { MoneyLionOfferCarouselProps } from "./components/MoneyLionOfferCarousel";
|
|
5
5
|
import type { onRateTableSubmitProps } from "./context/EventHandlerProvider";
|
|
6
6
|
import { getDynamicOffers } from "./services/getDynamicOffers";
|
|
7
7
|
// import { getDynamicOffers } from "./services/getDynamicOffers";
|
|
@@ -12,9 +12,19 @@ import {
|
|
|
12
12
|
} from "./utils";
|
|
13
13
|
import { getEnableUseCachedOffers } from "./utils/getEnableUseCachedOffers";
|
|
14
14
|
|
|
15
|
+
export type GetPageDataParams = {
|
|
16
|
+
productType?: string;
|
|
17
|
+
query?: string;
|
|
18
|
+
tags?: string;
|
|
19
|
+
searchAPIToken: string;
|
|
20
|
+
showProductTypeLabel?: boolean;
|
|
21
|
+
showCardBorder?: boolean;
|
|
22
|
+
userData?: UserData;
|
|
23
|
+
};
|
|
24
|
+
|
|
15
25
|
type GetPageDataProps = {
|
|
16
26
|
context: CnfContext;
|
|
17
|
-
params:
|
|
27
|
+
params: GetPageDataParams;
|
|
18
28
|
onRateTableSubmit?: (props: onRateTableSubmitProps) => void;
|
|
19
29
|
};
|
|
20
30
|
|
|
@@ -22,12 +22,14 @@ export const getOffersByProductTypes = async ({
|
|
|
22
22
|
tags,
|
|
23
23
|
context,
|
|
24
24
|
userData,
|
|
25
|
+
enablePolling = false,
|
|
25
26
|
}: {
|
|
26
27
|
isCachedOffersRequest: boolean;
|
|
27
28
|
productTypes: string[];
|
|
28
29
|
tags: string;
|
|
29
30
|
context: CnfContext;
|
|
30
31
|
userData?: UserData;
|
|
32
|
+
enablePolling?: boolean;
|
|
31
33
|
}) => {
|
|
32
34
|
if (isCachedOffersRequest) {
|
|
33
35
|
const { offers, uuid, isError, leadUuid, errorCode } =
|
|
@@ -40,7 +42,8 @@ export const getOffersByProductTypes = async ({
|
|
|
40
42
|
await getOffersForProductTypes(context)(
|
|
41
43
|
productTypes,
|
|
42
44
|
parseClientTags(tags),
|
|
43
|
-
userData
|
|
45
|
+
userData,
|
|
46
|
+
enablePolling
|
|
44
47
|
);
|
|
45
48
|
|
|
46
49
|
return { offers, rateTableUuid: uuid, isError, leadUuid, errorCode };
|