@rpg-engine/long-bow 0.8.50 → 0.8.52
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/components/DailyTasks/DailyTaskItem.d.ts +1 -0
- package/dist/components/DailyTasks/GlobalDailyProgress.d.ts +1 -0
- package/dist/hooks/useDailyTasksState.d.ts +13 -0
- package/dist/long-bow.cjs.development.js +73 -48
- package/dist/long-bow.cjs.development.js.map +1 -1
- package/dist/long-bow.cjs.production.min.js +1 -1
- package/dist/long-bow.cjs.production.min.js.map +1 -1
- package/dist/long-bow.esm.js +73 -48
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DailyTasks/DailyRewardsTooltip.tsx +2 -7
- package/src/components/DailyTasks/DailyTaskItem.tsx +3 -1
- package/src/components/DailyTasks/DailyTasks.tsx +14 -23
- package/src/components/DailyTasks/GlobalDailyProgress.tsx +20 -11
- package/src/hooks/useDailyTasksState.ts +40 -0
- package/src/mocks/dailyTasks.mocks.ts +12 -3
package/dist/long-bow.esm.js
CHANGED
|
@@ -29306,6 +29306,40 @@ var EmptyState = /*#__PURE__*/styled.div.withConfig({
|
|
|
29306
29306
|
componentId: "sc-19q95ue-15"
|
|
29307
29307
|
})(["position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:", ";width:100%;padding:2rem;svg{font-size:3rem;margin-bottom:1rem;opacity:0.7;}p{font-family:'Press Start 2P',cursive;font-size:0.9rem;margin:0;}"], uiColors.lightGray);
|
|
29308
29308
|
|
|
29309
|
+
function useDailyTasksState(_ref) {
|
|
29310
|
+
var onClaimReward = _ref.onClaimReward,
|
|
29311
|
+
onClaimGlobalReward = _ref.onClaimGlobalReward;
|
|
29312
|
+
var _useState = useState(false),
|
|
29313
|
+
globalRewardClaimed = _useState[0],
|
|
29314
|
+
setGlobalRewardClaimed = _useState[1];
|
|
29315
|
+
var _useState2 = useState([]),
|
|
29316
|
+
claimedTaskKeys = _useState2[0],
|
|
29317
|
+
setClaimedTaskKeys = _useState2[1];
|
|
29318
|
+
var handleClaimReward = function handleClaimReward(taskKey, type) {
|
|
29319
|
+
onClaimReward({
|
|
29320
|
+
type: type,
|
|
29321
|
+
taskKey: taskKey
|
|
29322
|
+
});
|
|
29323
|
+
setClaimedTaskKeys(function (prev) {
|
|
29324
|
+
return [].concat(prev, [taskKey]);
|
|
29325
|
+
});
|
|
29326
|
+
};
|
|
29327
|
+
var handleClaimGlobalRewards = function handleClaimGlobalRewards(tasks) {
|
|
29328
|
+
onClaimGlobalReward(tasks);
|
|
29329
|
+
setGlobalRewardClaimed(true);
|
|
29330
|
+
};
|
|
29331
|
+
var isTaskRewardClaimed = function isTaskRewardClaimed(taskKey) {
|
|
29332
|
+
return claimedTaskKeys.includes(taskKey);
|
|
29333
|
+
};
|
|
29334
|
+
return {
|
|
29335
|
+
globalRewardClaimed: globalRewardClaimed,
|
|
29336
|
+
claimedTaskKeys: claimedTaskKeys,
|
|
29337
|
+
isTaskRewardClaimed: isTaskRewardClaimed,
|
|
29338
|
+
handleClaimReward: handleClaimReward,
|
|
29339
|
+
handleClaimGlobalRewards: handleClaimGlobalRewards
|
|
29340
|
+
};
|
|
29341
|
+
}
|
|
29342
|
+
|
|
29309
29343
|
var formatTaskKey = function formatTaskKey(key) {
|
|
29310
29344
|
var formatted = key.replace(/[-_]/g, ' ');
|
|
29311
29345
|
formatted = formatted.replace(/([A-Z])/g, ' $1');
|
|
@@ -29408,13 +29442,13 @@ var DailyRewardsTooltip = function DailyRewardsTooltip(_ref) {
|
|
|
29408
29442
|
return React.createElement(TooltipContainer$1, null, React.createElement(CollapsibleHeader, {
|
|
29409
29443
|
onClick: toggleExpand
|
|
29410
29444
|
}, React.createElement(HeaderText, null, "Rewards?"), React.createElement(ExpandIcon, null, isExpanded ? '▼' : '▶')), isExpanded && React.createElement(CollapsibleContent, null, React.createElement(RewardsList, null, sortedRewards.map(function (reward, index) {
|
|
29411
|
-
var _reward$key;
|
|
29445
|
+
var _reward$texturePath, _reward$key;
|
|
29412
29446
|
return React.createElement(RewardItem, {
|
|
29413
29447
|
key: index
|
|
29414
29448
|
}, React.createElement(SpriteFromAtlas, {
|
|
29415
29449
|
atlasJSON: itemsAtlasJSON,
|
|
29416
29450
|
atlasIMG: itemsAtlasIMG,
|
|
29417
|
-
spriteKey:
|
|
29451
|
+
spriteKey: (_reward$texturePath = reward.texturePath) != null ? _reward$texturePath : 'check.png',
|
|
29418
29452
|
width: 24,
|
|
29419
29453
|
height: 24,
|
|
29420
29454
|
imgScale: 1.75
|
|
@@ -29459,7 +29493,7 @@ var ItemContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
29459
29493
|
var RewardLabel = /*#__PURE__*/styled.span.withConfig({
|
|
29460
29494
|
displayName: "DailyRewardsTooltip__RewardLabel",
|
|
29461
29495
|
componentId: "sc-wxzcu4-8"
|
|
29462
|
-
})(["color:", ";font-size:0.9rem;line-height:1.2;display:inline-flex;align-items:center;"], uiColors.yellow);
|
|
29496
|
+
})(["color:", ";font-size:0.9rem;line-height:1.2;padding-top:15px;display:inline-flex;align-items:center;"], uiColors.yellow);
|
|
29463
29497
|
var RewardValue = /*#__PURE__*/styled.span.withConfig({
|
|
29464
29498
|
displayName: "DailyRewardsTooltip__RewardValue",
|
|
29465
29499
|
componentId: "sc-wxzcu4-9"
|
|
@@ -29625,10 +29659,11 @@ var DailyTaskItem = function DailyTaskItem(_ref) {
|
|
|
29625
29659
|
itemsAtlasJSON = _ref.itemsAtlasJSON,
|
|
29626
29660
|
itemsAtlasIMG = _ref.itemsAtlasIMG,
|
|
29627
29661
|
iconAtlasJSON = _ref.iconAtlasJSON,
|
|
29628
|
-
iconAtlasIMG = _ref.iconAtlasIMG
|
|
29662
|
+
iconAtlasIMG = _ref.iconAtlasIMG,
|
|
29663
|
+
isRewardClaimed = _ref.isRewardClaimed;
|
|
29629
29664
|
var isMobile = isMobileOrTablet();
|
|
29630
29665
|
var isCompleted = task.status === TaskStatus.Completed;
|
|
29631
|
-
var isClaimed = task.claimed;
|
|
29666
|
+
var isClaimed = task.claimed || isRewardClaimed;
|
|
29632
29667
|
var handleClaimReward = function handleClaimReward() {
|
|
29633
29668
|
onClaimReward(task.key, task.type);
|
|
29634
29669
|
};
|
|
@@ -29689,29 +29724,36 @@ var CollectWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
|
29689
29724
|
|
|
29690
29725
|
var GlobalDailyProgress = function GlobalDailyProgress(_ref) {
|
|
29691
29726
|
var tasks = _ref.tasks,
|
|
29692
|
-
onClaimAllRewards = _ref.onClaimAllRewards
|
|
29727
|
+
onClaimAllRewards = _ref.onClaimAllRewards,
|
|
29728
|
+
globalRewardClaimed = _ref.globalRewardClaimed;
|
|
29693
29729
|
var totalTasks = tasks.length;
|
|
29694
29730
|
var completedTasks = tasks.filter(function (task) {
|
|
29695
29731
|
return task.status === TaskStatus.Completed;
|
|
29696
29732
|
}).length;
|
|
29697
|
-
var
|
|
29733
|
+
var allCompleted = tasks.length > 0 && tasks.every(function (task) {
|
|
29734
|
+
return task.status === TaskStatus.Completed;
|
|
29735
|
+
});
|
|
29736
|
+
var allClaimed = tasks.length > 0 && tasks.every(function (task) {
|
|
29698
29737
|
return task.claimed === true;
|
|
29699
|
-
})
|
|
29700
|
-
var
|
|
29701
|
-
var
|
|
29702
|
-
|
|
29703
|
-
|
|
29704
|
-
|
|
29705
|
-
|
|
29706
|
-
|
|
29707
|
-
|
|
29738
|
+
});
|
|
29739
|
+
var shouldShowGlobalButton = allCompleted && allClaimed && !globalRewardClaimed;
|
|
29740
|
+
var handleClaimAll = function handleClaimAll() {
|
|
29741
|
+
var taskIdentifiers = tasks.map(function (task) {
|
|
29742
|
+
return {
|
|
29743
|
+
taskKey: task.key,
|
|
29744
|
+
type: task.type
|
|
29745
|
+
};
|
|
29746
|
+
});
|
|
29747
|
+
onClaimAllRewards({
|
|
29748
|
+
tasks: taskIdentifiers
|
|
29749
|
+
});
|
|
29708
29750
|
};
|
|
29709
29751
|
return React.createElement(GlobalProgressContainer, null, React.createElement(HeaderContainer$1, null, React.createElement(GlobeIcon, null, "\uD83C\uDF0D"), React.createElement(ProgressText, null, "Global Tasks Completed: ", completedTasks, "/", totalTasks)), React.createElement(ProgressBar, null, React.createElement(ProgressFill, {
|
|
29710
29752
|
percentage: completedTasks / totalTasks * 100
|
|
29711
|
-
})),
|
|
29753
|
+
})), allCompleted && React.createElement(React.Fragment, null, shouldShowGlobalButton ? React.createElement(CollectWrapper$1, null, React.createElement(Button, {
|
|
29712
29754
|
buttonType: ButtonTypes.RPGUIButton,
|
|
29713
29755
|
onPointerDown: handleClaimAll
|
|
29714
|
-
}, "Collect Global Rewards"))));
|
|
29756
|
+
}, "Collect Global Rewards")) : React.createElement(ClaimedText$1, null, "Global Rewards Claimed")));
|
|
29715
29757
|
};
|
|
29716
29758
|
var GlobalProgressContainer = /*#__PURE__*/styled.div.withConfig({
|
|
29717
29759
|
displayName: "GlobalDailyProgress__GlobalProgressContainer",
|
|
@@ -29760,35 +29802,16 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29760
29802
|
iconAtlasJSON = _ref.iconAtlasJSON,
|
|
29761
29803
|
iconAtlasIMG = _ref.iconAtlasIMG;
|
|
29762
29804
|
var _React$useState = React.useState(tasks),
|
|
29763
|
-
localTasks = _React$useState[0]
|
|
29764
|
-
setLocalTasks = _React$useState[1];
|
|
29805
|
+
localTasks = _React$useState[0];
|
|
29765
29806
|
var size = useResponsiveSize(scale);
|
|
29766
|
-
var
|
|
29767
|
-
|
|
29768
|
-
|
|
29769
|
-
|
|
29770
|
-
|
|
29771
|
-
|
|
29772
|
-
|
|
29773
|
-
|
|
29774
|
-
onClaimReward({
|
|
29775
|
-
type: type,
|
|
29776
|
-
taskKey: taskKey
|
|
29777
|
-
});
|
|
29778
|
-
};
|
|
29779
|
-
var handleClaimAllRewards = function handleClaimAllRewards() {
|
|
29780
|
-
var tasksToReward = localTasks.filter(function (task) {
|
|
29781
|
-
return task.status === TaskStatus.Completed && !task.claimed;
|
|
29782
|
-
}).map(function (task) {
|
|
29783
|
-
return {
|
|
29784
|
-
type: task.type,
|
|
29785
|
-
taskKey: task.key
|
|
29786
|
-
};
|
|
29787
|
-
});
|
|
29788
|
-
onClaimGlobalReward({
|
|
29789
|
-
tasks: tasksToReward
|
|
29790
|
-
});
|
|
29791
|
-
};
|
|
29807
|
+
var _useDailyTasksState = useDailyTasksState({
|
|
29808
|
+
onClaimReward: onClaimReward,
|
|
29809
|
+
onClaimGlobalReward: onClaimGlobalReward
|
|
29810
|
+
}),
|
|
29811
|
+
globalRewardClaimed = _useDailyTasksState.globalRewardClaimed,
|
|
29812
|
+
handleClaimReward = _useDailyTasksState.handleClaimReward,
|
|
29813
|
+
handleClaimGlobalRewards = _useDailyTasksState.handleClaimGlobalRewards,
|
|
29814
|
+
isTaskRewardClaimed = _useDailyTasksState.isTaskRewardClaimed;
|
|
29792
29815
|
if (!size) return null;
|
|
29793
29816
|
return React.createElement(TasksContainer, {
|
|
29794
29817
|
type: RPGUIContainerTypes.Framed,
|
|
@@ -29801,7 +29824,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29801
29824
|
className: "tasks-container"
|
|
29802
29825
|
}, React.createElement(GlobalDailyProgress, {
|
|
29803
29826
|
tasks: localTasks,
|
|
29804
|
-
onClaimAllRewards:
|
|
29827
|
+
onClaimAllRewards: handleClaimGlobalRewards,
|
|
29828
|
+
globalRewardClaimed: globalRewardClaimed
|
|
29805
29829
|
}), localTasks.map(function (task) {
|
|
29806
29830
|
return React.createElement(DailyTaskItem, {
|
|
29807
29831
|
key: task.key,
|
|
@@ -29811,7 +29835,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29811
29835
|
itemsAtlasJSON: itemsAtlasJSON,
|
|
29812
29836
|
itemsAtlasIMG: itemsAtlasIMG,
|
|
29813
29837
|
iconAtlasJSON: iconAtlasJSON,
|
|
29814
|
-
iconAtlasIMG: iconAtlasIMG
|
|
29838
|
+
iconAtlasIMG: iconAtlasIMG,
|
|
29839
|
+
isRewardClaimed: isTaskRewardClaimed(task.key)
|
|
29815
29840
|
});
|
|
29816
29841
|
}))));
|
|
29817
29842
|
};
|