@wlloyalty/wll-react-sdk 1.0.111 → 1.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/native.js +103 -88
- package/dist/native.js.map +1 -1
- package/dist/types/hooks/useGroupRefresh.d.ts +8 -0
- package/dist/types/hooks/useInitialGroupFetch.d.ts +10 -0
- package/dist/web.js +122 -99
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
package/dist/native.js
CHANGED
|
@@ -3700,6 +3700,101 @@ var ContentTile = Object.assign(ContentTileRoot, {
|
|
|
3700
3700
|
});
|
|
3701
3701
|
var ContentTile$1 = withTileFetching(ContentTile);
|
|
3702
3702
|
|
|
3703
|
+
var useGroupRefresh = function (_a) {
|
|
3704
|
+
var id = _a.id, _b = _a.enabled, enabled = _b === void 0 ? false : _b, setGroupData = _a.setGroupData;
|
|
3705
|
+
var sdk = useWllSdk();
|
|
3706
|
+
React.useEffect(function () {
|
|
3707
|
+
if (!enabled || !(sdk === null || sdk === void 0 ? void 0 : sdk.subscribeToDataChange)) {
|
|
3708
|
+
return;
|
|
3709
|
+
}
|
|
3710
|
+
var unsubscribe = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3711
|
+
var res, err_1;
|
|
3712
|
+
return __generator(this, function (_a) {
|
|
3713
|
+
switch (_a.label) {
|
|
3714
|
+
case 0:
|
|
3715
|
+
if (!id || !sdk || !sdk.refreshGroup) {
|
|
3716
|
+
return [2 /*return*/];
|
|
3717
|
+
}
|
|
3718
|
+
_a.label = 1;
|
|
3719
|
+
case 1:
|
|
3720
|
+
_a.trys.push([1, 3, , 4]);
|
|
3721
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
3722
|
+
case 2:
|
|
3723
|
+
res = _a.sent();
|
|
3724
|
+
if ((res === null || res === void 0 ? void 0 : res.status) === 'success' && res.data) {
|
|
3725
|
+
setGroupData(res.data);
|
|
3726
|
+
}
|
|
3727
|
+
return [3 /*break*/, 4];
|
|
3728
|
+
case 3:
|
|
3729
|
+
err_1 = _a.sent();
|
|
3730
|
+
console.error('Error during silent refresh:', err_1);
|
|
3731
|
+
return [3 /*break*/, 4];
|
|
3732
|
+
case 4: return [2 /*return*/];
|
|
3733
|
+
}
|
|
3734
|
+
});
|
|
3735
|
+
}); });
|
|
3736
|
+
return function () {
|
|
3737
|
+
unsubscribe();
|
|
3738
|
+
};
|
|
3739
|
+
}, [id, sdk, enabled, setGroupData]);
|
|
3740
|
+
};
|
|
3741
|
+
|
|
3742
|
+
var useInitialGroupFetch = function (_a) {
|
|
3743
|
+
var id = _a.id, setGroupData = _a.setGroupData;
|
|
3744
|
+
var sdk = useWllSdk();
|
|
3745
|
+
var _b = React.useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
3746
|
+
var _c = React.useState(null), error = _c[0], setError = _c[1];
|
|
3747
|
+
React.useEffect(function () {
|
|
3748
|
+
var cancelled = false;
|
|
3749
|
+
var fetchGroup = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
3750
|
+
var response;
|
|
3751
|
+
var _b;
|
|
3752
|
+
return __generator(this, function (_c) {
|
|
3753
|
+
switch (_c.label) {
|
|
3754
|
+
case 0:
|
|
3755
|
+
if (!id || !(sdk === null || sdk === void 0 ? void 0 : sdk.refreshGroup)) {
|
|
3756
|
+
setError('Unable to fetch group data: invalid configuration');
|
|
3757
|
+
setIsLoading(false);
|
|
3758
|
+
return [2 /*return*/];
|
|
3759
|
+
}
|
|
3760
|
+
setIsLoading(true);
|
|
3761
|
+
setError(null);
|
|
3762
|
+
_c.label = 1;
|
|
3763
|
+
case 1:
|
|
3764
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
3765
|
+
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
3766
|
+
case 2:
|
|
3767
|
+
response = _c.sent();
|
|
3768
|
+
if (cancelled)
|
|
3769
|
+
return [2 /*return*/];
|
|
3770
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === 'success' && response.data) {
|
|
3771
|
+
setGroupData(response.data);
|
|
3772
|
+
}
|
|
3773
|
+
else {
|
|
3774
|
+
setError((_b = response === null || response === void 0 ? void 0 : response.error) !== null && _b !== void 0 ? _b : 'Failed to fetch group data');
|
|
3775
|
+
}
|
|
3776
|
+
return [3 /*break*/, 5];
|
|
3777
|
+
case 3:
|
|
3778
|
+
_c.sent();
|
|
3779
|
+
if (!cancelled)
|
|
3780
|
+
setError('An unexpected error occurred.');
|
|
3781
|
+
return [3 /*break*/, 5];
|
|
3782
|
+
case 4:
|
|
3783
|
+
if (!cancelled)
|
|
3784
|
+
setIsLoading(false);
|
|
3785
|
+
return [7 /*endfinally*/];
|
|
3786
|
+
case 5: return [2 /*return*/];
|
|
3787
|
+
}
|
|
3788
|
+
});
|
|
3789
|
+
}); };
|
|
3790
|
+
fetchGroup();
|
|
3791
|
+
return function () {
|
|
3792
|
+
cancelled = true;
|
|
3793
|
+
};
|
|
3794
|
+
}, [id, sdk, setGroupData]);
|
|
3795
|
+
return { isLoading: isLoading, error: error };
|
|
3796
|
+
};
|
|
3797
|
+
|
|
3703
3798
|
exports.SectionType = void 0;
|
|
3704
3799
|
(function (SectionType) {
|
|
3705
3800
|
SectionType["Grid"] = "GRID";
|
|
@@ -4255,91 +4350,14 @@ var useGroupContext = function () {
|
|
|
4255
4350
|
* @returns {Object} Object containing group data, loading state, and any error
|
|
4256
4351
|
*/
|
|
4257
4352
|
var useGroupData = function (id) {
|
|
4258
|
-
var sdk = useWllSdk();
|
|
4259
4353
|
var _a = React.useState(null), groupData = _a[0], setGroupData = _a[1];
|
|
4260
|
-
var _b =
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
case 0:
|
|
4268
|
-
if (!id || !sdk || !sdk.getGroupByID) {
|
|
4269
|
-
setError('Unable to fetch group data: invalid configuration');
|
|
4270
|
-
setIsLoading(false);
|
|
4271
|
-
setIsInitialFetchDone(true);
|
|
4272
|
-
return [2 /*return*/];
|
|
4273
|
-
}
|
|
4274
|
-
setIsLoading(true);
|
|
4275
|
-
setError(null);
|
|
4276
|
-
_a.label = 1;
|
|
4277
|
-
case 1:
|
|
4278
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
4279
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
4280
|
-
case 2:
|
|
4281
|
-
response = _a.sent();
|
|
4282
|
-
if (response && response.status === 'success' && response.data) {
|
|
4283
|
-
setGroupData(response.data);
|
|
4284
|
-
}
|
|
4285
|
-
else {
|
|
4286
|
-
setError((response && response.error) || 'Failed to fetch group data.');
|
|
4287
|
-
}
|
|
4288
|
-
return [3 /*break*/, 5];
|
|
4289
|
-
case 3:
|
|
4290
|
-
err_1 = _a.sent();
|
|
4291
|
-
setError('Failed to fetch group data. Please try again later.');
|
|
4292
|
-
console.error('Error fetching group:', err_1);
|
|
4293
|
-
return [3 /*break*/, 5];
|
|
4294
|
-
case 4:
|
|
4295
|
-
setIsLoading(false);
|
|
4296
|
-
setIsInitialFetchDone(true);
|
|
4297
|
-
return [7 /*endfinally*/];
|
|
4298
|
-
case 5: return [2 /*return*/];
|
|
4299
|
-
}
|
|
4300
|
-
});
|
|
4301
|
-
}); }, [id, sdk]);
|
|
4302
|
-
var silentRefresh = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
4303
|
-
var response, err_2;
|
|
4304
|
-
return __generator(this, function (_a) {
|
|
4305
|
-
switch (_a.label) {
|
|
4306
|
-
case 0:
|
|
4307
|
-
if (!id || !sdk || !sdk.getGroupByID || !isInitialFetchDone) {
|
|
4308
|
-
return [2 /*return*/];
|
|
4309
|
-
}
|
|
4310
|
-
_a.label = 1;
|
|
4311
|
-
case 1:
|
|
4312
|
-
_a.trys.push([1, 3, , 4]);
|
|
4313
|
-
return [4 /*yield*/, sdk.refreshGroup(id)];
|
|
4314
|
-
case 2:
|
|
4315
|
-
response = _a.sent();
|
|
4316
|
-
if (response && response.status === 'success' && response.data) {
|
|
4317
|
-
setGroupData(response.data);
|
|
4318
|
-
}
|
|
4319
|
-
return [3 /*break*/, 4];
|
|
4320
|
-
case 3:
|
|
4321
|
-
err_2 = _a.sent();
|
|
4322
|
-
console.error('Error during silent refresh:', err_2);
|
|
4323
|
-
return [3 /*break*/, 4];
|
|
4324
|
-
case 4: return [2 /*return*/];
|
|
4325
|
-
}
|
|
4326
|
-
});
|
|
4327
|
-
}); }, [id, sdk, isInitialFetchDone]);
|
|
4328
|
-
var refreshGroup = React.useCallback(function () {
|
|
4329
|
-
return silentRefresh();
|
|
4330
|
-
}, [silentRefresh]);
|
|
4331
|
-
React.useEffect(function () {
|
|
4332
|
-
if (sdk) {
|
|
4333
|
-
initialFetch();
|
|
4334
|
-
var unsubscribeGroup_1 = sdk.subscribeToDataChange('GROUP_DATA_CHANGED', function () {
|
|
4335
|
-
silentRefresh();
|
|
4336
|
-
});
|
|
4337
|
-
return function () {
|
|
4338
|
-
unsubscribeGroup_1();
|
|
4339
|
-
};
|
|
4340
|
-
}
|
|
4341
|
-
}, [initialFetch, id, sdk, silentRefresh]);
|
|
4342
|
-
return { groupData: groupData, isLoading: isLoading, error: error, refreshGroup: refreshGroup };
|
|
4354
|
+
var _b = useInitialGroupFetch({ id: id, setGroupData: setGroupData }), isLoading = _b.isLoading, error = _b.error;
|
|
4355
|
+
useGroupRefresh({
|
|
4356
|
+
id: id,
|
|
4357
|
+
enabled: Boolean(groupData),
|
|
4358
|
+
setGroupData: setGroupData,
|
|
4359
|
+
});
|
|
4360
|
+
return { groupData: groupData, isLoading: isLoading, error: error };
|
|
4343
4361
|
};
|
|
4344
4362
|
/**
|
|
4345
4363
|
* Component to display an empty state with a message
|
|
@@ -4394,7 +4412,7 @@ var Group = function (_a) {
|
|
|
4394
4412
|
if (isLoading) {
|
|
4395
4413
|
return (jsxRuntimeExports.jsx(reactNative.View, { style: {
|
|
4396
4414
|
flex: 1,
|
|
4397
|
-
padding: theme.sizes.lg,
|
|
4415
|
+
padding: IS_MOBILE ? theme.sizes.lg : undefined,
|
|
4398
4416
|
}, accessible: true, accessibilityLabel: "Loading group data", children: jsxRuntimeExports.jsx(Skeleton, { numberOfSquares: IS_WEB ? 4 : 2 }) }));
|
|
4399
4417
|
}
|
|
4400
4418
|
if (error || !groupData) {
|
|
@@ -5075,9 +5093,6 @@ var useRoundupTileStyles = function (isFullSize) {
|
|
|
5075
5093
|
},
|
|
5076
5094
|
contentContainer: {
|
|
5077
5095
|
width: '100%',
|
|
5078
|
-
marginTop: isFullSize
|
|
5079
|
-
? useResponsiveValue(theme.sizes.xxl, theme.sizes.md, isDesktop, isTablet)
|
|
5080
|
-
: 0,
|
|
5081
5096
|
},
|
|
5082
5097
|
contentColumn: {
|
|
5083
5098
|
flexGrow: 1,
|