@rpg-engine/long-bow 0.8.72 → 0.8.74
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/hooks/useCharacterSkinNavigation.d.ts +7 -0
- package/dist/hooks/usePackFiltering.d.ts +7 -0
- package/dist/hooks/useQuantityControl.d.ts +10 -0
- package/dist/hooks/useStoreFiltering.d.ts +11 -0
- package/dist/long-bow.cjs.development.js +629 -272
- 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 +631 -274
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/DailyTasks/DailyRewardsTooltip.tsx +69 -38
- package/src/components/DailyTasks/DailyTaskItem.tsx +272 -76
- package/src/components/DailyTasks/DailyTasks.tsx +230 -46
- package/src/components/DailyTasks/GlobalDailyProgress.tsx +31 -24
- package/src/components/DailyTasks/TaskProgress.tsx +31 -20
- package/src/components/Store/StoreCharacterSkinRow.tsx +63 -45
- package/src/components/Store/StoreItemRow.tsx +51 -53
- package/src/components/Store/sections/StoreItemsSection.tsx +72 -21
- package/src/components/Store/sections/StorePacksSection.tsx +5 -10
- package/src/hooks/useCharacterSkinNavigation.ts +34 -0
- package/src/hooks/usePackFiltering.ts +20 -0
- package/src/hooks/useQuantityControl.ts +41 -0
- package/src/hooks/useStoreFiltering.ts +51 -0
- package/src/mocks/dailyTasks.mocks.ts +6 -6
- package/src/stories/Features/store/Store.stories.tsx +35 -8
package/dist/long-bow.esm.js
CHANGED
|
@@ -2,10 +2,10 @@ import React, { useState, useEffect, Component, useRef, useCallback, useContext,
|
|
|
2
2
|
import styled, { css, keyframes, createGlobalStyle } from 'styled-components';
|
|
3
3
|
import { BeatLoader } from 'react-spinners';
|
|
4
4
|
import { v4 } from 'uuid';
|
|
5
|
-
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus,
|
|
5
|
+
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getSPForLevel, getXPForLevel, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
|
|
6
6
|
import dayjs from 'dayjs';
|
|
7
7
|
import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
|
|
8
|
-
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaShoppingCart } from 'react-icons/fa';
|
|
8
|
+
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaShoppingCart } from 'react-icons/fa';
|
|
9
9
|
import { RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
|
|
10
10
|
import { IoMdContract, IoMdExpand } from 'react-icons/io';
|
|
11
11
|
import Draggable from 'react-draggable';
|
|
@@ -29357,6 +29357,45 @@ var EmptyState = /*#__PURE__*/styled.div.withConfig({
|
|
|
29357
29357
|
componentId: "sc-19q95ue-15"
|
|
29358
29358
|
})(["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);
|
|
29359
29359
|
|
|
29360
|
+
var SearchBar = function SearchBar(_ref) {
|
|
29361
|
+
var value = _ref.value,
|
|
29362
|
+
_onChange = _ref.onChange,
|
|
29363
|
+
placeholder = _ref.placeholder,
|
|
29364
|
+
className = _ref.className,
|
|
29365
|
+
rightElement = _ref.rightElement;
|
|
29366
|
+
var hasRightElement = Boolean(rightElement);
|
|
29367
|
+
return React.createElement(Container$g, {
|
|
29368
|
+
className: className
|
|
29369
|
+
}, React.createElement(Input$1, {
|
|
29370
|
+
type: "text",
|
|
29371
|
+
value: value,
|
|
29372
|
+
onChange: function onChange(e) {
|
|
29373
|
+
return _onChange(e.target.value);
|
|
29374
|
+
},
|
|
29375
|
+
placeholder: placeholder,
|
|
29376
|
+
className: "rpgui-input",
|
|
29377
|
+
"$hasRightElement": hasRightElement
|
|
29378
|
+
}), React.createElement(IconContainer, null, React.createElement(SearchIcon, null), rightElement));
|
|
29379
|
+
};
|
|
29380
|
+
var Container$g = /*#__PURE__*/styled.div.withConfig({
|
|
29381
|
+
displayName: "SearchBar__Container",
|
|
29382
|
+
componentId: "sc-13n8z02-0"
|
|
29383
|
+
})(["position:relative;width:100%;"]);
|
|
29384
|
+
var Input$1 = /*#__PURE__*/styled.input.withConfig({
|
|
29385
|
+
displayName: "SearchBar__Input",
|
|
29386
|
+
componentId: "sc-13n8z02-1"
|
|
29387
|
+
})(["width:100%;padding-right:", " !important;background:rgba(0,0,0,0.2) !important;border:2px solid #f59e0b !important;box-shadow:0 0 10px rgba(245,158,11,0.3);color:#ffffff !important;font-family:'Press Start 2P',cursive !important;font-size:0.875rem !important;&::placeholder{color:rgba(255,255,255,0.5) !important;}"], function (props) {
|
|
29388
|
+
return props.$hasRightElement ? '6rem' : '2.5rem';
|
|
29389
|
+
});
|
|
29390
|
+
var IconContainer = /*#__PURE__*/styled.div.withConfig({
|
|
29391
|
+
displayName: "SearchBar__IconContainer",
|
|
29392
|
+
componentId: "sc-13n8z02-2"
|
|
29393
|
+
})(["position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:0.5rem;pointer-events:none;z-index:1;> *{pointer-events:auto;}"]);
|
|
29394
|
+
var SearchIcon = /*#__PURE__*/styled(FaSearch).withConfig({
|
|
29395
|
+
displayName: "SearchBar__SearchIcon",
|
|
29396
|
+
componentId: "sc-13n8z02-3"
|
|
29397
|
+
})(["font-size:1rem;color:#f59e0b;filter:drop-shadow(0 0 2px rgba(245,158,11,0.3));"]);
|
|
29398
|
+
|
|
29360
29399
|
var formatTaskKey = function formatTaskKey(key) {
|
|
29361
29400
|
var formatted = key.replace(/[-_]/g, ' ');
|
|
29362
29401
|
formatted = formatted.replace(/([A-Z])/g, ' $1');
|
|
@@ -29441,6 +29480,7 @@ var DailyRewardsTooltip = function DailyRewardsTooltip(_ref) {
|
|
|
29441
29480
|
var _React$useState = React.useState(true),
|
|
29442
29481
|
isExpanded = _React$useState[0],
|
|
29443
29482
|
setIsExpanded = _React$useState[1];
|
|
29483
|
+
var isMobile = isMobileOrTablet();
|
|
29444
29484
|
var sortedRewards = React.useMemo(function () {
|
|
29445
29485
|
var _REWARD_PRIORITY;
|
|
29446
29486
|
if (!rewards) return [];
|
|
@@ -29458,21 +29498,28 @@ var DailyRewardsTooltip = function DailyRewardsTooltip(_ref) {
|
|
|
29458
29498
|
};
|
|
29459
29499
|
return React.createElement(TooltipContainer$1, null, React.createElement(CollapsibleHeader, {
|
|
29460
29500
|
onClick: toggleExpand
|
|
29461
|
-
}, React.createElement(HeaderText, null, "Rewards?"), React.createElement(ExpandIcon, null, isExpanded ? '▼' : '▶')), isExpanded && React.createElement(CollapsibleContent, null, React.createElement(RewardsList,
|
|
29501
|
+
}, React.createElement(HeaderText, null, "Rewards?"), React.createElement(ExpandIcon, null, isExpanded ? '▼' : '▶')), isExpanded && React.createElement(CollapsibleContent, null, React.createElement(RewardsList, {
|
|
29502
|
+
isMobile: isMobile,
|
|
29503
|
+
rewardCount: sortedRewards.length
|
|
29504
|
+
}, sortedRewards.map(function (reward, index) {
|
|
29462
29505
|
var _reward$texturePath, _reward$key;
|
|
29463
29506
|
return React.createElement(RewardItem, {
|
|
29464
29507
|
key: index
|
|
29465
|
-
}, React.createElement(SpriteFromAtlas, {
|
|
29508
|
+
}, React.createElement(RewardIcon, null, React.createElement(SpriteFromAtlas, {
|
|
29466
29509
|
atlasJSON: itemsAtlasJSON,
|
|
29467
29510
|
atlasIMG: itemsAtlasIMG,
|
|
29468
29511
|
spriteKey: (_reward$texturePath = reward.texturePath) != null ? _reward$texturePath : 'check.png',
|
|
29469
|
-
width:
|
|
29470
|
-
height:
|
|
29471
|
-
imgScale: 1.
|
|
29472
|
-
}), React.createElement(
|
|
29512
|
+
width: isMobile ? 16 : 18,
|
|
29513
|
+
height: isMobile ? 16 : 18,
|
|
29514
|
+
imgScale: isMobile ? 1.5 : 1.5
|
|
29515
|
+
})), React.createElement(RewardContent, null, React.createElement(RewardLabel, {
|
|
29516
|
+
isMobile: isMobile
|
|
29517
|
+
}, React.createElement(Ellipsis, {
|
|
29473
29518
|
maxWidth: "100%",
|
|
29474
|
-
maxLines:
|
|
29475
|
-
}, formatTaskKey((_reward$key = reward.key) != null ? _reward$key : reward.type)
|
|
29519
|
+
maxLines: 1
|
|
29520
|
+
}, formatTaskKey((_reward$key = reward.key) != null ? _reward$key : reward.type))), React.createElement(RewardValue, {
|
|
29521
|
+
isMobile: isMobile
|
|
29522
|
+
}, "\xD7", reward.quantity)));
|
|
29476
29523
|
}))));
|
|
29477
29524
|
};
|
|
29478
29525
|
var TooltipContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -29482,7 +29529,13 @@ var TooltipContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
|
29482
29529
|
var RewardsList = /*#__PURE__*/styled.div.withConfig({
|
|
29483
29530
|
displayName: "DailyRewardsTooltip__RewardsList",
|
|
29484
29531
|
componentId: "sc-wxzcu4-1"
|
|
29485
|
-
})(["display:
|
|
29532
|
+
})(["display:grid;grid-template-columns:", ";gap:", ";column-gap:", ";width:100%;"], function (props) {
|
|
29533
|
+
return props.rewardCount > 2 && !props.isMobile ? 'repeat(2, 1fr)' : '1fr';
|
|
29534
|
+
}, function (props) {
|
|
29535
|
+
return props.isMobile ? '6px' : '8px';
|
|
29536
|
+
}, function (props) {
|
|
29537
|
+
return props.rewardCount > 2 && !props.isMobile ? '16px' : '8px';
|
|
29538
|
+
});
|
|
29486
29539
|
var CollapsibleHeader = /*#__PURE__*/styled.div.withConfig({
|
|
29487
29540
|
displayName: "DailyRewardsTooltip__CollapsibleHeader",
|
|
29488
29541
|
componentId: "sc-wxzcu4-2"
|
|
@@ -29490,37 +29543,45 @@ var CollapsibleHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
29490
29543
|
var HeaderText = /*#__PURE__*/styled.span.withConfig({
|
|
29491
29544
|
displayName: "DailyRewardsTooltip__HeaderText",
|
|
29492
29545
|
componentId: "sc-wxzcu4-3"
|
|
29493
|
-
})(["color:", " !important;"], uiColors.yellow);
|
|
29546
|
+
})(["color:", " !important;font-size:0.75rem;font-weight:500;"], uiColors.yellow);
|
|
29494
29547
|
var ExpandIcon = /*#__PURE__*/styled.span.withConfig({
|
|
29495
29548
|
displayName: "DailyRewardsTooltip__ExpandIcon",
|
|
29496
29549
|
componentId: "sc-wxzcu4-4"
|
|
29497
|
-
})(["color:", ";font-size:0.
|
|
29550
|
+
})(["color:", ";font-size:0.7rem;margin-left:8px;"], uiColors.yellow);
|
|
29498
29551
|
var CollapsibleContent = /*#__PURE__*/styled.div.withConfig({
|
|
29499
29552
|
displayName: "DailyRewardsTooltip__CollapsibleContent",
|
|
29500
29553
|
componentId: "sc-wxzcu4-5"
|
|
29501
|
-
})(["display:block;padding-top:
|
|
29554
|
+
})(["display:block;padding-top:6px;width:100%;"]);
|
|
29502
29555
|
var RewardItem = /*#__PURE__*/styled.div.withConfig({
|
|
29503
29556
|
displayName: "DailyRewardsTooltip__RewardItem",
|
|
29504
29557
|
componentId: "sc-wxzcu4-6"
|
|
29505
|
-
})(["display:flex;align-items:center;gap:
|
|
29506
|
-
var
|
|
29507
|
-
displayName: "
|
|
29558
|
+
})(["display:flex;align-items:center;gap:4px;width:100%;padding:2px;min-height:22px;"]);
|
|
29559
|
+
var RewardIcon = /*#__PURE__*/styled.div.withConfig({
|
|
29560
|
+
displayName: "DailyRewardsTooltip__RewardIcon",
|
|
29508
29561
|
componentId: "sc-wxzcu4-7"
|
|
29509
|
-
})(["display:flex;flex-
|
|
29562
|
+
})(["flex-shrink:0;width:20px;height:20px;display:flex;align-items:flex-start;justify-content:flex-start;font-style:normal;margin-right:4px;*{font-style:normal !important;}position:relative;left:-0.5rem;top:-0.4rem;"]);
|
|
29563
|
+
var RewardContent = /*#__PURE__*/styled.div.withConfig({
|
|
29564
|
+
displayName: "DailyRewardsTooltip__RewardContent",
|
|
29565
|
+
componentId: "sc-wxzcu4-8"
|
|
29566
|
+
})(["display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;"]);
|
|
29510
29567
|
var RewardLabel = /*#__PURE__*/styled.span.withConfig({
|
|
29511
29568
|
displayName: "DailyRewardsTooltip__RewardLabel",
|
|
29512
|
-
componentId: "sc-wxzcu4-
|
|
29513
|
-
})(["color:", ";font-size:
|
|
29569
|
+
componentId: "sc-wxzcu4-9"
|
|
29570
|
+
})(["color:", ";font-size:", ";line-height:1.2;display:flex;align-items:center;flex:1;min-width:0;"], uiColors.yellow, function (props) {
|
|
29571
|
+
return props.isMobile ? '0.65rem' : '0.7rem';
|
|
29572
|
+
});
|
|
29514
29573
|
var RewardValue = /*#__PURE__*/styled.span.withConfig({
|
|
29515
29574
|
displayName: "DailyRewardsTooltip__RewardValue",
|
|
29516
|
-
componentId: "sc-wxzcu4-
|
|
29517
|
-
})(["color:", ";font-size:
|
|
29575
|
+
componentId: "sc-wxzcu4-10"
|
|
29576
|
+
})(["color:", ";font-size:", ";line-height:1.2;display:flex;align-items:center;font-weight:600;flex-shrink:0;margin-left:8px;"], uiColors.green, function (props) {
|
|
29577
|
+
return props.isMobile ? '0.6rem' : '0.65rem';
|
|
29578
|
+
});
|
|
29518
29579
|
|
|
29519
29580
|
var ReadOnlyCheckItem = function ReadOnlyCheckItem(_ref) {
|
|
29520
29581
|
var labelLeft = _ref.labelLeft,
|
|
29521
29582
|
labelRight = _ref.labelRight,
|
|
29522
29583
|
checked = _ref.checked;
|
|
29523
|
-
return React.createElement(Container$
|
|
29584
|
+
return React.createElement(Container$h, null, labelLeft && React.createElement(Label, null, labelLeft), React.createElement("div", {
|
|
29524
29585
|
className: "rpgui-checkbox-container"
|
|
29525
29586
|
}, React.createElement(CheckBox, {
|
|
29526
29587
|
className: "rpgui-checkbox",
|
|
@@ -29531,7 +29592,7 @@ var ReadOnlyCheckItem = function ReadOnlyCheckItem(_ref) {
|
|
|
29531
29592
|
isRight: true
|
|
29532
29593
|
}, labelRight));
|
|
29533
29594
|
};
|
|
29534
|
-
var Container$
|
|
29595
|
+
var Container$h = /*#__PURE__*/styled.div.withConfig({
|
|
29535
29596
|
displayName: "ReadOnlyCheckItem__Container",
|
|
29536
29597
|
componentId: "sc-1peplf9-0"
|
|
29537
29598
|
})(["display:flex;align-items:center;width:100%;height:20px;"]);
|
|
@@ -29618,56 +29679,6 @@ var CheckItemWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
|
29618
29679
|
componentId: "sc-hm6sp1-3"
|
|
29619
29680
|
})(["display:flex;justify-content:center;width:100%;height:20px;input.rpgui-checkbox + label{margin:0 !important;padding-left:23px !important;}"]);
|
|
29620
29681
|
|
|
29621
|
-
var TaskProgress = function TaskProgress(_ref) {
|
|
29622
|
-
var task = _ref.task,
|
|
29623
|
-
itemsAtlasJSON = _ref.itemsAtlasJSON,
|
|
29624
|
-
itemsAtlasIMG = _ref.itemsAtlasIMG,
|
|
29625
|
-
iconAtlasJSON = _ref.iconAtlasJSON,
|
|
29626
|
-
iconAtlasIMG = _ref.iconAtlasIMG;
|
|
29627
|
-
var difficulty = task.difficulty;
|
|
29628
|
-
return React.createElement(ProgressContainer, null, React.createElement(ProgressList$1, null, React.createElement(ProgressItem$1, null, React.createElement(ProgressLabel, null, "Difficulty:"), React.createElement(TaskDifficulty, {
|
|
29629
|
-
difficulty: difficulty
|
|
29630
|
-
}, formatDifficulty(difficulty))), React.createElement(ProgressItem$1, null, React.createElement(ProgressLabel, null, "Status:"), React.createElement(StatusText, {
|
|
29631
|
-
color: getStatusInfo(task).color
|
|
29632
|
-
}, getStatusInfo(task).text)), React.createElement(TaskProgressDetails, {
|
|
29633
|
-
task: task
|
|
29634
|
-
}), task.rewards && task.rewards.length > 0 && React.createElement(ProgressItem$1, null, React.createElement(DailyRewardsTooltip, {
|
|
29635
|
-
rewards: task.rewards,
|
|
29636
|
-
itemsAtlasJSON: itemsAtlasJSON,
|
|
29637
|
-
itemsAtlasIMG: itemsAtlasIMG,
|
|
29638
|
-
iconAtlasJSON: iconAtlasJSON,
|
|
29639
|
-
iconAtlasIMG: iconAtlasIMG
|
|
29640
|
-
}))));
|
|
29641
|
-
};
|
|
29642
|
-
var ProgressContainer = /*#__PURE__*/styled.div.withConfig({
|
|
29643
|
-
displayName: "TaskProgress__ProgressContainer",
|
|
29644
|
-
componentId: "sc-1ejoyu-0"
|
|
29645
|
-
})(["width:100%;position:relative;"]);
|
|
29646
|
-
var ProgressList$1 = /*#__PURE__*/styled.div.withConfig({
|
|
29647
|
-
displayName: "TaskProgress__ProgressList",
|
|
29648
|
-
componentId: "sc-1ejoyu-1"
|
|
29649
|
-
})(["display:flex;flex-direction:column;gap:6px;"]);
|
|
29650
|
-
var ProgressItem$1 = /*#__PURE__*/styled.div.withConfig({
|
|
29651
|
-
displayName: "TaskProgress__ProgressItem",
|
|
29652
|
-
componentId: "sc-1ejoyu-2"
|
|
29653
|
-
})(["display:flex;justify-content:space-between;align-items:center;"]);
|
|
29654
|
-
var ProgressLabel = /*#__PURE__*/styled.span.withConfig({
|
|
29655
|
-
displayName: "TaskProgress__ProgressLabel",
|
|
29656
|
-
componentId: "sc-1ejoyu-3"
|
|
29657
|
-
})(["color:", " !important;"], uiColors.white);
|
|
29658
|
-
var TaskDifficulty = /*#__PURE__*/styled.span.withConfig({
|
|
29659
|
-
displayName: "TaskProgress__TaskDifficulty",
|
|
29660
|
-
componentId: "sc-1ejoyu-4"
|
|
29661
|
-
})(["color:", " !important;"], function (props) {
|
|
29662
|
-
return props.difficulty.toLowerCase() === 'challenge' ? uiColors.red : uiColors.lightGray;
|
|
29663
|
-
});
|
|
29664
|
-
var StatusText = /*#__PURE__*/styled.span.withConfig({
|
|
29665
|
-
displayName: "TaskProgress__StatusText",
|
|
29666
|
-
componentId: "sc-1ejoyu-5"
|
|
29667
|
-
})(["color:", " !important;font-weight:bold;"], function (props) {
|
|
29668
|
-
return props.color;
|
|
29669
|
-
});
|
|
29670
|
-
|
|
29671
29682
|
var DailyTaskItem = function DailyTaskItem(_ref) {
|
|
29672
29683
|
var _task$name;
|
|
29673
29684
|
var task = _ref.task,
|
|
@@ -29680,69 +29691,170 @@ var DailyTaskItem = function DailyTaskItem(_ref) {
|
|
|
29680
29691
|
isRewardClaimed = _ref.isRewardClaimed;
|
|
29681
29692
|
var isMobile = isMobileOrTablet();
|
|
29682
29693
|
var isCompleted = task.status === TaskStatus.Completed;
|
|
29694
|
+
var isInProgress = task.status === TaskStatus.InProgress;
|
|
29695
|
+
var isNotStarted = task.status === TaskStatus.NotStarted;
|
|
29683
29696
|
var isClaimed = task.claimed || isRewardClaimed;
|
|
29684
29697
|
var handleClaimReward = function handleClaimReward() {
|
|
29685
29698
|
onClaimReward(task.key, task.type);
|
|
29686
29699
|
};
|
|
29687
|
-
return React.createElement(TaskContainer,
|
|
29700
|
+
return React.createElement(TaskContainer, {
|
|
29701
|
+
isMobile: isMobile,
|
|
29702
|
+
isCompleted: isCompleted,
|
|
29703
|
+
isInProgress: isInProgress,
|
|
29704
|
+
isNotStarted: isNotStarted
|
|
29705
|
+
}, React.createElement(TaskHeader, null, React.createElement(TaskHeaderLeft, null, iconAtlasJSON && iconAtlasIMG && React.createElement(IconWrapper, null, React.createElement(SpriteFromAtlas, {
|
|
29688
29706
|
atlasJSON: iconAtlasJSON,
|
|
29689
29707
|
atlasIMG: iconAtlasIMG,
|
|
29690
29708
|
spriteKey: spriteKey,
|
|
29691
|
-
width: 12,
|
|
29692
|
-
height: 12,
|
|
29693
|
-
imgScale: 2
|
|
29694
|
-
})), React.createElement(
|
|
29709
|
+
width: isMobile ? 10 : 12,
|
|
29710
|
+
height: isMobile ? 10 : 12,
|
|
29711
|
+
imgScale: 2
|
|
29712
|
+
})), React.createElement(TaskTitleSection, null, React.createElement(TaskTitle, {
|
|
29713
|
+
isMobile: isMobile
|
|
29714
|
+
}, React.createElement(Ellipsis, {
|
|
29695
29715
|
maxWidth: "100%",
|
|
29696
|
-
maxLines:
|
|
29697
|
-
}, (_task$name = task.name) != null ? _task$name : formatTaskKey(task.key))), React.createElement(
|
|
29716
|
+
maxLines: 1
|
|
29717
|
+
}, (_task$name = task.name) != null ? _task$name : formatTaskKey(task.key))), React.createElement(TaskMeta, {
|
|
29718
|
+
isMobile: isMobile
|
|
29719
|
+
}, React.createElement(MetaItem, null, React.createElement(MetaLabel, null, "Difficulty:"), React.createElement(TaskDifficulty, {
|
|
29720
|
+
difficulty: task.difficulty
|
|
29721
|
+
}, formatDifficulty(task.difficulty))), React.createElement(MetaDivider, null, "\u2022"), React.createElement(MetaItem, null, React.createElement(MetaLabel, null, "Status:"), React.createElement(StatusText, {
|
|
29722
|
+
color: getStatusInfo(task).color
|
|
29723
|
+
}, getStatusInfo(task).text))))), React.createElement(TaskHeaderRight, null, isClaimed && React.createElement(ClaimedBadge, {
|
|
29724
|
+
isMobile: isMobile
|
|
29725
|
+
}, "\u2713"))), React.createElement(TaskBody, null, React.createElement(TaskDescription, {
|
|
29726
|
+
isMobile: isMobile
|
|
29727
|
+
}, React.createElement(Ellipsis, {
|
|
29698
29728
|
maxWidth: "100%",
|
|
29699
|
-
maxLines: isMobile ?
|
|
29700
|
-
}, task.description))
|
|
29701
|
-
task: task
|
|
29729
|
+
maxLines: isMobile ? 2 : 1
|
|
29730
|
+
}, task.description)), React.createElement(TaskProgressDetails, {
|
|
29731
|
+
task: task
|
|
29732
|
+
}), task.rewards && task.rewards.length > 0 && React.createElement(RewardsSection, null, React.createElement(DailyRewardsTooltip, {
|
|
29733
|
+
rewards: task.rewards,
|
|
29702
29734
|
itemsAtlasJSON: itemsAtlasJSON,
|
|
29703
|
-
itemsAtlasIMG: itemsAtlasIMG
|
|
29704
|
-
|
|
29735
|
+
itemsAtlasIMG: itemsAtlasIMG,
|
|
29736
|
+
iconAtlasJSON: iconAtlasJSON,
|
|
29737
|
+
iconAtlasIMG: iconAtlasIMG
|
|
29738
|
+
}))), isCompleted && !isClaimed && React.createElement(TaskFooter, null, React.createElement(Button, {
|
|
29705
29739
|
buttonType: ButtonTypes.RPGUIButton,
|
|
29706
29740
|
onPointerDown: handleClaimReward
|
|
29707
|
-
},
|
|
29741
|
+
}, isMobile ? 'Collect Reward' : 'Collect Reward')));
|
|
29708
29742
|
};
|
|
29743
|
+
var pulseAnimation = /*#__PURE__*/keyframes(["0%{box-shadow:0 1px 2px rgba(0,0,0,0.4);}50%{box-shadow:0 2px 8px rgba(255,215,0,0.3);}100%{box-shadow:0 1px 2px rgba(0,0,0,0.4);}"]);
|
|
29709
29744
|
var TaskContainer = /*#__PURE__*/styled.div.withConfig({
|
|
29710
29745
|
displayName: "DailyTaskItem__TaskContainer",
|
|
29711
29746
|
componentId: "sc-45bxmt-0"
|
|
29712
|
-
})(["background:rgba(0,0,0,0.
|
|
29747
|
+
})(["background:rgba(0,0,0,0.6) !important;border:1px solid ", " !important;border-radius:", ";padding:", ";display:flex;flex-direction:column;gap:", ";box-shadow:0 1px 2px rgba(0,0,0,0.4);transition:all 0.2s ease;font-style:normal;width:100%;max-width:100%;box-sizing:border-box;opacity:", ";", " ", " *{font-style:normal !important;}&:hover{background:", " !important;border-color:", ";opacity:", ";}"], function (props) {
|
|
29748
|
+
return props.isCompleted ? uiColors.green : props.isInProgress ? uiColors.yellow : uiColors.darkGray;
|
|
29749
|
+
}, function (props) {
|
|
29750
|
+
return props.isMobile ? '4px' : '6px';
|
|
29751
|
+
}, function (props) {
|
|
29752
|
+
return props.isMobile ? '6px' : '8px';
|
|
29753
|
+
}, function (props) {
|
|
29754
|
+
return props.isMobile ? '4px' : '6px';
|
|
29755
|
+
}, function (props) {
|
|
29756
|
+
return props.isCompleted ? 1 : props.isInProgress ? 1 : 0.6;
|
|
29757
|
+
}, function (props) {
|
|
29758
|
+
return props.isNotStarted && "\n filter: grayscale(0.7);\n ";
|
|
29759
|
+
}, function (props) {
|
|
29760
|
+
return props.isInProgress && css(["animation:", " 2s ease-in-out infinite;"], pulseAnimation);
|
|
29761
|
+
}, function (props) {
|
|
29762
|
+
return props.isPinned ? 'rgba(255, 215, 0, 0.25)' : 'rgba(0, 0, 0, 0.7)';
|
|
29763
|
+
}, function (props) {
|
|
29764
|
+
return props.isPinned ? uiColors.yellow : props.isCompleted ? uiColors.green : props.isInProgress ? uiColors.yellow : uiColors.yellow;
|
|
29765
|
+
}, function (props) {
|
|
29766
|
+
return props.isNotStarted ? 0.8 : 1;
|
|
29767
|
+
});
|
|
29713
29768
|
var TaskHeader = /*#__PURE__*/styled.div.withConfig({
|
|
29714
29769
|
displayName: "DailyTaskItem__TaskHeader",
|
|
29715
29770
|
componentId: "sc-45bxmt-1"
|
|
29716
|
-
})(["display:flex;width:100%;justify-content:
|
|
29717
|
-
var
|
|
29718
|
-
displayName: "
|
|
29771
|
+
})(["display:flex;width:100%;justify-content:space-between;align-items:flex-start;border-bottom:1px solid ", ";padding-bottom:6px;min-height:36px;"], uiColors.darkGray);
|
|
29772
|
+
var TaskHeaderLeft = /*#__PURE__*/styled.div.withConfig({
|
|
29773
|
+
displayName: "DailyTaskItem__TaskHeaderLeft",
|
|
29719
29774
|
componentId: "sc-45bxmt-2"
|
|
29720
|
-
})(["
|
|
29721
|
-
var
|
|
29722
|
-
displayName: "
|
|
29775
|
+
})(["display:flex;align-items:flex-start;gap:8px;flex:1;"]);
|
|
29776
|
+
var TaskHeaderRight = /*#__PURE__*/styled.div.withConfig({
|
|
29777
|
+
displayName: "DailyTaskItem__TaskHeaderRight",
|
|
29723
29778
|
componentId: "sc-45bxmt-3"
|
|
29724
|
-
})(["display:flex;
|
|
29725
|
-
var
|
|
29726
|
-
displayName: "
|
|
29779
|
+
})(["display:flex;align-items:center;flex-shrink:0;"]);
|
|
29780
|
+
var TaskTitleSection = /*#__PURE__*/styled.div.withConfig({
|
|
29781
|
+
displayName: "DailyTaskItem__TaskTitleSection",
|
|
29727
29782
|
componentId: "sc-45bxmt-4"
|
|
29728
|
-
})(["
|
|
29729
|
-
var
|
|
29730
|
-
displayName: "
|
|
29783
|
+
})(["display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;"]);
|
|
29784
|
+
var TaskMeta = /*#__PURE__*/styled.div.withConfig({
|
|
29785
|
+
displayName: "DailyTaskItem__TaskMeta",
|
|
29731
29786
|
componentId: "sc-45bxmt-5"
|
|
29732
|
-
})(["
|
|
29733
|
-
|
|
29734
|
-
|
|
29787
|
+
})(["display:flex;align-items:center;gap:", ";flex-wrap:wrap;"], function (props) {
|
|
29788
|
+
return props.isMobile ? '6px' : '8px';
|
|
29789
|
+
});
|
|
29790
|
+
var MetaItem = /*#__PURE__*/styled.div.withConfig({
|
|
29791
|
+
displayName: "DailyTaskItem__MetaItem",
|
|
29735
29792
|
componentId: "sc-45bxmt-6"
|
|
29736
|
-
})(["
|
|
29737
|
-
var
|
|
29738
|
-
displayName: "
|
|
29793
|
+
})(["display:flex;align-items:center;gap:4px;"]);
|
|
29794
|
+
var MetaLabel = /*#__PURE__*/styled.span.withConfig({
|
|
29795
|
+
displayName: "DailyTaskItem__MetaLabel",
|
|
29739
29796
|
componentId: "sc-45bxmt-7"
|
|
29740
|
-
})(["
|
|
29797
|
+
})(["color:", ";font-size:0.65rem;opacity:0.8;"], uiColors.lightGray);
|
|
29798
|
+
var MetaDivider = /*#__PURE__*/styled.span.withConfig({
|
|
29799
|
+
displayName: "DailyTaskItem__MetaDivider",
|
|
29800
|
+
componentId: "sc-45bxmt-8"
|
|
29801
|
+
})(["color:", ";font-size:0.7rem;"], uiColors.darkGray);
|
|
29802
|
+
var TaskDifficulty = /*#__PURE__*/styled.span.withConfig({
|
|
29803
|
+
displayName: "DailyTaskItem__TaskDifficulty",
|
|
29804
|
+
componentId: "sc-45bxmt-9"
|
|
29805
|
+
})(["color:", ";font-size:0.65rem;font-weight:500;"], function (props) {
|
|
29806
|
+
return props.difficulty.toLowerCase() === 'challenge' ? uiColors.red : uiColors.lightGray;
|
|
29807
|
+
});
|
|
29808
|
+
var StatusText = /*#__PURE__*/styled.span.withConfig({
|
|
29809
|
+
displayName: "DailyTaskItem__StatusText",
|
|
29810
|
+
componentId: "sc-45bxmt-10"
|
|
29811
|
+
})(["color:", ";font-size:0.65rem;font-weight:500;"], function (props) {
|
|
29812
|
+
return props.color;
|
|
29813
|
+
});
|
|
29814
|
+
var ClaimedBadge = /*#__PURE__*/styled.div.withConfig({
|
|
29815
|
+
displayName: "DailyTaskItem__ClaimedBadge",
|
|
29816
|
+
componentId: "sc-45bxmt-11"
|
|
29817
|
+
})(["background:", ";color:white;border-radius:50%;width:", ";height:", ";display:flex;align-items:center;justify-content:center;font-size:", ";font-weight:bold;"], uiColors.green, function (props) {
|
|
29818
|
+
return props.isMobile ? '18px' : '20px';
|
|
29819
|
+
}, function (props) {
|
|
29820
|
+
return props.isMobile ? '18px' : '20px';
|
|
29821
|
+
}, function (props) {
|
|
29822
|
+
return props.isMobile ? '10px' : '12px';
|
|
29823
|
+
});
|
|
29824
|
+
var TaskBody = /*#__PURE__*/styled.div.withConfig({
|
|
29825
|
+
displayName: "DailyTaskItem__TaskBody",
|
|
29826
|
+
componentId: "sc-45bxmt-12"
|
|
29827
|
+
})(["display:flex;flex-direction:column;gap:8px;padding:6px 0;"]);
|
|
29828
|
+
var RewardsSection = /*#__PURE__*/styled.div.withConfig({
|
|
29829
|
+
displayName: "DailyTaskItem__RewardsSection",
|
|
29830
|
+
componentId: "sc-45bxmt-13"
|
|
29831
|
+
})(["margin-top:4px;"]);
|
|
29832
|
+
var TaskFooter = /*#__PURE__*/styled.div.withConfig({
|
|
29833
|
+
displayName: "DailyTaskItem__TaskFooter",
|
|
29834
|
+
componentId: "sc-45bxmt-14"
|
|
29835
|
+
})(["display:flex;justify-content:center;padding-top:6px;border-top:1px solid ", ";"], uiColors.darkGray);
|
|
29836
|
+
var IconWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
29837
|
+
displayName: "DailyTaskItem__IconWrapper",
|
|
29838
|
+
componentId: "sc-45bxmt-15"
|
|
29839
|
+
})(["pointer-events:none;user-select:none;flex-shrink:0;width:28px;height:28px;display:flex;align-items:flex-start;justify-content:flex-start;margin-top:2px;margin-left:2px;font-style:normal;*{font-style:normal !important;}"]);
|
|
29840
|
+
var TaskTitle = /*#__PURE__*/styled.h3.withConfig({
|
|
29841
|
+
displayName: "DailyTaskItem__TaskTitle",
|
|
29842
|
+
componentId: "sc-45bxmt-16"
|
|
29843
|
+
})(["&&{color:", ";margin:0;padding:0;text-align:left;font-size:", ";line-height:1.2;text-shadow:1px 1px 2px rgba(0,0,0,0.7);font-weight:600;word-wrap:break-word;overflow-wrap:break-word;span{color:inherit;}}"], uiColors.yellow, function (props) {
|
|
29844
|
+
return props.isMobile ? '0.85rem' : '0.9rem';
|
|
29845
|
+
});
|
|
29846
|
+
var TaskDescription = /*#__PURE__*/styled.div.withConfig({
|
|
29847
|
+
displayName: "DailyTaskItem__TaskDescription",
|
|
29848
|
+
componentId: "sc-45bxmt-17"
|
|
29849
|
+
})(["color:", ";font-size:", ";line-height:1.4;margin:0;opacity:0.9;word-wrap:break-word;overflow-wrap:break-word;"], uiColors.lightGray, function (props) {
|
|
29850
|
+
return props.isMobile ? '0.7rem' : '0.75rem';
|
|
29851
|
+
});
|
|
29741
29852
|
|
|
29742
29853
|
var GlobalDailyProgress = function GlobalDailyProgress(_ref) {
|
|
29743
29854
|
var tasks = _ref.tasks,
|
|
29744
29855
|
onClaimAllRewards = _ref.onClaimAllRewards,
|
|
29745
29856
|
globalRewardClaimed = _ref.globalRewardClaimed;
|
|
29857
|
+
var isMobile = isMobileOrTablet();
|
|
29746
29858
|
var totalTasks = tasks.length;
|
|
29747
29859
|
var completedTasks = tasks.filter(function (task) {
|
|
29748
29860
|
return task.status === TaskStatus.Completed;
|
|
@@ -29766,47 +29878,65 @@ var GlobalDailyProgress = function GlobalDailyProgress(_ref) {
|
|
|
29766
29878
|
tasks: taskIdentifiers
|
|
29767
29879
|
});
|
|
29768
29880
|
};
|
|
29769
|
-
return React.createElement(GlobalProgressContainer,
|
|
29881
|
+
return React.createElement(GlobalProgressContainer, {
|
|
29882
|
+
isMobile: isMobile
|
|
29883
|
+
}, React.createElement(HeaderContainer$1, null, React.createElement(GlobeIcon, null, "\uD83C\uDF0D"), React.createElement(ProgressText, {
|
|
29884
|
+
isMobile: isMobile
|
|
29885
|
+
}, isMobile ? completedTasks + "/" + totalTasks + " Complete" : "Global Tasks: " + completedTasks + "/" + totalTasks)), React.createElement(ProgressBar, null, React.createElement(ProgressFill, {
|
|
29770
29886
|
percentage: completedTasks / totalTasks * 100
|
|
29771
|
-
})), allCompleted && React.createElement(React.Fragment, null, shouldShowGlobalButton && React.createElement(CollectWrapper
|
|
29887
|
+
})), allCompleted && React.createElement(React.Fragment, null, shouldShowGlobalButton && React.createElement(CollectWrapper, null, React.createElement(Button, {
|
|
29772
29888
|
buttonType: ButtonTypes.RPGUIButton,
|
|
29773
29889
|
onPointerDown: handleClaimAll
|
|
29774
|
-
},
|
|
29890
|
+
}, isMobile ? 'Global Rewards' : 'Collect Global Rewards')), shouldShowClaimedMessage && React.createElement(ClaimedText, {
|
|
29891
|
+
isMobile: isMobile
|
|
29892
|
+
}, "\u2713 Global Rewards Claimed")));
|
|
29775
29893
|
};
|
|
29776
29894
|
var GlobalProgressContainer = /*#__PURE__*/styled.div.withConfig({
|
|
29777
29895
|
displayName: "GlobalDailyProgress__GlobalProgressContainer",
|
|
29778
29896
|
componentId: "sc-d7q4xm-0"
|
|
29779
|
-
})(["background:rgba(0,0,0,0.
|
|
29897
|
+
})(["background:rgba(0,0,0,0.6) !important;border:1px solid ", " !important;border-radius:", ";padding:", ";display:flex;flex-direction:column;gap:", ";box-shadow:0 1px 2px rgba(0,0,0,0.4);margin-bottom:", ";"], uiColors.blue, function (props) {
|
|
29898
|
+
return props.isMobile ? '4px' : '6px';
|
|
29899
|
+
}, function (props) {
|
|
29900
|
+
return props.isMobile ? '6px' : '8px';
|
|
29901
|
+
}, function (props) {
|
|
29902
|
+
return props.isMobile ? '6px' : '8px';
|
|
29903
|
+
}, function (props) {
|
|
29904
|
+
return props.isMobile ? '4px' : '6px';
|
|
29905
|
+
});
|
|
29780
29906
|
var HeaderContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
29781
29907
|
displayName: "GlobalDailyProgress__HeaderContainer",
|
|
29782
29908
|
componentId: "sc-d7q4xm-1"
|
|
29783
|
-
})(["display:flex;align-items:center;gap:
|
|
29909
|
+
})(["display:flex;align-items:center;gap:6px;margin-bottom:2px;"]);
|
|
29784
29910
|
var GlobeIcon = /*#__PURE__*/styled.span.withConfig({
|
|
29785
29911
|
displayName: "GlobalDailyProgress__GlobeIcon",
|
|
29786
29912
|
componentId: "sc-d7q4xm-2"
|
|
29787
|
-
})(["font-size:
|
|
29913
|
+
})(["font-size:1rem !important;line-height:1;color:", ";display:flex;align-items:center;justify-content:center;"], uiColors.blue);
|
|
29788
29914
|
var ProgressText = /*#__PURE__*/styled.div.withConfig({
|
|
29789
29915
|
displayName: "GlobalDailyProgress__ProgressText",
|
|
29790
29916
|
componentId: "sc-d7q4xm-3"
|
|
29791
|
-
})(["color:", ";
|
|
29917
|
+
})(["color:", ";font-size:", ";font-weight:500;flex:1;line-height:1.2;"], uiColors.white, function (props) {
|
|
29918
|
+
return props.isMobile ? '0.75rem' : '0.8rem';
|
|
29919
|
+
});
|
|
29792
29920
|
var ProgressBar = /*#__PURE__*/styled.div.withConfig({
|
|
29793
29921
|
displayName: "GlobalDailyProgress__ProgressBar",
|
|
29794
29922
|
componentId: "sc-d7q4xm-4"
|
|
29795
|
-
})(["width:100%;height:
|
|
29923
|
+
})(["width:100%;height:4px;background:", ";border-radius:2px;overflow:hidden;"], uiColors.darkGray);
|
|
29796
29924
|
var ProgressFill = /*#__PURE__*/styled.div.withConfig({
|
|
29797
29925
|
displayName: "GlobalDailyProgress__ProgressFill",
|
|
29798
29926
|
componentId: "sc-d7q4xm-5"
|
|
29799
29927
|
})(["width:", "%;height:100%;background:", ";transition:width 0.3s ease;"], function (props) {
|
|
29800
29928
|
return props.percentage;
|
|
29801
29929
|
}, uiColors.green);
|
|
29802
|
-
var ClaimedText
|
|
29930
|
+
var ClaimedText = /*#__PURE__*/styled.span.withConfig({
|
|
29803
29931
|
displayName: "GlobalDailyProgress__ClaimedText",
|
|
29804
29932
|
componentId: "sc-d7q4xm-6"
|
|
29805
|
-
})(["color:", ";font-size:
|
|
29806
|
-
|
|
29933
|
+
})(["color:", ";font-size:", ";text-align:center;font-weight:bold;display:flex;align-items:center;justify-content:center;gap:4px;"], uiColors.green, function (props) {
|
|
29934
|
+
return props.isMobile ? '0.8rem' : '0.9rem';
|
|
29935
|
+
});
|
|
29936
|
+
var CollectWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
29807
29937
|
displayName: "GlobalDailyProgress__CollectWrapper",
|
|
29808
29938
|
componentId: "sc-d7q4xm-7"
|
|
29809
|
-
})(["&&{width:100% !important;display:flex !important;justify-content:center !important;align-items:center !important;margin:
|
|
29939
|
+
})(["&&{width:100% !important;display:flex !important;justify-content:center !important;align-items:center !important;margin:4px 0 !important;}"]);
|
|
29810
29940
|
|
|
29811
29941
|
var DailyTasks = function DailyTasks(_ref) {
|
|
29812
29942
|
var tasks = _ref.tasks,
|
|
@@ -29823,13 +29953,23 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29823
29953
|
globalRewardClaimed = _ref$globalRewardClai === void 0 ? false : _ref$globalRewardClai;
|
|
29824
29954
|
var _React$useState = React.useState(tasks),
|
|
29825
29955
|
localTasks = _React$useState[0];
|
|
29826
|
-
var
|
|
29956
|
+
var isMobile = isMobileOrTablet();
|
|
29827
29957
|
var _useState = useState([]),
|
|
29828
29958
|
claimedTasks = _useState[0],
|
|
29829
29959
|
setClaimedTasks = _useState[1];
|
|
29830
29960
|
var _useState2 = useState(false),
|
|
29831
29961
|
globalRewardClaimedLocal = _useState2[0],
|
|
29832
29962
|
setGlobalRewardClaimedLocal = _useState2[1];
|
|
29963
|
+
// Search and filter state
|
|
29964
|
+
var _useState3 = useState(''),
|
|
29965
|
+
searchQuery = _useState3[0],
|
|
29966
|
+
setSearchQuery = _useState3[1];
|
|
29967
|
+
var _useState4 = useState('all'),
|
|
29968
|
+
selectedStatus = _useState4[0],
|
|
29969
|
+
setSelectedStatus = _useState4[1];
|
|
29970
|
+
var _useLocalStorage = useLocalStorage('dailyTasks.pinned', []),
|
|
29971
|
+
pinnedTasks = _useLocalStorage[0],
|
|
29972
|
+
setPinnedTasks = _useLocalStorage[1];
|
|
29833
29973
|
var handleClaimReward = function handleClaimReward(taskKey, taskType) {
|
|
29834
29974
|
onClaimReward({
|
|
29835
29975
|
taskKey: taskKey,
|
|
@@ -29846,23 +29986,83 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29846
29986
|
var isTaskRewardClaimed = function isTaskRewardClaimed(taskKey) {
|
|
29847
29987
|
return claimedTasks.includes(taskKey);
|
|
29848
29988
|
};
|
|
29849
|
-
|
|
29989
|
+
var togglePinTask = function togglePinTask(taskKey) {
|
|
29990
|
+
setPinnedTasks(function (prev) {
|
|
29991
|
+
return prev.includes(taskKey) ? prev.filter(function (key) {
|
|
29992
|
+
return key !== taskKey;
|
|
29993
|
+
}) : [].concat(prev, [taskKey]);
|
|
29994
|
+
});
|
|
29995
|
+
};
|
|
29996
|
+
// Filter options using Store pattern
|
|
29997
|
+
var statusOptions = [{
|
|
29998
|
+
id: 0,
|
|
29999
|
+
value: 'all',
|
|
30000
|
+
option: 'All'
|
|
30001
|
+
}, {
|
|
30002
|
+
id: 1,
|
|
30003
|
+
value: 'pinned',
|
|
30004
|
+
option: 'Pinned'
|
|
30005
|
+
}, {
|
|
30006
|
+
id: 2,
|
|
30007
|
+
value: 'completed',
|
|
30008
|
+
option: 'Completed'
|
|
30009
|
+
}, {
|
|
30010
|
+
id: 3,
|
|
30011
|
+
value: 'inprogress',
|
|
30012
|
+
option: 'In Progress'
|
|
30013
|
+
}, {
|
|
30014
|
+
id: 4,
|
|
30015
|
+
value: 'notstarted',
|
|
30016
|
+
option: 'Not Started'
|
|
30017
|
+
}];
|
|
30018
|
+
// Filtered tasks using InformationCenter pattern
|
|
30019
|
+
var filteredTasks = useMemo(function () {
|
|
30020
|
+
var filtered = localTasks.filter(function (task) {
|
|
30021
|
+
var _task$name, _task$description;
|
|
30022
|
+
var matchesSearch = ((_task$name = task.name) == null ? void 0 : _task$name.toLowerCase().includes(searchQuery.toLowerCase())) || ((_task$description = task.description) == null ? void 0 : _task$description.toLowerCase().includes(searchQuery.toLowerCase())) || task.key.toLowerCase().includes(searchQuery.toLowerCase());
|
|
30023
|
+
var matchesStatus = selectedStatus === 'all' || selectedStatus === 'pinned' && pinnedTasks.includes(task.key) || selectedStatus === 'completed' && task.status === TaskStatus.Completed || selectedStatus === 'inprogress' && task.status === TaskStatus.InProgress || selectedStatus === 'notstarted' && task.status === TaskStatus.NotStarted;
|
|
30024
|
+
return matchesSearch && matchesStatus;
|
|
30025
|
+
});
|
|
30026
|
+
// Sort with pinned tasks first
|
|
30027
|
+
return filtered.sort(function (a, b) {
|
|
30028
|
+
var aIsPinned = pinnedTasks.includes(a.key);
|
|
30029
|
+
var bIsPinned = pinnedTasks.includes(b.key);
|
|
30030
|
+
if (aIsPinned && !bIsPinned) return -1;
|
|
30031
|
+
if (!aIsPinned && bIsPinned) return 1;
|
|
30032
|
+
return 0;
|
|
30033
|
+
});
|
|
30034
|
+
}, [localTasks, searchQuery, selectedStatus, pinnedTasks]);
|
|
29850
30035
|
return React.createElement(TasksContainer, {
|
|
29851
30036
|
type: RPGUIContainerTypes.Framed,
|
|
29852
30037
|
onCloseButton: onClose,
|
|
29853
30038
|
cancelDrag: ".tasks-container",
|
|
29854
30039
|
scale: scale,
|
|
29855
|
-
width:
|
|
29856
|
-
height:
|
|
29857
|
-
|
|
29858
|
-
|
|
29859
|
-
|
|
30040
|
+
width: isMobile ? '100vw' : 'max(50vw, 900px)',
|
|
30041
|
+
height: isMobile ? '100vh' : 'min(85vh, 800px)',
|
|
30042
|
+
isMobile: isMobile
|
|
30043
|
+
}, React.createElement(TaskTitle$1, {
|
|
30044
|
+
isMobile: isMobile
|
|
30045
|
+
}, "Daily Tasks"), React.createElement(Container$i, {
|
|
30046
|
+
isMobile: isMobile
|
|
30047
|
+
}, React.createElement(GlobalProgressFixed, null, React.createElement(GlobalDailyProgress, {
|
|
29860
30048
|
tasks: localTasks,
|
|
29861
30049
|
onClaimAllRewards: handleClaimGlobalRewards,
|
|
29862
30050
|
globalRewardClaimed: globalRewardClaimed || globalRewardClaimedLocal
|
|
29863
|
-
}),
|
|
29864
|
-
|
|
29865
|
-
|
|
30051
|
+
})), React.createElement(SearchHeader, null, React.createElement(SearchBarContainer, null, React.createElement(SearchBar, {
|
|
30052
|
+
value: searchQuery,
|
|
30053
|
+
onChange: setSearchQuery,
|
|
30054
|
+
placeholder: "Search tasks..."
|
|
30055
|
+
})), React.createElement(DropdownContainer, null, React.createElement(Dropdown, {
|
|
30056
|
+
options: statusOptions,
|
|
30057
|
+
onChange: setSelectedStatus,
|
|
30058
|
+
width: "100%"
|
|
30059
|
+
}))), React.createElement(TasksList, {
|
|
30060
|
+
className: "tasks-container",
|
|
30061
|
+
isMobile: isMobile
|
|
30062
|
+
}, filteredTasks.length > 0 ? filteredTasks.map(function (task) {
|
|
30063
|
+
return React.createElement(TaskWrapper, {
|
|
30064
|
+
key: task.key
|
|
30065
|
+
}, React.createElement(DailyTaskItem, {
|
|
29866
30066
|
task: task,
|
|
29867
30067
|
spriteKey: getTaskIcon(task.type, task.difficulty),
|
|
29868
30068
|
onClaimReward: handleClaimReward,
|
|
@@ -29870,26 +30070,86 @@ var DailyTasks = function DailyTasks(_ref) {
|
|
|
29870
30070
|
itemsAtlasIMG: itemsAtlasIMG,
|
|
29871
30071
|
iconAtlasJSON: iconAtlasJSON,
|
|
29872
30072
|
iconAtlasIMG: iconAtlasIMG,
|
|
29873
|
-
isRewardClaimed: task.claimed || isTaskRewardClaimed(task.key)
|
|
29874
|
-
|
|
29875
|
-
|
|
30073
|
+
isRewardClaimed: task.claimed || isTaskRewardClaimed(task.key),
|
|
30074
|
+
isPinned: pinnedTasks.includes(task.key)
|
|
30075
|
+
}), React.createElement(PinButton$1, {
|
|
30076
|
+
onClick: function onClick() {
|
|
30077
|
+
return togglePinTask(task.key);
|
|
30078
|
+
},
|
|
30079
|
+
isPinned: pinnedTasks.includes(task.key)
|
|
30080
|
+
}, React.createElement(FaThumbtack, {
|
|
30081
|
+
size: 10
|
|
30082
|
+
})));
|
|
30083
|
+
}) : React.createElement(EmptyState$1, null, React.createElement(FaClipboardList, {
|
|
30084
|
+
size: 48
|
|
30085
|
+
}), React.createElement("p", null, searchQuery || selectedStatus !== 'all' ? 'No tasks match your criteria.' : 'No daily tasks available.')))));
|
|
29876
30086
|
};
|
|
29877
30087
|
var TasksContainer = /*#__PURE__*/styled(DraggableContainer).withConfig({
|
|
29878
30088
|
displayName: "DailyTasks__TasksContainer",
|
|
29879
30089
|
componentId: "sc-ittn77-0"
|
|
29880
|
-
})(["
|
|
29881
|
-
|
|
30090
|
+
})(["", " .rpgui-container-title{width:100%;display:flex;justify-content:center;align-items:center;text-align:center;", "}.rpgui-container{padding:0 !important;overflow:hidden !important;background-color:rgba(30,30,30,0.98) !important;", "}"], function (props) {
|
|
30091
|
+
return props.isMobile ? "\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n width: 100vw !important;\n height: 100vh !important;\n margin: 0 !important;\n z-index: 1000 !important;\n " : "\n margin: 0 auto;\n min-width: 50vw;\n ";
|
|
30092
|
+
}, function (props) {
|
|
30093
|
+
return props.isMobile ? 'padding: 8px 0;' : '';
|
|
30094
|
+
}, function (props) {
|
|
30095
|
+
return props.isMobile ? "\n border-radius: 0 !important;\n height: 100vh !important;\n width: 100vw !important;\n " : '';
|
|
30096
|
+
});
|
|
30097
|
+
var Container$i = /*#__PURE__*/styled.div.withConfig({
|
|
29882
30098
|
displayName: "DailyTasks__Container",
|
|
29883
30099
|
componentId: "sc-ittn77-1"
|
|
29884
|
-
})(["width:100%;
|
|
30100
|
+
})(["width:100%;height:100%;margin:0;padding:0;overflow:hidden;box-sizing:border-box;background-color:transparent;display:flex;flex-direction:column;"]);
|
|
29885
30101
|
var TasksList = /*#__PURE__*/styled.div.withConfig({
|
|
29886
30102
|
displayName: "DailyTasks__TasksList",
|
|
29887
30103
|
componentId: "sc-ittn77-2"
|
|
29888
|
-
})(["display:flex;flex-direction:column;gap:
|
|
30104
|
+
})(["display:flex;flex-direction:column;gap:", ";padding:", ";overflow-y:auto;flex:1;background-color:transparent;", ""], function (props) {
|
|
30105
|
+
return props.isMobile ? '8px' : '12px';
|
|
30106
|
+
}, function (props) {
|
|
30107
|
+
return props.isMobile ? '8px' : '12px';
|
|
30108
|
+
}, function (props) {
|
|
30109
|
+
return props.isMobile ? "\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n " : '';
|
|
30110
|
+
});
|
|
30111
|
+
var GlobalProgressFixed = /*#__PURE__*/styled.div.withConfig({
|
|
30112
|
+
displayName: "DailyTasks__GlobalProgressFixed",
|
|
30113
|
+
componentId: "sc-ittn77-3"
|
|
30114
|
+
})(["flex-shrink:0;padding:8px 12px;background-color:transparent;"]);
|
|
30115
|
+
var SearchHeader = /*#__PURE__*/styled.div.withConfig({
|
|
30116
|
+
displayName: "DailyTasks__SearchHeader",
|
|
30117
|
+
componentId: "sc-ittn77-4"
|
|
30118
|
+
})(["display:flex;gap:12px;padding:12px 12px 8px 12px;border-bottom:1px solid ", ";background:rgba(0,0,0,0.3);"], uiColors.darkGray);
|
|
30119
|
+
var SearchBarContainer = /*#__PURE__*/styled.div.withConfig({
|
|
30120
|
+
displayName: "DailyTasks__SearchBarContainer",
|
|
30121
|
+
componentId: "sc-ittn77-5"
|
|
30122
|
+
})(["flex:3;"]);
|
|
30123
|
+
var DropdownContainer = /*#__PURE__*/styled.div.withConfig({
|
|
30124
|
+
displayName: "DailyTasks__DropdownContainer",
|
|
30125
|
+
componentId: "sc-ittn77-6"
|
|
30126
|
+
})(["flex:1;min-width:120px;"]);
|
|
30127
|
+
var TaskWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
30128
|
+
displayName: "DailyTasks__TaskWrapper",
|
|
30129
|
+
componentId: "sc-ittn77-7"
|
|
30130
|
+
})(["position:relative;width:100%;"]);
|
|
30131
|
+
var PinButton$1 = /*#__PURE__*/styled.button.withConfig({
|
|
30132
|
+
displayName: "DailyTasks__PinButton",
|
|
30133
|
+
componentId: "sc-ittn77-8"
|
|
30134
|
+
})(["position:absolute;top:8px;right:8px;background:rgba(0,0,0,0.7);color:", ";border:1px solid ", ";cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all 0.2s ease;z-index:10;width:20px;height:20px;&:hover{color:", ";background:rgba(0,0,0,0.9);border-color:", ";}", ""], function (props) {
|
|
30135
|
+
return props.isPinned ? uiColors.yellow : uiColors.lightGray;
|
|
30136
|
+
}, function (props) {
|
|
30137
|
+
return props.isPinned ? uiColors.yellow : 'transparent';
|
|
30138
|
+
}, uiColors.yellow, uiColors.yellow, function (props) {
|
|
30139
|
+
return props.isPinned && "\n transform: rotate(45deg);\n ";
|
|
30140
|
+
});
|
|
30141
|
+
var EmptyState$1 = /*#__PURE__*/styled.div.withConfig({
|
|
30142
|
+
displayName: "DailyTasks__EmptyState",
|
|
30143
|
+
componentId: "sc-ittn77-9"
|
|
30144
|
+
})(["display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:", ";opacity:0.7;gap:16px;p{margin:0;font-size:0.9rem;line-height:1.4;}"], uiColors.lightGray);
|
|
29889
30145
|
var TaskTitle$1 = /*#__PURE__*/styled.h2.withConfig({
|
|
29890
30146
|
displayName: "DailyTasks__TaskTitle",
|
|
29891
|
-
componentId: "sc-ittn77-
|
|
29892
|
-
})(["color:", " !important;text-align:center;padding-right:30px !important;font-size:
|
|
30147
|
+
componentId: "sc-ittn77-10"
|
|
30148
|
+
})(["color:", " !important;text-align:center;padding-right:30px !important;font-size:", " !important;width:100%;margin:", " !important;font-weight:600;"], uiColors.yellow, function (props) {
|
|
30149
|
+
return props.isMobile ? '1rem' : '1.2rem';
|
|
30150
|
+
}, function (props) {
|
|
30151
|
+
return props.isMobile ? '4px 0' : '8px 0';
|
|
30152
|
+
});
|
|
29893
30153
|
|
|
29894
30154
|
// Memoize the styled components since they don't depend on props that change frequently
|
|
29895
30155
|
var DPadButton = /*#__PURE__*/memo( /*#__PURE__*/styled.div.withConfig({
|
|
@@ -30250,7 +30510,7 @@ var DraggedItem = function DraggedItem(_ref) {
|
|
|
30250
30510
|
var centeredX = x - OFFSET$1;
|
|
30251
30511
|
var centeredY = y - OFFSET$1;
|
|
30252
30512
|
var stackInfo = onRenderStackInfo((_item$_id = item == null ? void 0 : item._id) != null ? _item$_id : '', (_item$stackQty = item == null ? void 0 : item.stackQty) != null ? _item$stackQty : 0);
|
|
30253
|
-
return React.createElement(Container$
|
|
30513
|
+
return React.createElement(Container$j, null, React.createElement(SpriteContainer, {
|
|
30254
30514
|
x: centeredX,
|
|
30255
30515
|
y: centeredY
|
|
30256
30516
|
}, React.createElement(SpriteFromAtlas, {
|
|
@@ -30268,7 +30528,7 @@ var DraggedItem = function DraggedItem(_ref) {
|
|
|
30268
30528
|
}), stackInfo));
|
|
30269
30529
|
};
|
|
30270
30530
|
var pulse = "\n @keyframes pulse {\n 0%, 100% {\n transform: scale(1) rotate(-3deg);\n }\n 50% {\n transform: scale(0.95) rotate(-3deg);\n }\n }\n";
|
|
30271
|
-
var Container$
|
|
30531
|
+
var Container$j = /*#__PURE__*/styled.div.withConfig({
|
|
30272
30532
|
displayName: "DraggedItem__Container",
|
|
30273
30533
|
componentId: "sc-mlzzcp-0"
|
|
30274
30534
|
})(["position:relative;"]);
|
|
@@ -30306,7 +30566,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
|
|
|
30306
30566
|
document.removeEventListener('clickOutside', function (_e) {});
|
|
30307
30567
|
};
|
|
30308
30568
|
}, []);
|
|
30309
|
-
return React.createElement(ModalPortal, null, React.createElement(Container$
|
|
30569
|
+
return React.createElement(ModalPortal, null, React.createElement(Container$k, Object.assign({
|
|
30310
30570
|
fontSize: fontSize,
|
|
30311
30571
|
ref: ref
|
|
30312
30572
|
}, pos), React.createElement("ul", {
|
|
@@ -30323,7 +30583,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
|
|
|
30323
30583
|
}, (params == null ? void 0 : params.text) || 'No text');
|
|
30324
30584
|
}))));
|
|
30325
30585
|
};
|
|
30326
|
-
var Container$
|
|
30586
|
+
var Container$k = /*#__PURE__*/styled.div.withConfig({
|
|
30327
30587
|
displayName: "RelativeListMenu__Container",
|
|
30328
30588
|
componentId: "sc-7hohf-0"
|
|
30329
30589
|
})(["position:absolute;top:", "px;left:", "px;display:flex;flex-direction:column;width:max-content;justify-content:start;align-items:flex-start;li{font-size:", "em;}"], function (props) {
|
|
@@ -30597,7 +30857,7 @@ var SearchFriend = function SearchFriend(_ref) {
|
|
|
30597
30857
|
title: "Requests (" + friendRequests.length + ")",
|
|
30598
30858
|
content: requestsTabContent
|
|
30599
30859
|
}];
|
|
30600
|
-
return React.createElement(Container$
|
|
30860
|
+
return React.createElement(Container$l, null, React.createElement(InternalTabs, {
|
|
30601
30861
|
tabs: tabs,
|
|
30602
30862
|
activeTextColor: "#000",
|
|
30603
30863
|
inactiveColor: "#777",
|
|
@@ -30639,7 +30899,7 @@ var FriendRequestSection = function FriendRequestSection(_ref3) {
|
|
|
30639
30899
|
}, "Reject")));
|
|
30640
30900
|
})));
|
|
30641
30901
|
};
|
|
30642
|
-
var Container$
|
|
30902
|
+
var Container$l = /*#__PURE__*/styled.div.withConfig({
|
|
30643
30903
|
displayName: "SearchFriend__Container",
|
|
30644
30904
|
componentId: "sc-1lt1ols-0"
|
|
30645
30905
|
})(["display:flex;flex-direction:column;gap:1rem;"]);
|
|
@@ -30842,7 +31102,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
|
|
|
30842
31102
|
var _useState2 = useState(false),
|
|
30843
31103
|
showGoNextIndicator = _useState2[0],
|
|
30844
31104
|
setShowGoNextIndicator = _useState2[1];
|
|
30845
|
-
return React.createElement(Container$
|
|
31105
|
+
return React.createElement(Container$m, null, React.createElement(DynamicText, {
|
|
30846
31106
|
text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
|
|
30847
31107
|
onFinish: function onFinish() {
|
|
30848
31108
|
setShowGoNextIndicator(true);
|
|
@@ -30860,7 +31120,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
|
|
|
30860
31120
|
}
|
|
30861
31121
|
}));
|
|
30862
31122
|
};
|
|
30863
|
-
var Container$
|
|
31123
|
+
var Container$m = /*#__PURE__*/styled.div.withConfig({
|
|
30864
31124
|
displayName: "NPCDialogText__Container",
|
|
30865
31125
|
componentId: "sc-1cxkdh9-0"
|
|
30866
31126
|
})([""]);
|
|
@@ -31012,7 +31272,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
|
|
|
31012
31272
|
return null;
|
|
31013
31273
|
});
|
|
31014
31274
|
};
|
|
31015
|
-
return React.createElement(Container$
|
|
31275
|
+
return React.createElement(Container$n, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
|
|
31016
31276
|
text: currentQuestion.text,
|
|
31017
31277
|
onStart: function onStart() {
|
|
31018
31278
|
return setCanShowAnswers(false);
|
|
@@ -31022,7 +31282,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
|
|
|
31022
31282
|
}
|
|
31023
31283
|
})), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
|
|
31024
31284
|
};
|
|
31025
|
-
var Container$
|
|
31285
|
+
var Container$n = /*#__PURE__*/styled.div.withConfig({
|
|
31026
31286
|
displayName: "QuestionDialog__Container",
|
|
31027
31287
|
componentId: "sc-bxc5u0-0"
|
|
31028
31288
|
})(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
|
|
@@ -31083,7 +31343,7 @@ var NPCDialog = function NPCDialog(_ref) {
|
|
|
31083
31343
|
}
|
|
31084
31344
|
})), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
|
|
31085
31345
|
src: imagePath || img$7
|
|
31086
|
-
}))) : React.createElement(React.Fragment, null, React.createElement(Container$
|
|
31346
|
+
}))) : React.createElement(React.Fragment, null, React.createElement(Container$o, null, React.createElement(CloseIcon, {
|
|
31087
31347
|
onPointerDown: _onClose
|
|
31088
31348
|
}, "X"), React.createElement(TextContainer$1, {
|
|
31089
31349
|
flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
|
|
@@ -31099,7 +31359,7 @@ var NPCDialog = function NPCDialog(_ref) {
|
|
|
31099
31359
|
src: imagePath || img$7
|
|
31100
31360
|
})))));
|
|
31101
31361
|
};
|
|
31102
|
-
var Container$
|
|
31362
|
+
var Container$o = /*#__PURE__*/styled.div.withConfig({
|
|
31103
31363
|
displayName: "NPCDialog__Container",
|
|
31104
31364
|
componentId: "sc-1b4aw74-0"
|
|
31105
31365
|
})(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
|
|
@@ -31160,7 +31420,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
|
|
|
31160
31420
|
type: RPGUIContainerTypes.FramedGold,
|
|
31161
31421
|
width: '50%',
|
|
31162
31422
|
height: '180px'
|
|
31163
|
-
}, React.createElement(React.Fragment, null, React.createElement(Container$
|
|
31423
|
+
}, React.createElement(React.Fragment, null, React.createElement(Container$p, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
|
|
31164
31424
|
flex: '70%'
|
|
31165
31425
|
}, React.createElement(NPCDialogText, {
|
|
31166
31426
|
onStartStep: function onStartStep() {
|
|
@@ -31202,7 +31462,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
|
|
|
31202
31462
|
src: img$6
|
|
31203
31463
|
}))), ")"));
|
|
31204
31464
|
};
|
|
31205
|
-
var Container$
|
|
31465
|
+
var Container$p = /*#__PURE__*/styled.div.withConfig({
|
|
31206
31466
|
displayName: "NPCMultiDialog__Container",
|
|
31207
31467
|
componentId: "sc-rvu5wg-0"
|
|
31208
31468
|
})(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
|
|
@@ -31634,7 +31894,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
31634
31894
|
totalPages = _ref.totalPages,
|
|
31635
31895
|
onPageChange = _ref.onPageChange,
|
|
31636
31896
|
className = _ref.className;
|
|
31637
|
-
return React.createElement(Container$
|
|
31897
|
+
return React.createElement(Container$q, {
|
|
31638
31898
|
className: className
|
|
31639
31899
|
}, React.createElement(PaginationButton$1, {
|
|
31640
31900
|
onClick: function onClick() {
|
|
@@ -31652,7 +31912,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
31652
31912
|
size: 12
|
|
31653
31913
|
})));
|
|
31654
31914
|
};
|
|
31655
|
-
var Container$
|
|
31915
|
+
var Container$q = /*#__PURE__*/styled.div.withConfig({
|
|
31656
31916
|
displayName: "Pagination__Container",
|
|
31657
31917
|
componentId: "sc-3k4m4u-0"
|
|
31658
31918
|
})(["display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;"]);
|
|
@@ -31671,46 +31931,7 @@ var PageInfo$1 = /*#__PURE__*/styled.div.withConfig({
|
|
|
31671
31931
|
componentId: "sc-3k4m4u-2"
|
|
31672
31932
|
})(["color:", ";font-size:0.8rem;font-family:'Press Start 2P',cursive;"], uiColors.lightGray);
|
|
31673
31933
|
|
|
31674
|
-
var
|
|
31675
|
-
var value = _ref.value,
|
|
31676
|
-
_onChange = _ref.onChange,
|
|
31677
|
-
placeholder = _ref.placeholder,
|
|
31678
|
-
className = _ref.className,
|
|
31679
|
-
rightElement = _ref.rightElement;
|
|
31680
|
-
var hasRightElement = Boolean(rightElement);
|
|
31681
|
-
return React.createElement(Container$q, {
|
|
31682
|
-
className: className
|
|
31683
|
-
}, React.createElement(Input$1, {
|
|
31684
|
-
type: "text",
|
|
31685
|
-
value: value,
|
|
31686
|
-
onChange: function onChange(e) {
|
|
31687
|
-
return _onChange(e.target.value);
|
|
31688
|
-
},
|
|
31689
|
-
placeholder: placeholder,
|
|
31690
|
-
className: "rpgui-input",
|
|
31691
|
-
"$hasRightElement": hasRightElement
|
|
31692
|
-
}), React.createElement(IconContainer, null, React.createElement(SearchIcon, null), rightElement));
|
|
31693
|
-
};
|
|
31694
|
-
var Container$q = /*#__PURE__*/styled.div.withConfig({
|
|
31695
|
-
displayName: "SearchBar__Container",
|
|
31696
|
-
componentId: "sc-13n8z02-0"
|
|
31697
|
-
})(["position:relative;width:100%;"]);
|
|
31698
|
-
var Input$1 = /*#__PURE__*/styled.input.withConfig({
|
|
31699
|
-
displayName: "SearchBar__Input",
|
|
31700
|
-
componentId: "sc-13n8z02-1"
|
|
31701
|
-
})(["width:100%;padding-right:", " !important;background:rgba(0,0,0,0.2) !important;border:2px solid #f59e0b !important;box-shadow:0 0 10px rgba(245,158,11,0.3);color:#ffffff !important;font-family:'Press Start 2P',cursive !important;font-size:0.875rem !important;&::placeholder{color:rgba(255,255,255,0.5) !important;}"], function (props) {
|
|
31702
|
-
return props.$hasRightElement ? '6rem' : '2.5rem';
|
|
31703
|
-
});
|
|
31704
|
-
var IconContainer = /*#__PURE__*/styled.div.withConfig({
|
|
31705
|
-
displayName: "SearchBar__IconContainer",
|
|
31706
|
-
componentId: "sc-13n8z02-2"
|
|
31707
|
-
})(["position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:0.5rem;pointer-events:none;z-index:1;> *{pointer-events:auto;}"]);
|
|
31708
|
-
var SearchIcon = /*#__PURE__*/styled(FaSearch).withConfig({
|
|
31709
|
-
displayName: "SearchBar__SearchIcon",
|
|
31710
|
-
componentId: "sc-13n8z02-3"
|
|
31711
|
-
})(["font-size:1rem;color:#f59e0b;filter:drop-shadow(0 0 2px rgba(245,158,11,0.3));"]);
|
|
31712
|
-
|
|
31713
|
-
var SearchHeader = function SearchHeader(_ref) {
|
|
31934
|
+
var SearchHeader$1 = function SearchHeader(_ref) {
|
|
31714
31935
|
var searchOptions = _ref.searchOptions,
|
|
31715
31936
|
filterOptions = _ref.filterOptions,
|
|
31716
31937
|
className = _ref.className;
|
|
@@ -31801,7 +32022,7 @@ var PaginatedContent = function PaginatedContent(_ref) {
|
|
|
31801
32022
|
totalPages = _usePagination.totalPages;
|
|
31802
32023
|
return React.createElement(Container$r, {
|
|
31803
32024
|
className: className
|
|
31804
|
-
}, (searchOptions || filterOptions) && React.createElement(SearchHeader, {
|
|
32025
|
+
}, (searchOptions || filterOptions) && React.createElement(SearchHeader$1, {
|
|
31805
32026
|
searchOptions: searchOptions,
|
|
31806
32027
|
filterOptions: filterOptions
|
|
31807
32028
|
}), items.length === 0 ? React.createElement(EmptyMessage, null, emptyMessage) : React.createElement(React.Fragment, null, React.createElement(Content, {
|
|
@@ -36587,7 +36808,7 @@ var SocialModal = function SocialModal(_ref) {
|
|
|
36587
36808
|
onClick: handleRedditClick
|
|
36588
36809
|
}, React.createElement(FaReddit, null), " Reddit")), React.createElement(Divider, {
|
|
36589
36810
|
margin: "8px 0"
|
|
36590
|
-
}), React.createElement(DropdownContainer, null, React.createElement(Dropdown, {
|
|
36811
|
+
}), React.createElement(DropdownContainer$1, null, React.createElement(Dropdown, {
|
|
36591
36812
|
options: whatsAppGroups,
|
|
36592
36813
|
onChange: handleLanguageChange,
|
|
36593
36814
|
width: "100%",
|
|
@@ -36620,7 +36841,7 @@ var WhatsAppButton = /*#__PURE__*/styled(SocialButton$1).withConfig({
|
|
|
36620
36841
|
displayName: "SocialModal__WhatsAppButton",
|
|
36621
36842
|
componentId: "sc-tbjhp9-5"
|
|
36622
36843
|
})(["width:100%;background-color:#0f1f0f;border:1px solid #1a2f1a;padding:14px;&:hover{background-color:#162716;}margin-top:8px;"]);
|
|
36623
|
-
var DropdownContainer = /*#__PURE__*/styled.div.withConfig({
|
|
36844
|
+
var DropdownContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
36624
36845
|
displayName: "SocialModal__DropdownContainer",
|
|
36625
36846
|
componentId: "sc-tbjhp9-6"
|
|
36626
36847
|
})(["background-color:rgba(0,0,0,0.2);padding:8px;border-radius:4px;border:1px solid rgba(0,0,0,0.3);"]);
|
|
@@ -57392,7 +57613,7 @@ var CTAButton = function CTAButton(_ref) {
|
|
|
57392
57613
|
"$fullWidth": fullWidth,
|
|
57393
57614
|
"$disabled": disabled,
|
|
57394
57615
|
"$color": textColor
|
|
57395
|
-
}, React.createElement(ButtonContent, null, React.createElement(IconWrapper, {
|
|
57616
|
+
}, React.createElement(ButtonContent, null, React.createElement(IconWrapper$1, {
|
|
57396
57617
|
"$color": iconColor,
|
|
57397
57618
|
"$disabled": disabled
|
|
57398
57619
|
}, icon), label && React.createElement(ButtonLabel, {
|
|
@@ -57426,7 +57647,7 @@ var ButtonContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
57426
57647
|
displayName: "CTAButton__ButtonContent",
|
|
57427
57648
|
componentId: "sc-1azvwn5-1"
|
|
57428
57649
|
})(["display:flex;align-items:center;gap:0.75rem;"]);
|
|
57429
|
-
var IconWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
57650
|
+
var IconWrapper$1 = /*#__PURE__*/styled.div.withConfig({
|
|
57430
57651
|
displayName: "CTAButton__IconWrapper",
|
|
57431
57652
|
componentId: "sc-1azvwn5-2"
|
|
57432
57653
|
})(["svg{font-size:1.25rem;color:", ";filter:drop-shadow(0 0 2px rgba(245,158,11,0.5));opacity:", ";}"], function (props) {
|
|
@@ -57963,25 +58184,13 @@ var EmptyMessage$1 = /*#__PURE__*/styled.div.withConfig({
|
|
|
57963
58184
|
componentId: "sc-xhh2um-8"
|
|
57964
58185
|
})(["text-align:center;color:#9ca3af;padding:2rem;flex:1;display:flex;align-items:center;justify-content:center;"]);
|
|
57965
58186
|
|
|
57966
|
-
var
|
|
57967
|
-
var _item$metadataConfig, _item$metadataConfig2, _item$metadataConfig3, _item$requiredAccount;
|
|
57968
|
-
var item = _ref.item,
|
|
57969
|
-
atlasJSON = _ref.atlasJSON,
|
|
57970
|
-
atlasIMG = _ref.atlasIMG,
|
|
57971
|
-
onAddToCart = _ref.onAddToCart,
|
|
57972
|
-
userAccountType = _ref.userAccountType;
|
|
58187
|
+
var useCharacterSkinNavigation = function useCharacterSkinNavigation(availableCharacters, itemKey) {
|
|
57973
58188
|
var _useState = useState(0),
|
|
57974
58189
|
currentIndex = _useState[0],
|
|
57975
58190
|
setCurrentIndex = _useState[1];
|
|
57976
|
-
// Get available characters from metadata
|
|
57977
|
-
var availableCharacters = item.metadataType === MetadataType.CharacterSkin && ((_item$metadataConfig = item.metadataConfig) == null ? void 0 : _item$metadataConfig.availableCharacters) || [];
|
|
57978
|
-
// Get the active character entity atlas info
|
|
57979
|
-
var entityAtlasJSON = (_item$metadataConfig2 = item.metadataConfig) == null ? void 0 : _item$metadataConfig2.atlasJSON;
|
|
57980
|
-
var entityAtlasIMG = (_item$metadataConfig3 = item.metadataConfig) == null ? void 0 : _item$metadataConfig3.atlasIMG;
|
|
57981
|
-
// Effect to reset currentIndex when switching items
|
|
57982
58191
|
useEffect(function () {
|
|
57983
58192
|
setCurrentIndex(0);
|
|
57984
|
-
}, [
|
|
58193
|
+
}, [itemKey]);
|
|
57985
58194
|
var handlePreviousSkin = function handlePreviousSkin() {
|
|
57986
58195
|
setCurrentIndex(function (prevIndex) {
|
|
57987
58196
|
return prevIndex === 0 ? availableCharacters.length - 1 : prevIndex - 1;
|
|
@@ -57992,6 +58201,31 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
|
57992
58201
|
return prevIndex === availableCharacters.length - 1 ? 0 : prevIndex + 1;
|
|
57993
58202
|
});
|
|
57994
58203
|
};
|
|
58204
|
+
var currentCharacter = availableCharacters[currentIndex];
|
|
58205
|
+
return {
|
|
58206
|
+
currentIndex: currentIndex,
|
|
58207
|
+
currentCharacter: currentCharacter,
|
|
58208
|
+
handlePreviousSkin: handlePreviousSkin,
|
|
58209
|
+
handleNextSkin: handleNextSkin
|
|
58210
|
+
};
|
|
58211
|
+
};
|
|
58212
|
+
|
|
58213
|
+
var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
58214
|
+
var _item$metadataConfig, _item$metadataConfig2, _item$metadataConfig3, _item$requiredAccount, _item$store;
|
|
58215
|
+
var item = _ref.item,
|
|
58216
|
+
atlasJSON = _ref.atlasJSON,
|
|
58217
|
+
atlasIMG = _ref.atlasIMG,
|
|
58218
|
+
onAddToCart = _ref.onAddToCart,
|
|
58219
|
+
userAccountType = _ref.userAccountType;
|
|
58220
|
+
// Get available characters from metadata
|
|
58221
|
+
var availableCharacters = item.metadataType === MetadataType.CharacterSkin && ((_item$metadataConfig = item.metadataConfig) == null ? void 0 : _item$metadataConfig.availableCharacters) || [];
|
|
58222
|
+
// Get the active character entity atlas info
|
|
58223
|
+
var entityAtlasJSON = (_item$metadataConfig2 = item.metadataConfig) == null ? void 0 : _item$metadataConfig2.atlasJSON;
|
|
58224
|
+
var entityAtlasIMG = (_item$metadataConfig3 = item.metadataConfig) == null ? void 0 : _item$metadataConfig3.atlasIMG;
|
|
58225
|
+
var _useCharacterSkinNavi = useCharacterSkinNavigation(availableCharacters, item.key),
|
|
58226
|
+
currentCharacter = _useCharacterSkinNavi.currentCharacter,
|
|
58227
|
+
handlePreviousSkin = _useCharacterSkinNavi.handlePreviousSkin,
|
|
58228
|
+
handleNextSkin = _useCharacterSkinNavi.handleNextSkin;
|
|
57995
58229
|
var hasRequiredAccount = !((_item$requiredAccount = item.requiredAccountType) != null && _item$requiredAccount.length) || item.requiredAccountType.includes(userAccountType);
|
|
57996
58230
|
var handleAddToCart = function handleAddToCart() {
|
|
57997
58231
|
if (!hasRequiredAccount) return;
|
|
@@ -58008,8 +58242,9 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
|
58008
58242
|
var getSpriteKey = function getSpriteKey(textureKey) {
|
|
58009
58243
|
return textureKey + '/down/standing/0.png';
|
|
58010
58244
|
};
|
|
58011
|
-
|
|
58012
|
-
|
|
58245
|
+
return React.createElement(ItemWrapper, {
|
|
58246
|
+
"$isHighlighted": ((_item$store = item.store) == null ? void 0 : _item$store.isHighlighted) || false
|
|
58247
|
+
}, React.createElement(ItemIconContainer$2, null, entityAtlasJSON && entityAtlasIMG && currentCharacter ? React.createElement(SpriteFromAtlas, {
|
|
58013
58248
|
atlasJSON: entityAtlasJSON,
|
|
58014
58249
|
atlasIMG: entityAtlasIMG,
|
|
58015
58250
|
spriteKey: getSpriteKey(currentCharacter.textureKey),
|
|
@@ -58017,7 +58252,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
|
58017
58252
|
height: 32,
|
|
58018
58253
|
imgScale: 2,
|
|
58019
58254
|
centered: true
|
|
58020
|
-
}) : React.createElement(SpriteFromAtlas, {
|
|
58255
|
+
}) : item.texturePath ? React.createElement(SpriteFromAtlas, {
|
|
58021
58256
|
atlasJSON: atlasJSON,
|
|
58022
58257
|
atlasIMG: atlasIMG,
|
|
58023
58258
|
spriteKey: item.texturePath,
|
|
@@ -58025,7 +58260,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
|
58025
58260
|
height: 32,
|
|
58026
58261
|
imgScale: 2,
|
|
58027
58262
|
centered: true
|
|
58028
|
-
})), React.createElement(ItemDetails$1, null, React.createElement(Header$8, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
|
|
58263
|
+
}) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$1, null, React.createElement(Header$8, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
|
|
58029
58264
|
direction: "left",
|
|
58030
58265
|
onPointerDown: handlePreviousSkin,
|
|
58031
58266
|
size: 24
|
|
@@ -58043,7 +58278,11 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
|
|
|
58043
58278
|
var ItemWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
58044
58279
|
displayName: "StoreCharacterSkinRow__ItemWrapper",
|
|
58045
58280
|
componentId: "sc-81xqsx-0"
|
|
58046
|
-
})(["display:flex;align-items:center;gap:
|
|
58281
|
+
})(["display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;border-bottom:1px solid rgba(255,255,255,0.1);background:", ";border-left:", ";&:last-child{border-bottom:none;}"], function (props) {
|
|
58282
|
+
return props.$isHighlighted ? 'rgba(255, 215, 0, 0.1)' : 'transparent';
|
|
58283
|
+
}, function (props) {
|
|
58284
|
+
return props.$isHighlighted ? '3px solid #ffd700' : '3px solid transparent';
|
|
58285
|
+
});
|
|
58047
58286
|
var ItemIconContainer$2 = /*#__PURE__*/styled.div.withConfig({
|
|
58048
58287
|
displayName: "StoreCharacterSkinRow__ItemIconContainer",
|
|
58049
58288
|
componentId: "sc-81xqsx-1"
|
|
@@ -58051,23 +58290,23 @@ var ItemIconContainer$2 = /*#__PURE__*/styled.div.withConfig({
|
|
|
58051
58290
|
var ItemDetails$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58052
58291
|
displayName: "StoreCharacterSkinRow__ItemDetails",
|
|
58053
58292
|
componentId: "sc-81xqsx-2"
|
|
58054
|
-
})(["flex:1;display:flex;flex-direction:column;gap:0.
|
|
58293
|
+
})(["flex:1;display:flex;flex-direction:column;gap:0.25rem;"]);
|
|
58055
58294
|
var ItemName$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58056
58295
|
displayName: "StoreCharacterSkinRow__ItemName",
|
|
58057
58296
|
componentId: "sc-81xqsx-3"
|
|
58058
|
-
})(["font-family:'Press Start 2P',cursive;font-size:0.
|
|
58297
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.75rem;color:#ffffff;"]);
|
|
58059
58298
|
var SelectedSkin = /*#__PURE__*/styled.div.withConfig({
|
|
58060
58299
|
displayName: "StoreCharacterSkinRow__SelectedSkin",
|
|
58061
58300
|
componentId: "sc-81xqsx-4"
|
|
58062
|
-
})(["font-family:'Press Start 2P',cursive;font-size:0.
|
|
58301
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:#fef08a;"]);
|
|
58063
58302
|
var ItemPrice = /*#__PURE__*/styled.div.withConfig({
|
|
58064
58303
|
displayName: "StoreCharacterSkinRow__ItemPrice",
|
|
58065
58304
|
componentId: "sc-81xqsx-5"
|
|
58066
|
-
})(["font-family:'Press Start 2P',cursive;font-size:0.
|
|
58305
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:#fef08a;"]);
|
|
58067
58306
|
var Controls = /*#__PURE__*/styled.div.withConfig({
|
|
58068
58307
|
displayName: "StoreCharacterSkinRow__Controls",
|
|
58069
58308
|
componentId: "sc-81xqsx-6"
|
|
58070
|
-
})(["display:flex;align-items:center;gap:
|
|
58309
|
+
})(["display:flex;align-items:center;gap:0.5rem;min-width:fit-content;"]);
|
|
58071
58310
|
// Styled arrow override for inline nav arrows
|
|
58072
58311
|
var SkinNavArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
|
|
58073
58312
|
displayName: "StoreCharacterSkinRow__SkinNavArrow",
|
|
@@ -58081,42 +58320,77 @@ var SelectedSkinNav = /*#__PURE__*/styled.div.withConfig({
|
|
|
58081
58320
|
displayName: "StoreCharacterSkinRow__SelectedSkinNav",
|
|
58082
58321
|
componentId: "sc-81xqsx-9"
|
|
58083
58322
|
})(["display:flex;align-items:center;gap:0.5rem;"]);
|
|
58323
|
+
var DefaultIcon = /*#__PURE__*/styled.div.withConfig({
|
|
58324
|
+
displayName: "StoreCharacterSkinRow__DefaultIcon",
|
|
58325
|
+
componentId: "sc-81xqsx-10"
|
|
58326
|
+
})(["font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;"]);
|
|
58084
58327
|
|
|
58085
|
-
var
|
|
58086
|
-
|
|
58087
|
-
|
|
58088
|
-
|
|
58089
|
-
|
|
58090
|
-
|
|
58091
|
-
|
|
58092
|
-
|
|
58093
|
-
|
|
58094
|
-
|
|
58095
|
-
|
|
58096
|
-
var _useState = useState(1),
|
|
58328
|
+
var useQuantityControl = function useQuantityControl(initialQuantity, min, max) {
|
|
58329
|
+
if (initialQuantity === void 0) {
|
|
58330
|
+
initialQuantity = 1;
|
|
58331
|
+
}
|
|
58332
|
+
if (min === void 0) {
|
|
58333
|
+
min = 1;
|
|
58334
|
+
}
|
|
58335
|
+
if (max === void 0) {
|
|
58336
|
+
max = 99;
|
|
58337
|
+
}
|
|
58338
|
+
var _useState = useState(initialQuantity),
|
|
58097
58339
|
quantity = _useState[0],
|
|
58098
58340
|
setQuantity = _useState[1];
|
|
58099
|
-
var _useState2 = useState(''),
|
|
58100
|
-
textInputValue = _useState2[0],
|
|
58101
|
-
setTextInputValue = _useState2[1];
|
|
58102
58341
|
var handleQuantityChange = function handleQuantityChange(e) {
|
|
58103
|
-
var value = parseInt(e.target.value) ||
|
|
58104
|
-
setQuantity(Math.min(Math.max(
|
|
58342
|
+
var value = parseInt(e.target.value) || min;
|
|
58343
|
+
setQuantity(Math.min(Math.max(min, value), max));
|
|
58105
58344
|
};
|
|
58106
58345
|
var handleBlur = function handleBlur() {
|
|
58107
|
-
if (quantity <
|
|
58108
|
-
if (quantity >
|
|
58346
|
+
if (quantity < min) setQuantity(min);
|
|
58347
|
+
if (quantity > max) setQuantity(max);
|
|
58109
58348
|
};
|
|
58110
58349
|
var incrementQuantity = function incrementQuantity() {
|
|
58111
58350
|
setQuantity(function (prev) {
|
|
58112
|
-
return Math.min(prev + 1,
|
|
58351
|
+
return Math.min(prev + 1, max);
|
|
58113
58352
|
});
|
|
58114
58353
|
};
|
|
58115
58354
|
var decrementQuantity = function decrementQuantity() {
|
|
58116
58355
|
setQuantity(function (prev) {
|
|
58117
|
-
return Math.max(
|
|
58356
|
+
return Math.max(min, prev - 1);
|
|
58118
58357
|
});
|
|
58119
58358
|
};
|
|
58359
|
+
var resetQuantity = function resetQuantity() {
|
|
58360
|
+
setQuantity(initialQuantity);
|
|
58361
|
+
};
|
|
58362
|
+
return {
|
|
58363
|
+
quantity: quantity,
|
|
58364
|
+
setQuantity: setQuantity,
|
|
58365
|
+
handleQuantityChange: handleQuantityChange,
|
|
58366
|
+
handleBlur: handleBlur,
|
|
58367
|
+
incrementQuantity: incrementQuantity,
|
|
58368
|
+
decrementQuantity: decrementQuantity,
|
|
58369
|
+
resetQuantity: resetQuantity
|
|
58370
|
+
};
|
|
58371
|
+
};
|
|
58372
|
+
|
|
58373
|
+
var StoreItemRow = function StoreItemRow(_ref) {
|
|
58374
|
+
var _item$requiredAccount, _item$store;
|
|
58375
|
+
var item = _ref.item,
|
|
58376
|
+
atlasJSON = _ref.atlasJSON,
|
|
58377
|
+
atlasIMG = _ref.atlasIMG,
|
|
58378
|
+
onAddToCart = _ref.onAddToCart,
|
|
58379
|
+
userAccountType = _ref.userAccountType,
|
|
58380
|
+
_ref$showTextInput = _ref.showTextInput,
|
|
58381
|
+
showTextInput = _ref$showTextInput === void 0 ? false : _ref$showTextInput,
|
|
58382
|
+
_ref$textInputPlaceho = _ref.textInputPlaceholder,
|
|
58383
|
+
textInputPlaceholder = _ref$textInputPlaceho === void 0 ? item.inputPlaceholder : _ref$textInputPlaceho;
|
|
58384
|
+
var _useState = useState(''),
|
|
58385
|
+
textInputValue = _useState[0],
|
|
58386
|
+
setTextInputValue = _useState[1];
|
|
58387
|
+
var _useQuantityControl = useQuantityControl(),
|
|
58388
|
+
quantity = _useQuantityControl.quantity,
|
|
58389
|
+
handleQuantityChange = _useQuantityControl.handleQuantityChange,
|
|
58390
|
+
handleBlur = _useQuantityControl.handleBlur,
|
|
58391
|
+
incrementQuantity = _useQuantityControl.incrementQuantity,
|
|
58392
|
+
decrementQuantity = _useQuantityControl.decrementQuantity,
|
|
58393
|
+
resetQuantity = _useQuantityControl.resetQuantity;
|
|
58120
58394
|
var hasRequiredAccount = !((_item$requiredAccount = item.requiredAccountType) != null && _item$requiredAccount.length) || item.requiredAccountType.includes(userAccountType);
|
|
58121
58395
|
var handleAddToCartInternal = function handleAddToCartInternal() {
|
|
58122
58396
|
if (!hasRequiredAccount) return;
|
|
@@ -58127,10 +58401,12 @@ var StoreItemRow = function StoreItemRow(_ref) {
|
|
|
58127
58401
|
setTextInputValue('');
|
|
58128
58402
|
} else {
|
|
58129
58403
|
onAddToCart(item, quantity);
|
|
58130
|
-
|
|
58404
|
+
resetQuantity();
|
|
58131
58405
|
}
|
|
58132
58406
|
};
|
|
58133
|
-
return React.createElement(ItemWrapper$1,
|
|
58407
|
+
return React.createElement(ItemWrapper$1, {
|
|
58408
|
+
"$isHighlighted": ((_item$store = item.store) == null ? void 0 : _item$store.isHighlighted) || false
|
|
58409
|
+
}, React.createElement(ItemIconContainer$3, null, React.createElement(SpriteFromAtlas, {
|
|
58134
58410
|
atlasJSON: atlasJSON,
|
|
58135
58411
|
atlasIMG: atlasIMG,
|
|
58136
58412
|
spriteKey: item.texturePath,
|
|
@@ -58172,7 +58448,11 @@ var StoreItemRow = function StoreItemRow(_ref) {
|
|
|
58172
58448
|
var ItemWrapper$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58173
58449
|
displayName: "StoreItemRow__ItemWrapper",
|
|
58174
58450
|
componentId: "sc-ptotuo-0"
|
|
58175
|
-
})(["display:flex;align-items:center;gap:
|
|
58451
|
+
})(["display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;border-bottom:1px solid rgba(255,255,255,0.1);background:", ";border-left:", ";&:last-child{border-bottom:none;}"], function (props) {
|
|
58452
|
+
return props.$isHighlighted ? 'rgba(255, 215, 0, 0.1)' : 'transparent';
|
|
58453
|
+
}, function (props) {
|
|
58454
|
+
return props.$isHighlighted ? '3px solid #ffd700' : '3px solid transparent';
|
|
58455
|
+
});
|
|
58176
58456
|
var ItemIconContainer$3 = /*#__PURE__*/styled.div.withConfig({
|
|
58177
58457
|
displayName: "StoreItemRow__ItemIconContainer",
|
|
58178
58458
|
componentId: "sc-ptotuo-1"
|
|
@@ -58180,15 +58460,15 @@ var ItemIconContainer$3 = /*#__PURE__*/styled.div.withConfig({
|
|
|
58180
58460
|
var ItemDetails$2 = /*#__PURE__*/styled.div.withConfig({
|
|
58181
58461
|
displayName: "StoreItemRow__ItemDetails",
|
|
58182
58462
|
componentId: "sc-ptotuo-2"
|
|
58183
|
-
})(["flex:1;display:flex;flex-direction:column;gap:0.
|
|
58463
|
+
})(["flex:1;display:flex;flex-direction:column;gap:0.25rem;"]);
|
|
58184
58464
|
var ItemName$2 = /*#__PURE__*/styled.div.withConfig({
|
|
58185
58465
|
displayName: "StoreItemRow__ItemName",
|
|
58186
58466
|
componentId: "sc-ptotuo-3"
|
|
58187
|
-
})(["font-family:'Press Start 2P',cursive;font-size:0.
|
|
58467
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.75rem;color:#ffffff;"]);
|
|
58188
58468
|
var ItemPrice$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58189
58469
|
displayName: "StoreItemRow__ItemPrice",
|
|
58190
58470
|
componentId: "sc-ptotuo-4"
|
|
58191
|
-
})(["font-family:'Press Start 2P',cursive;font-size:0.
|
|
58471
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:#fef08a;"]);
|
|
58192
58472
|
var ItemDescription = /*#__PURE__*/styled.div.withConfig({
|
|
58193
58473
|
displayName: "StoreItemRow__ItemDescription",
|
|
58194
58474
|
componentId: "sc-ptotuo-5"
|
|
@@ -58196,7 +58476,7 @@ var ItemDescription = /*#__PURE__*/styled.div.withConfig({
|
|
|
58196
58476
|
var Controls$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58197
58477
|
displayName: "StoreItemRow__Controls",
|
|
58198
58478
|
componentId: "sc-ptotuo-6"
|
|
58199
|
-
})(["display:flex;align-items:center;gap:
|
|
58479
|
+
})(["display:flex;align-items:center;gap:0.5rem;min-width:fit-content;"]);
|
|
58200
58480
|
var ArrowsContainer = /*#__PURE__*/styled.div.withConfig({
|
|
58201
58481
|
displayName: "StoreItemRow__ArrowsContainer",
|
|
58202
58482
|
componentId: "sc-ptotuo-7"
|
|
@@ -58210,6 +58490,50 @@ var TextInput = /*#__PURE__*/styled.input.withConfig({
|
|
|
58210
58490
|
componentId: "sc-ptotuo-9"
|
|
58211
58491
|
})(["width:120px;text-align:center;margin:0 auto;font-size:0.875rem;background:rgba(0,0,0,0.2);color:#ffffff;border:none;padding:0.25rem;"]);
|
|
58212
58492
|
|
|
58493
|
+
var useStoreFiltering = function useStoreFiltering(items) {
|
|
58494
|
+
var _useState = useState(''),
|
|
58495
|
+
searchQuery = _useState[0],
|
|
58496
|
+
setSearchQuery = _useState[1];
|
|
58497
|
+
var _useState2 = useState('all'),
|
|
58498
|
+
selectedCategory = _useState2[0],
|
|
58499
|
+
setSelectedCategory = _useState2[1];
|
|
58500
|
+
var categoryOptions = useMemo(function () {
|
|
58501
|
+
var uniqueCategories = Array.from(new Set(items.map(function (item) {
|
|
58502
|
+
return item.itemType;
|
|
58503
|
+
})));
|
|
58504
|
+
var allCategories = ['all'].concat(uniqueCategories);
|
|
58505
|
+
return allCategories.map(function (category, index) {
|
|
58506
|
+
return {
|
|
58507
|
+
id: index,
|
|
58508
|
+
value: category,
|
|
58509
|
+
option: category === 'all' ? 'All' : category
|
|
58510
|
+
};
|
|
58511
|
+
});
|
|
58512
|
+
}, [items]);
|
|
58513
|
+
var filteredItems = useMemo(function () {
|
|
58514
|
+
return items.filter(function (item) {
|
|
58515
|
+
var matchesSearch = item.name.toLowerCase().includes(searchQuery.toLowerCase());
|
|
58516
|
+
var matchesCategory = selectedCategory === 'all' || item.itemType === selectedCategory;
|
|
58517
|
+
return matchesSearch && matchesCategory;
|
|
58518
|
+
}).sort(function (a, b) {
|
|
58519
|
+
var _a$store, _b$store;
|
|
58520
|
+
var aHighlighted = ((_a$store = a.store) == null ? void 0 : _a$store.isHighlighted) || false;
|
|
58521
|
+
var bHighlighted = ((_b$store = b.store) == null ? void 0 : _b$store.isHighlighted) || false;
|
|
58522
|
+
if (aHighlighted && !bHighlighted) return -1;
|
|
58523
|
+
if (!aHighlighted && bHighlighted) return 1;
|
|
58524
|
+
return 0;
|
|
58525
|
+
});
|
|
58526
|
+
}, [items, searchQuery, selectedCategory]);
|
|
58527
|
+
return {
|
|
58528
|
+
searchQuery: searchQuery,
|
|
58529
|
+
setSearchQuery: setSearchQuery,
|
|
58530
|
+
selectedCategory: selectedCategory,
|
|
58531
|
+
setSelectedCategory: setSelectedCategory,
|
|
58532
|
+
categoryOptions: categoryOptions,
|
|
58533
|
+
filteredItems: filteredItems
|
|
58534
|
+
};
|
|
58535
|
+
};
|
|
58536
|
+
|
|
58213
58537
|
var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
58214
58538
|
var items = _ref.items,
|
|
58215
58539
|
onAddToCart = _ref.onAddToCart,
|
|
@@ -58218,12 +58542,12 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
58218
58542
|
userAccountType = _ref.userAccountType,
|
|
58219
58543
|
_ref$textInputItemKey = _ref.textInputItemKeys,
|
|
58220
58544
|
textInputItemKeys = _ref$textInputItemKey === void 0 ? [] : _ref$textInputItemKey;
|
|
58221
|
-
var
|
|
58222
|
-
searchQuery =
|
|
58223
|
-
setSearchQuery =
|
|
58224
|
-
|
|
58225
|
-
|
|
58226
|
-
|
|
58545
|
+
var _useStoreFiltering = useStoreFiltering(items),
|
|
58546
|
+
searchQuery = _useStoreFiltering.searchQuery,
|
|
58547
|
+
setSearchQuery = _useStoreFiltering.setSearchQuery,
|
|
58548
|
+
setSelectedCategory = _useStoreFiltering.setSelectedCategory,
|
|
58549
|
+
categoryOptions = _useStoreFiltering.categoryOptions,
|
|
58550
|
+
filteredItems = _useStoreFiltering.filteredItems;
|
|
58227
58551
|
var renderStoreItem = function renderStoreItem(item) {
|
|
58228
58552
|
// Prefer a specialized character skin row when needed
|
|
58229
58553
|
if (item.metadataType === MetadataType.CharacterSkin) {
|
|
@@ -58258,19 +58582,40 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
58258
58582
|
userAccountType: userAccountType || UserAccountTypes.Free
|
|
58259
58583
|
});
|
|
58260
58584
|
};
|
|
58261
|
-
return React.createElement(
|
|
58585
|
+
return React.createElement(StoreContainer, null, React.createElement(SearchHeader$2, null, React.createElement(SearchBarContainer$1, null, React.createElement(SearchBar, {
|
|
58586
|
+
value: searchQuery,
|
|
58587
|
+
onChange: setSearchQuery,
|
|
58588
|
+
placeholder: "Search items..."
|
|
58589
|
+
})), React.createElement(DropdownContainer$2, null, React.createElement(Dropdown, {
|
|
58590
|
+
options: categoryOptions,
|
|
58591
|
+
onChange: function onChange(value) {
|
|
58592
|
+
return setSelectedCategory(value);
|
|
58593
|
+
},
|
|
58594
|
+
width: "100%"
|
|
58595
|
+
}))), React.createElement(ScrollableContent, {
|
|
58262
58596
|
items: filteredItems,
|
|
58263
58597
|
renderItem: renderStoreItem,
|
|
58264
|
-
emptyMessage: "No items
|
|
58265
|
-
searchOptions: {
|
|
58266
|
-
value: searchQuery,
|
|
58267
|
-
onChange: setSearchQuery,
|
|
58268
|
-
placeholder: 'Search items...'
|
|
58269
|
-
},
|
|
58598
|
+
emptyMessage: "No items match your filters.",
|
|
58270
58599
|
layout: "list",
|
|
58271
|
-
maxHeight: "
|
|
58272
|
-
});
|
|
58600
|
+
maxHeight: "350px"
|
|
58601
|
+
}));
|
|
58273
58602
|
};
|
|
58603
|
+
var StoreContainer = /*#__PURE__*/styled.div.withConfig({
|
|
58604
|
+
displayName: "StoreItemsSection__StoreContainer",
|
|
58605
|
+
componentId: "sc-l6f466-0"
|
|
58606
|
+
})(["display:flex;flex-direction:column;height:100%;gap:0.5rem;"]);
|
|
58607
|
+
var SearchHeader$2 = /*#__PURE__*/styled.div.withConfig({
|
|
58608
|
+
displayName: "StoreItemsSection__SearchHeader",
|
|
58609
|
+
componentId: "sc-l6f466-1"
|
|
58610
|
+
})(["display:flex;gap:0.5rem;align-items:center;padding-top:0.25rem;"]);
|
|
58611
|
+
var SearchBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
58612
|
+
displayName: "StoreItemsSection__SearchBarContainer",
|
|
58613
|
+
componentId: "sc-l6f466-2"
|
|
58614
|
+
})(["flex:0.75;"]);
|
|
58615
|
+
var DropdownContainer$2 = /*#__PURE__*/styled.div.withConfig({
|
|
58616
|
+
displayName: "StoreItemsSection__DropdownContainer",
|
|
58617
|
+
componentId: "sc-l6f466-3"
|
|
58618
|
+
})(["flex:0.25;min-width:140px;"]);
|
|
58274
58619
|
|
|
58275
58620
|
var ShoppingCardHorizontal = function ShoppingCardHorizontal(_ref) {
|
|
58276
58621
|
var title = _ref.title,
|
|
@@ -58335,13 +58680,30 @@ var CardFooter = /*#__PURE__*/styled.div.withConfig({
|
|
|
58335
58680
|
componentId: "sc-ngkh06-6"
|
|
58336
58681
|
})(["margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,0.1);"]);
|
|
58337
58682
|
|
|
58683
|
+
var usePackFiltering = function usePackFiltering(packs) {
|
|
58684
|
+
var _useState = useState(''),
|
|
58685
|
+
searchQuery = _useState[0],
|
|
58686
|
+
setSearchQuery = _useState[1];
|
|
58687
|
+
var filteredPacks = useMemo(function () {
|
|
58688
|
+
return packs.filter(function (pack) {
|
|
58689
|
+
return pack.title.toLowerCase().includes(searchQuery.toLowerCase());
|
|
58690
|
+
});
|
|
58691
|
+
}, [packs, searchQuery]);
|
|
58692
|
+
return {
|
|
58693
|
+
searchQuery: searchQuery,
|
|
58694
|
+
setSearchQuery: setSearchQuery,
|
|
58695
|
+
filteredPacks: filteredPacks
|
|
58696
|
+
};
|
|
58697
|
+
};
|
|
58698
|
+
|
|
58338
58699
|
var StorePacksSection = function StorePacksSection(_ref) {
|
|
58339
58700
|
var packs = _ref.packs,
|
|
58340
58701
|
onAddToCart = _ref.onAddToCart,
|
|
58341
58702
|
onSelectPack = _ref.onSelectPack;
|
|
58342
|
-
var
|
|
58343
|
-
searchQuery =
|
|
58344
|
-
setSearchQuery =
|
|
58703
|
+
var _usePackFiltering = usePackFiltering(packs),
|
|
58704
|
+
searchQuery = _usePackFiltering.searchQuery,
|
|
58705
|
+
setSearchQuery = _usePackFiltering.setSearchQuery,
|
|
58706
|
+
filteredPacks = _usePackFiltering.filteredPacks;
|
|
58345
58707
|
var renderPackFooter = useCallback(function (pack) {
|
|
58346
58708
|
return React.createElement(FooterContainer, null, React.createElement(Price, null, "$", pack.priceUSD), React.createElement(CTAButton, {
|
|
58347
58709
|
icon: React.createElement(FaCartPlus, null),
|
|
@@ -58364,11 +58726,6 @@ var StorePacksSection = function StorePacksSection(_ref) {
|
|
|
58364
58726
|
}
|
|
58365
58727
|
});
|
|
58366
58728
|
}, [onSelectPack, renderPackFooter]);
|
|
58367
|
-
var filteredPacks = useMemo(function () {
|
|
58368
|
-
return packs.filter(function (pack) {
|
|
58369
|
-
return pack.title.toLowerCase().includes(searchQuery.toLowerCase());
|
|
58370
|
-
});
|
|
58371
|
-
}, [packs, searchQuery]);
|
|
58372
58729
|
return React.createElement(ScrollableContent, {
|
|
58373
58730
|
items: filteredPacks,
|
|
58374
58731
|
renderItem: renderPack,
|