@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.
- 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 +69 -26
- 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 +69 -26
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DailyTasks/DailyTaskItem.tsx +3 -1
- package/src/components/DailyTasks/DailyTasks.tsx +12 -11
- package/src/components/DailyTasks/GlobalDailyProgress.tsx +20 -11
- package/src/hooks/useDailyTasksState.ts +40 -0
|
@@ -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 {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ICollectGlobalRewardRequest, ITaskIdentifier, TaskType } from '@rpg-engine/shared';
|
|
2
|
+
interface IUseDailyTasksStateProps {
|
|
3
|
+
onClaimReward: (task: ITaskIdentifier) => void;
|
|
4
|
+
onClaimGlobalReward: (tasks: ICollectGlobalRewardRequest) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function useDailyTasksState({ onClaimReward, onClaimGlobalReward, }: IUseDailyTasksStateProps): {
|
|
7
|
+
globalRewardClaimed: boolean;
|
|
8
|
+
claimedTaskKeys: string[];
|
|
9
|
+
isTaskRewardClaimed: (taskKey: string) => boolean;
|
|
10
|
+
handleClaimReward: (taskKey: string, type: TaskType) => void;
|
|
11
|
+
handleClaimGlobalRewards: (tasks: ICollectGlobalRewardRequest) => void;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -29313,6 +29313,40 @@ var EmptyState = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
29313
29313
|
componentId: "sc-19q95ue-15"
|
|
29314
29314
|
})(["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);
|
|
29315
29315
|
|
|
29316
|
+
function useDailyTasksState(_ref) {
|
|
29317
|
+
var onClaimReward = _ref.onClaimReward,
|
|
29318
|
+
onClaimGlobalReward = _ref.onClaimGlobalReward;
|
|
29319
|
+
var _useState = React.useState(false),
|
|
29320
|
+
globalRewardClaimed = _useState[0],
|
|
29321
|
+
setGlobalRewardClaimed = _useState[1];
|
|
29322
|
+
var _useState2 = React.useState([]),
|
|
29323
|
+
claimedTaskKeys = _useState2[0],
|
|
29324
|
+
setClaimedTaskKeys = _useState2[1];
|
|
29325
|
+
var handleClaimReward = function handleClaimReward(taskKey, type) {
|
|
29326
|
+
onClaimReward({
|
|
29327
|
+
type: type,
|
|
29328
|
+
taskKey: taskKey
|
|
29329
|
+
});
|
|
29330
|
+
setClaimedTaskKeys(function (prev) {
|
|
29331
|
+
return [].concat(prev, [taskKey]);
|
|
29332
|
+
});
|
|
29333
|
+
};
|
|
29334
|
+
var handleClaimGlobalRewards = function handleClaimGlobalRewards(tasks) {
|
|
29335
|
+
onClaimGlobalReward(tasks);
|
|
29336
|
+
setGlobalRewardClaimed(true);
|
|
29337
|
+
};
|
|
29338
|
+
var isTaskRewardClaimed = function isTaskRewardClaimed(taskKey) {
|
|
29339
|
+
return claimedTaskKeys.includes(taskKey);
|
|
29340
|
+
};
|
|
29341
|
+
return {
|
|
29342
|
+
globalRewardClaimed: globalRewardClaimed,
|
|
29343
|
+
claimedTaskKeys: claimedTaskKeys,
|
|
29344
|
+
isTaskRewardClaimed: isTaskRewardClaimed,
|
|
29345
|
+
handleClaimReward: handleClaimReward,
|
|
29346
|
+
handleClaimGlobalRewards: handleClaimGlobalRewards
|
|
29347
|
+
};
|
|
29348
|
+
}
|
|
29349
|
+
|
|
29316
29350
|
var formatTaskKey = function formatTaskKey(key) {
|
|
29317
29351
|
var formatted = key.replace(/[-_]/g, ' ');
|
|
29318
29352
|
formatted = formatted.replace(/([A-Z])/g, ' $1');
|
|
@@ -29632,10 +29666,11 @@ var DailyTaskItem = function DailyTaskItem(_ref) {
|
|
|
29632
29666
|
itemsAtlasJSON = _ref.itemsAtlasJSON,
|
|
29633
29667
|
itemsAtlasIMG = _ref.itemsAtlasIMG,
|
|
29634
29668
|
iconAtlasJSON = _ref.iconAtlasJSON,
|
|
29635
|
-
iconAtlasIMG = _ref.iconAtlasIMG
|
|
29669
|
+
iconAtlasIMG = _ref.iconAtlasIMG,
|
|
29670
|
+
isRewardClaimed = _ref.isRewardClaimed;
|
|
29636
29671
|
var isMobile = shared.isMobileOrTablet();
|
|
29637
29672
|
var isCompleted = task.status === shared.TaskStatus.Completed;
|
|
29638
|
-
var isClaimed = task.claimed;
|
|
29673
|
+
var isClaimed = task.claimed || isRewardClaimed;
|
|
29639
29674
|
var handleClaimReward = function handleClaimReward() {
|
|
29640
29675
|
onClaimReward(task.key, task.type);
|
|
29641
29676
|
};
|
|
@@ -29696,29 +29731,36 @@ var CollectWrapper = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
29696
29731
|
|
|
29697
29732
|
var GlobalDailyProgress = function GlobalDailyProgress(_ref) {
|
|
29698
29733
|
var tasks = _ref.tasks,
|
|
29699
|
-
onClaimAllRewards = _ref.onClaimAllRewards
|
|
29734
|
+
onClaimAllRewards = _ref.onClaimAllRewards,
|
|
29735
|
+
globalRewardClaimed = _ref.globalRewardClaimed;
|
|
29700
29736
|
var totalTasks = tasks.length;
|
|
29701
29737
|
var completedTasks = tasks.filter(function (task) {
|
|
29702
29738
|
return task.status === shared.TaskStatus.Completed;
|
|
29703
29739
|
}).length;
|
|
29704
|
-
var
|
|
29740
|
+
var allCompleted = tasks.length > 0 && tasks.every(function (task) {
|
|
29741
|
+
return task.status === shared.TaskStatus.Completed;
|
|
29742
|
+
});
|
|
29743
|
+
var allClaimed = tasks.length > 0 && tasks.every(function (task) {
|
|
29705
29744
|
return task.claimed === true;
|
|
29706
|
-
})
|
|
29707
|
-
var
|
|
29708
|
-
var
|
|
29709
|
-
|
|
29710
|
-
|
|
29711
|
-
|
|
29712
|
-
|
|
29713
|
-
|
|
29714
|
-
|
|
29745
|
+
});
|
|
29746
|
+
var shouldShowGlobalButton = allCompleted && allClaimed && !globalRewardClaimed;
|
|
29747
|
+
var handleClaimAll = function handleClaimAll() {
|
|
29748
|
+
var taskIdentifiers = tasks.map(function (task) {
|
|
29749
|
+
return {
|
|
29750
|
+
taskKey: task.key,
|
|
29751
|
+
type: task.type
|
|
29752
|
+
};
|
|
29753
|
+
});
|
|
29754
|
+
onClaimAllRewards({
|
|
29755
|
+
tasks: taskIdentifiers
|
|
29756
|
+
});
|
|
29715
29757
|
};
|
|
29716
29758
|
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
29759
|
percentage: completedTasks / totalTasks * 100
|
|
29718
|
-
})),
|
|
29760
|
+
})), allCompleted && React__default.createElement(React__default.Fragment, null, shouldShowGlobalButton ? React__default.createElement(CollectWrapper$1, null, React__default.createElement(Button, {
|
|
29719
29761
|
buttonType: exports.ButtonTypes.RPGUIButton,
|
|
29720
29762
|
onPointerDown: handleClaimAll
|
|
29721
|
-
}, "Collect Global Rewards"))));
|
|
29763
|
+
}, "Collect Global Rewards")) : React__default.createElement(ClaimedText$1, null, "Global Rewards Claimed")));
|
|
29722
29764
|
};
|
|
29723
29765
|
var GlobalProgressContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
29724
29766
|
displayName: "GlobalDailyProgress__GlobalProgressContainer",
|
|
@@ -29769,15 +29811,14 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29769
29811
|
var _React$useState = React__default.useState(tasks),
|
|
29770
29812
|
localTasks = _React$useState[0];
|
|
29771
29813
|
var size = useResponsiveSize(scale);
|
|
29772
|
-
var
|
|
29773
|
-
|
|
29774
|
-
|
|
29775
|
-
|
|
29776
|
-
|
|
29777
|
-
|
|
29778
|
-
|
|
29779
|
-
|
|
29780
|
-
};
|
|
29814
|
+
var _useDailyTasksState = useDailyTasksState({
|
|
29815
|
+
onClaimReward: onClaimReward,
|
|
29816
|
+
onClaimGlobalReward: onClaimGlobalReward
|
|
29817
|
+
}),
|
|
29818
|
+
globalRewardClaimed = _useDailyTasksState.globalRewardClaimed,
|
|
29819
|
+
handleClaimReward = _useDailyTasksState.handleClaimReward,
|
|
29820
|
+
handleClaimGlobalRewards = _useDailyTasksState.handleClaimGlobalRewards,
|
|
29821
|
+
isTaskRewardClaimed = _useDailyTasksState.isTaskRewardClaimed;
|
|
29781
29822
|
if (!size) return null;
|
|
29782
29823
|
return React__default.createElement(TasksContainer, {
|
|
29783
29824
|
type: exports.RPGUIContainerTypes.Framed,
|
|
@@ -29790,7 +29831,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29790
29831
|
className: "tasks-container"
|
|
29791
29832
|
}, React__default.createElement(GlobalDailyProgress, {
|
|
29792
29833
|
tasks: localTasks,
|
|
29793
|
-
onClaimAllRewards: handleClaimGlobalRewards
|
|
29834
|
+
onClaimAllRewards: handleClaimGlobalRewards,
|
|
29835
|
+
globalRewardClaimed: globalRewardClaimed
|
|
29794
29836
|
}), localTasks.map(function (task) {
|
|
29795
29837
|
return React__default.createElement(DailyTaskItem, {
|
|
29796
29838
|
key: task.key,
|
|
@@ -29800,7 +29842,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29800
29842
|
itemsAtlasJSON: itemsAtlasJSON,
|
|
29801
29843
|
itemsAtlasIMG: itemsAtlasIMG,
|
|
29802
29844
|
iconAtlasJSON: iconAtlasJSON,
|
|
29803
|
-
iconAtlasIMG: iconAtlasIMG
|
|
29845
|
+
iconAtlasIMG: iconAtlasIMG,
|
|
29846
|
+
isRewardClaimed: isTaskRewardClaimed(task.key)
|
|
29804
29847
|
});
|
|
29805
29848
|
}))));
|
|
29806
29849
|
};
|