@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
|
@@ -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');
|
|
@@ -29415,13 +29449,13 @@ var DailyRewardsTooltip = function DailyRewardsTooltip(_ref) {
|
|
|
29415
29449
|
return React__default.createElement(TooltipContainer$1, null, React__default.createElement(CollapsibleHeader, {
|
|
29416
29450
|
onClick: toggleExpand
|
|
29417
29451
|
}, React__default.createElement(HeaderText, null, "Rewards?"), React__default.createElement(ExpandIcon, null, isExpanded ? '▼' : '▶')), isExpanded && React__default.createElement(CollapsibleContent, null, React__default.createElement(RewardsList, null, sortedRewards.map(function (reward, index) {
|
|
29418
|
-
var _reward$key;
|
|
29452
|
+
var _reward$texturePath, _reward$key;
|
|
29419
29453
|
return React__default.createElement(RewardItem, {
|
|
29420
29454
|
key: index
|
|
29421
29455
|
}, React__default.createElement(SpriteFromAtlas, {
|
|
29422
29456
|
atlasJSON: itemsAtlasJSON,
|
|
29423
29457
|
atlasIMG: itemsAtlasIMG,
|
|
29424
|
-
spriteKey:
|
|
29458
|
+
spriteKey: (_reward$texturePath = reward.texturePath) != null ? _reward$texturePath : 'check.png',
|
|
29425
29459
|
width: 24,
|
|
29426
29460
|
height: 24,
|
|
29427
29461
|
imgScale: 1.75
|
|
@@ -29466,7 +29500,7 @@ var ItemContent = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
29466
29500
|
var RewardLabel = /*#__PURE__*/styled__default.span.withConfig({
|
|
29467
29501
|
displayName: "DailyRewardsTooltip__RewardLabel",
|
|
29468
29502
|
componentId: "sc-wxzcu4-8"
|
|
29469
|
-
})(["color:", ";font-size:0.9rem;line-height:1.2;display:inline-flex;align-items:center;"], uiColors.yellow);
|
|
29503
|
+
})(["color:", ";font-size:0.9rem;line-height:1.2;padding-top:15px;display:inline-flex;align-items:center;"], uiColors.yellow);
|
|
29470
29504
|
var RewardValue = /*#__PURE__*/styled__default.span.withConfig({
|
|
29471
29505
|
displayName: "DailyRewardsTooltip__RewardValue",
|
|
29472
29506
|
componentId: "sc-wxzcu4-9"
|
|
@@ -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",
|
|
@@ -29767,35 +29809,16 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29767
29809
|
iconAtlasJSON = _ref.iconAtlasJSON,
|
|
29768
29810
|
iconAtlasIMG = _ref.iconAtlasIMG;
|
|
29769
29811
|
var _React$useState = React__default.useState(tasks),
|
|
29770
|
-
localTasks = _React$useState[0]
|
|
29771
|
-
setLocalTasks = _React$useState[1];
|
|
29812
|
+
localTasks = _React$useState[0];
|
|
29772
29813
|
var size = useResponsiveSize(scale);
|
|
29773
|
-
var
|
|
29774
|
-
|
|
29775
|
-
|
|
29776
|
-
|
|
29777
|
-
|
|
29778
|
-
|
|
29779
|
-
|
|
29780
|
-
|
|
29781
|
-
onClaimReward({
|
|
29782
|
-
type: type,
|
|
29783
|
-
taskKey: taskKey
|
|
29784
|
-
});
|
|
29785
|
-
};
|
|
29786
|
-
var handleClaimAllRewards = function handleClaimAllRewards() {
|
|
29787
|
-
var tasksToReward = localTasks.filter(function (task) {
|
|
29788
|
-
return task.status === shared.TaskStatus.Completed && !task.claimed;
|
|
29789
|
-
}).map(function (task) {
|
|
29790
|
-
return {
|
|
29791
|
-
type: task.type,
|
|
29792
|
-
taskKey: task.key
|
|
29793
|
-
};
|
|
29794
|
-
});
|
|
29795
|
-
onClaimGlobalReward({
|
|
29796
|
-
tasks: tasksToReward
|
|
29797
|
-
});
|
|
29798
|
-
};
|
|
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;
|
|
29799
29822
|
if (!size) return null;
|
|
29800
29823
|
return React__default.createElement(TasksContainer, {
|
|
29801
29824
|
type: exports.RPGUIContainerTypes.Framed,
|
|
@@ -29808,7 +29831,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29808
29831
|
className: "tasks-container"
|
|
29809
29832
|
}, React__default.createElement(GlobalDailyProgress, {
|
|
29810
29833
|
tasks: localTasks,
|
|
29811
|
-
onClaimAllRewards:
|
|
29834
|
+
onClaimAllRewards: handleClaimGlobalRewards,
|
|
29835
|
+
globalRewardClaimed: globalRewardClaimed
|
|
29812
29836
|
}), localTasks.map(function (task) {
|
|
29813
29837
|
return React__default.createElement(DailyTaskItem, {
|
|
29814
29838
|
key: task.key,
|
|
@@ -29818,7 +29842,8 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29818
29842
|
itemsAtlasJSON: itemsAtlasJSON,
|
|
29819
29843
|
itemsAtlasIMG: itemsAtlasIMG,
|
|
29820
29844
|
iconAtlasJSON: iconAtlasJSON,
|
|
29821
|
-
iconAtlasIMG: iconAtlasIMG
|
|
29845
|
+
iconAtlasIMG: iconAtlasIMG,
|
|
29846
|
+
isRewardClaimed: isTaskRewardClaimed(task.key)
|
|
29822
29847
|
});
|
|
29823
29848
|
}))));
|
|
29824
29849
|
};
|