@rpg-engine/long-bow 0.8.51 → 0.8.53

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.
@@ -8,6 +8,7 @@ interface IDailyTaskItemProps {
8
8
  itemsAtlasIMG: string;
9
9
  iconAtlasJSON?: Record<string, any>;
10
10
  iconAtlasIMG?: string;
11
+ isRewardClaimed: boolean;
11
12
  }
12
13
  export declare const DailyTaskItem: React.FC<IDailyTaskItemProps>;
13
14
  export {};
@@ -1,8 +1,8 @@
1
- import { ICharacterDailyTask, ICollectGlobalRewardRequest, ITaskIdentifier } from '@rpg-engine/shared';
1
+ import { ICharacterDailyTask, ICollectGlobalRewardRequest, ICollectRewardRequest } from '@rpg-engine/shared';
2
2
  import React from 'react';
3
3
  export interface IDailyTasksProps {
4
4
  tasks: ICharacterDailyTask[];
5
- onClaimReward: (task: ITaskIdentifier) => void;
5
+ onClaimReward: (task: ICollectRewardRequest) => void;
6
6
  onClaimGlobalReward: (tasks: ICollectGlobalRewardRequest) => void;
7
7
  onClose: () => void;
8
8
  scale?: number;
@@ -10,5 +10,6 @@ export interface IDailyTasksProps {
10
10
  itemsAtlasIMG: string;
11
11
  iconAtlasJSON?: Record<string, any>;
12
12
  iconAtlasIMG?: string;
13
+ globalRewardClaimed?: boolean;
13
14
  }
14
15
  export declare const DailyTasks: React.FC<IDailyTasksProps>;
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  interface IGlobalTaskProgressProps {
4
4
  tasks: ICharacterDailyTask[];
5
5
  onClaimAllRewards: (tasks: ICollectGlobalRewardRequest) => void;
6
+ globalRewardClaimed: boolean;
6
7
  }
7
8
  export declare const GlobalDailyProgress: React.FC<IGlobalTaskProgressProps>;
8
9
  export {};
@@ -29632,10 +29632,11 @@ var DailyTaskItem = function DailyTaskItem(_ref) {
29632
29632
  itemsAtlasJSON = _ref.itemsAtlasJSON,
29633
29633
  itemsAtlasIMG = _ref.itemsAtlasIMG,
29634
29634
  iconAtlasJSON = _ref.iconAtlasJSON,
29635
- iconAtlasIMG = _ref.iconAtlasIMG;
29635
+ iconAtlasIMG = _ref.iconAtlasIMG,
29636
+ isRewardClaimed = _ref.isRewardClaimed;
29636
29637
  var isMobile = shared.isMobileOrTablet();
29637
29638
  var isCompleted = task.status === shared.TaskStatus.Completed;
29638
- var isClaimed = task.claimed;
29639
+ var isClaimed = task.claimed || isRewardClaimed;
29639
29640
  var handleClaimReward = function handleClaimReward() {
29640
29641
  onClaimReward(task.key, task.type);
29641
29642
  };
@@ -29696,29 +29697,37 @@ var CollectWrapper = /*#__PURE__*/styled__default.div.withConfig({
29696
29697
 
29697
29698
  var GlobalDailyProgress = function GlobalDailyProgress(_ref) {
29698
29699
  var tasks = _ref.tasks,
29699
- onClaimAllRewards = _ref.onClaimAllRewards;
29700
+ onClaimAllRewards = _ref.onClaimAllRewards,
29701
+ globalRewardClaimed = _ref.globalRewardClaimed;
29700
29702
  var totalTasks = tasks.length;
29701
29703
  var completedTasks = tasks.filter(function (task) {
29702
29704
  return task.status === shared.TaskStatus.Completed;
29703
29705
  }).length;
29704
- var claimedTasks = tasks.filter(function (task) {
29706
+ var allCompleted = tasks.length > 0 && tasks.every(function (task) {
29707
+ return task.status === shared.TaskStatus.Completed;
29708
+ });
29709
+ var allClaimed = tasks.length > 0 && tasks.every(function (task) {
29705
29710
  return task.claimed === true;
29706
- }).length;
29707
- var allCompleted = completedTasks === totalTasks;
29708
- var allClaimed = claimedTasks === totalTasks;
29709
- var _React$useState = React__default.useState(false),
29710
- isClaimed = _React$useState[0],
29711
- setIsClaimed = _React$useState[1];
29712
- var handleClaimAll = function handleClaimAll(tasks) {
29713
- onClaimAllRewards(tasks);
29714
- setIsClaimed(true);
29711
+ });
29712
+ var shouldShowGlobalButton = allCompleted && allClaimed && !globalRewardClaimed;
29713
+ var shouldShowClaimedMessage = globalRewardClaimed;
29714
+ var handleClaimAll = function handleClaimAll() {
29715
+ var taskIdentifiers = tasks.map(function (task) {
29716
+ return {
29717
+ taskKey: task.key,
29718
+ type: task.type
29719
+ };
29720
+ });
29721
+ onClaimAllRewards({
29722
+ tasks: taskIdentifiers
29723
+ });
29715
29724
  };
29716
29725
  return React__default.createElement(GlobalProgressContainer, null, React__default.createElement(HeaderContainer$1, null, React__default.createElement(GlobeIcon, null, "\uD83C\uDF0D"), React__default.createElement(ProgressText, null, "Global Tasks Completed: ", completedTasks, "/", totalTasks)), React__default.createElement(ProgressBar, null, React__default.createElement(ProgressFill, {
29717
29726
  percentage: completedTasks / totalTasks * 100
29718
- })), totalTasks > 0 && allCompleted && React__default.createElement(React__default.Fragment, null, allClaimed || isClaimed ? React__default.createElement(ClaimedText$1, null, "Global Rewards Claimed") : React__default.createElement(CollectWrapper$1, null, React__default.createElement(Button, {
29727
+ })), allCompleted && React__default.createElement(React__default.Fragment, null, shouldShowGlobalButton && React__default.createElement(CollectWrapper$1, null, React__default.createElement(Button, {
29719
29728
  buttonType: exports.ButtonTypes.RPGUIButton,
29720
29729
  onPointerDown: handleClaimAll
29721
- }, "Collect Global Rewards"))));
29730
+ }, "Collect Global Rewards")), shouldShowClaimedMessage && React__default.createElement(ClaimedText$1, null, "Global Rewards Claimed")));
29722
29731
  };
29723
29732
  var GlobalProgressContainer = /*#__PURE__*/styled__default.div.withConfig({
29724
29733
  displayName: "GlobalDailyProgress__GlobalProgressContainer",
@@ -29765,18 +29774,33 @@ var DailyTasks = function DailyTasks(_ref) {
29765
29774
  itemsAtlasJSON = _ref.itemsAtlasJSON,
29766
29775
  itemsAtlasIMG = _ref.itemsAtlasIMG,
29767
29776
  iconAtlasJSON = _ref.iconAtlasJSON,
29768
- iconAtlasIMG = _ref.iconAtlasIMG;
29777
+ iconAtlasIMG = _ref.iconAtlasIMG,
29778
+ _ref$globalRewardClai = _ref.globalRewardClaimed,
29779
+ globalRewardClaimed = _ref$globalRewardClai === void 0 ? false : _ref$globalRewardClai;
29769
29780
  var _React$useState = React__default.useState(tasks),
29770
29781
  localTasks = _React$useState[0];
29771
29782
  var size = useResponsiveSize(scale);
29772
- var handleClaimReward = function handleClaimReward(taskKey, type) {
29783
+ var _useState = React.useState([]),
29784
+ claimedTasks = _useState[0],
29785
+ setClaimedTasks = _useState[1];
29786
+ var _useState2 = React.useState(false),
29787
+ globalRewardClaimedLocal = _useState2[0],
29788
+ setGlobalRewardClaimedLocal = _useState2[1];
29789
+ var handleClaimReward = function handleClaimReward(taskKey, taskType) {
29773
29790
  onClaimReward({
29774
- type: type,
29775
- taskKey: taskKey
29791
+ taskKey: taskKey,
29792
+ type: taskType
29793
+ });
29794
+ setClaimedTasks(function (prev) {
29795
+ return [].concat(prev, [taskKey]);
29776
29796
  });
29777
29797
  };
29778
29798
  var handleClaimGlobalRewards = function handleClaimGlobalRewards(tasks) {
29779
29799
  onClaimGlobalReward(tasks);
29800
+ setGlobalRewardClaimedLocal(true);
29801
+ };
29802
+ var isTaskRewardClaimed = function isTaskRewardClaimed(taskKey) {
29803
+ return claimedTasks.includes(taskKey);
29780
29804
  };
29781
29805
  if (!size) return null;
29782
29806
  return React__default.createElement(TasksContainer, {
@@ -29790,7 +29814,8 @@ var DailyTasks = function DailyTasks(_ref) {
29790
29814
  className: "tasks-container"
29791
29815
  }, React__default.createElement(GlobalDailyProgress, {
29792
29816
  tasks: localTasks,
29793
- onClaimAllRewards: handleClaimGlobalRewards
29817
+ onClaimAllRewards: handleClaimGlobalRewards,
29818
+ globalRewardClaimed: globalRewardClaimed || globalRewardClaimedLocal
29794
29819
  }), localTasks.map(function (task) {
29795
29820
  return React__default.createElement(DailyTaskItem, {
29796
29821
  key: task.key,
@@ -29800,7 +29825,8 @@ var DailyTasks = function DailyTasks(_ref) {
29800
29825
  itemsAtlasJSON: itemsAtlasJSON,
29801
29826
  itemsAtlasIMG: itemsAtlasIMG,
29802
29827
  iconAtlasJSON: iconAtlasJSON,
29803
- iconAtlasIMG: iconAtlasIMG
29828
+ iconAtlasIMG: iconAtlasIMG,
29829
+ isRewardClaimed: task.claimed || isTaskRewardClaimed(task.key)
29804
29830
  });
29805
29831
  }))));
29806
29832
  };