@rpg-engine/long-bow 0.8.51 → 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.
@@ -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');
@@ -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 claimedTasks = tasks.filter(function (task) {
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
- }).length;
29700
- var allCompleted = completedTasks === totalTasks;
29701
- var allClaimed = claimedTasks === totalTasks;
29702
- var _React$useState = React.useState(false),
29703
- isClaimed = _React$useState[0],
29704
- setIsClaimed = _React$useState[1];
29705
- var handleClaimAll = function handleClaimAll(tasks) {
29706
- onClaimAllRewards(tasks);
29707
- setIsClaimed(true);
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
- })), totalTasks > 0 && allCompleted && React.createElement(React.Fragment, null, allClaimed || isClaimed ? React.createElement(ClaimedText$1, null, "Global Rewards Claimed") : React.createElement(CollectWrapper$1, null, React.createElement(Button, {
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",
@@ -29762,15 +29804,14 @@ var DailyTasks = function DailyTasks(_ref) {
29762
29804
  var _React$useState = React.useState(tasks),
29763
29805
  localTasks = _React$useState[0];
29764
29806
  var size = useResponsiveSize(scale);
29765
- var handleClaimReward = function handleClaimReward(taskKey, type) {
29766
- onClaimReward({
29767
- type: type,
29768
- taskKey: taskKey
29769
- });
29770
- };
29771
- var handleClaimGlobalRewards = function handleClaimGlobalRewards(tasks) {
29772
- onClaimGlobalReward(tasks);
29773
- };
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;
29774
29815
  if (!size) return null;
29775
29816
  return React.createElement(TasksContainer, {
29776
29817
  type: RPGUIContainerTypes.Framed,
@@ -29783,7 +29824,8 @@ var DailyTasks = function DailyTasks(_ref) {
29783
29824
  className: "tasks-container"
29784
29825
  }, React.createElement(GlobalDailyProgress, {
29785
29826
  tasks: localTasks,
29786
- onClaimAllRewards: handleClaimGlobalRewards
29827
+ onClaimAllRewards: handleClaimGlobalRewards,
29828
+ globalRewardClaimed: globalRewardClaimed
29787
29829
  }), localTasks.map(function (task) {
29788
29830
  return React.createElement(DailyTaskItem, {
29789
29831
  key: task.key,
@@ -29793,7 +29835,8 @@ var DailyTasks = function DailyTasks(_ref) {
29793
29835
  itemsAtlasJSON: itemsAtlasJSON,
29794
29836
  itemsAtlasIMG: itemsAtlasIMG,
29795
29837
  iconAtlasJSON: iconAtlasJSON,
29796
- iconAtlasIMG: iconAtlasIMG
29838
+ iconAtlasIMG: iconAtlasIMG,
29839
+ isRewardClaimed: isTaskRewardClaimed(task.key)
29797
29840
  });
29798
29841
  }))));
29799
29842
  };