@rpg-engine/long-bow 0.8.219 → 0.8.221
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/DraggableContainer.d.ts +0 -6
- package/dist/components/Store/CartView.d.ts +0 -2
- package/dist/components/Store/MetadataCollector.d.ts +2 -2
- package/dist/components/Store/Store.d.ts +10 -28
- package/dist/components/Store/StoreHeader.d.ts +14 -0
- package/dist/components/Store/hooks/useStoreCart.d.ts +2 -0
- package/dist/components/Store/hooks/useStoreMetadata.d.ts +4 -11
- package/dist/components/Store/hooks/useStoreTabs.d.ts +20 -0
- package/dist/components/Store/internal/packToBlueprint.d.ts +2 -0
- package/dist/components/Store/sections/StoreItemsSection.d.ts +5 -3
- package/dist/hooks/useStoreFiltering.d.ts +7 -4
- package/dist/long-bow.cjs.development.js +379 -441
- 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 +381 -443
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DraggableContainer.tsx +0 -24
- package/src/components/Store/CartView.tsx +116 -137
- package/src/components/Store/MetadataCollector.tsx +60 -40
- package/src/components/Store/Store.tsx +75 -285
- package/src/components/Store/StoreHeader.tsx +74 -0
- package/src/components/Store/__test__/MetadataCollector.spec.tsx +94 -164
- package/src/components/Store/__test__/Store.spec.tsx +4 -0
- package/src/components/Store/__test__/useStoreMetadata.spec.tsx +58 -156
- package/src/components/Store/__test__/useStoreTabs.spec.tsx +69 -0
- package/src/components/Store/hooks/useStoreCart.ts +5 -2
- package/src/components/Store/hooks/useStoreMetadata.ts +30 -48
- package/src/components/Store/hooks/useStoreTabs.ts +104 -0
- package/src/components/Store/internal/packToBlueprint.ts +21 -0
- package/src/components/Store/sections/StoreItemsSection.tsx +19 -60
- package/src/components/Store/sections/StorePacksSection.tsx +0 -1
- package/src/components/shared/ScrollableContent/ScrollableContent.tsx +3 -6
- package/src/hooks/useStoreFiltering.spec.tsx +79 -0
- package/src/hooks/useStoreFiltering.ts +27 -9
|
@@ -2474,10 +2474,6 @@ var DraggableContainer = function DraggableContainer(_ref) {
|
|
|
2474
2474
|
height = _ref.height,
|
|
2475
2475
|
minHeight = _ref.minHeight,
|
|
2476
2476
|
minWidth = _ref.minWidth,
|
|
2477
|
-
mobileWidth = _ref.mobileWidth,
|
|
2478
|
-
mobileHeight = _ref.mobileHeight,
|
|
2479
|
-
_ref$mobileBreakpoint = _ref.mobileBreakpoint,
|
|
2480
|
-
mobileBreakpoint = _ref$mobileBreakpoint === void 0 ? 768 : _ref$mobileBreakpoint,
|
|
2481
2477
|
className = _ref.className,
|
|
2482
2478
|
_ref$type = _ref.type,
|
|
2483
2479
|
type = _ref$type === void 0 ? exports.RPGUIContainerTypes.FramedGold : _ref$type,
|
|
@@ -2554,9 +2550,6 @@ var DraggableContainer = function DraggableContainer(_ref) {
|
|
|
2554
2550
|
height: height || 'auto',
|
|
2555
2551
|
minWidth: minWidth,
|
|
2556
2552
|
minHeight: minHeight,
|
|
2557
|
-
mobileWidth: mobileWidth,
|
|
2558
|
-
mobileHeight: mobileHeight,
|
|
2559
|
-
mobileBreakpoint: mobileBreakpoint,
|
|
2560
2553
|
className: "rpgui-container " + type + " " + className,
|
|
2561
2554
|
isFullScreen: isFullScreen,
|
|
2562
2555
|
opacity: opacity
|
|
@@ -2573,7 +2566,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
|
|
|
2573
2566
|
var Container$a = /*#__PURE__*/styled__default.div.withConfig({
|
|
2574
2567
|
displayName: "DraggableContainer__Container",
|
|
2575
2568
|
componentId: "sc-184mpyl-0"
|
|
2576
|
-
})(["height:", ";width:", ";min-width:", ";min-height:", ";display:flex;flex-wrap:wrap;image-rendering:pixelated;overflow-y:hidden;", " ", "
|
|
2569
|
+
})(["height:", ";width:", ";min-width:", ";min-height:", ";display:flex;flex-wrap:wrap;image-rendering:pixelated;overflow-y:hidden;", " ", " &.rpgui-container{padding-top:1.5rem;}"], function (props) {
|
|
2577
2570
|
return props.height;
|
|
2578
2571
|
}, function (_ref2) {
|
|
2579
2572
|
var width = _ref2.width;
|
|
@@ -2590,11 +2583,6 @@ var Container$a = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
2590
2583
|
}, function (_ref6) {
|
|
2591
2584
|
var isFullScreen = _ref6.isFullScreen;
|
|
2592
2585
|
return isFullScreen && styled.css(["justify-content:center;align-items:flex-start;align-content:flex-start;"]);
|
|
2593
|
-
}, function (_ref7) {
|
|
2594
|
-
var mobileWidth = _ref7.mobileWidth,
|
|
2595
|
-
mobileHeight = _ref7.mobileHeight,
|
|
2596
|
-
mobileBreakpoint = _ref7.mobileBreakpoint;
|
|
2597
|
-
return (mobileWidth || mobileHeight) && styled.css(["@media (max-width:", "px){", " ", "}"], mobileBreakpoint != null ? mobileBreakpoint : 768, mobileWidth && "width: " + mobileWidth + "; min-width: unset;", mobileHeight && "height: " + mobileHeight + "; min-height: unset;");
|
|
2598
2586
|
});
|
|
2599
2587
|
var CloseButton$4 = /*#__PURE__*/styled__default.div.withConfig({
|
|
2600
2588
|
displayName: "DraggableContainer__CloseButton",
|
|
@@ -2611,8 +2599,8 @@ var Title$1 = /*#__PURE__*/styled__default.h1.withConfig({
|
|
|
2611
2599
|
var Icon = /*#__PURE__*/styled__default.img.withConfig({
|
|
2612
2600
|
displayName: "DraggableContainer__Icon",
|
|
2613
2601
|
componentId: "sc-184mpyl-4"
|
|
2614
|
-
})(["color:white;z-index:22;font-size:", ";width:", ";margin-right:0.5rem;"], uiFonts.size.xsmall, function (
|
|
2615
|
-
var width =
|
|
2602
|
+
})(["color:white;z-index:22;font-size:", ";width:", ";margin-right:0.5rem;"], uiFonts.size.xsmall, function (_ref7) {
|
|
2603
|
+
var width = _ref7.width;
|
|
2616
2604
|
return width;
|
|
2617
2605
|
});
|
|
2618
2606
|
|
|
@@ -37571,7 +37559,6 @@ var CartView = function CartView(_ref2) {
|
|
|
37571
37559
|
paymentMethodLabel = _ref2.paymentMethodLabel,
|
|
37572
37560
|
trustSignals = _ref2.trustSignals,
|
|
37573
37561
|
onCloseStore = _ref2.onCloseStore,
|
|
37574
|
-
onBuyDC = _ref2.onBuyDC,
|
|
37575
37562
|
onCheckoutStart = _ref2.onCheckoutStart,
|
|
37576
37563
|
onPurchaseSuccess = _ref2.onPurchaseSuccess,
|
|
37577
37564
|
onPurchaseError = _ref2.onPurchaseError,
|
|
@@ -37650,11 +37637,6 @@ var CartView = function CartView(_ref2) {
|
|
|
37650
37637
|
return _ref3.apply(this, arguments);
|
|
37651
37638
|
};
|
|
37652
37639
|
}();
|
|
37653
|
-
// Show DC discount nudge when items have DC pricing and user might benefit
|
|
37654
|
-
var hasDCItems = cartItems.some(function (ci) {
|
|
37655
|
-
return ci.item.dcPrice;
|
|
37656
|
-
});
|
|
37657
|
-
var showDCNudge = hasDCItems && onBuyDC;
|
|
37658
37640
|
if (purchasedItems) {
|
|
37659
37641
|
return React__default.createElement(PurchaseSuccess, {
|
|
37660
37642
|
items: purchasedItems.map(function (ci) {
|
|
@@ -37679,9 +37661,8 @@ var CartView = function CartView(_ref2) {
|
|
|
37679
37661
|
return s + ci.quantity;
|
|
37680
37662
|
}, 0), ")"), React__default.createElement(CloseButton$h, {
|
|
37681
37663
|
onPointerDown: onClose
|
|
37682
|
-
}, React__default.createElement(fa.FaTimes, null))), React__default.createElement(CartItems, null, cartItems.length === 0 ? React__default.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
|
|
37664
|
+
}, React__default.createElement(fa.FaTimes, null))), React__default.createElement(MainContent$1, null, React__default.createElement(CartItems, null, cartItems.length === 0 ? React__default.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
|
|
37683
37665
|
var _cartItem$metadata, _cartItem$metadata2, _cartItem$item$region2, _cartItem$item$region3;
|
|
37684
|
-
console.log('Item metadataType: , texturePath:', cartItem.item.metadataType, cartItem.item.texturePath);
|
|
37685
37666
|
var getSpriteKey = function getSpriteKey(textureKey) {
|
|
37686
37667
|
return textureKey + '/down/standing/0.png';
|
|
37687
37668
|
};
|
|
@@ -37705,15 +37686,13 @@ var CartView = function CartView(_ref2) {
|
|
|
37705
37686
|
onRemoveFromCart(cartItem.item.key);
|
|
37706
37687
|
}
|
|
37707
37688
|
}));
|
|
37708
|
-
})), React__default.createElement(
|
|
37709
|
-
onPointerDown: onBuyDC
|
|
37710
|
-
}, React__default.createElement(fa.FaCoins, null), React__default.createElement("span", null, "Save more with DC \u2014 volume discounts available"), React__default.createElement(DCNudgeLink, null, "Buy DC \u2192")), React__default.createElement(TrustBar, {
|
|
37711
|
-
signals: trustSignals
|
|
37712
|
-
}), React__default.createElement(TotalInfo, null, React__default.createElement(OrderSummaryLabel, null, "Order Summary"), React__default.createElement(TotalRow, null, React__default.createElement("span", null, "Subtotal:"), React__default.createElement("span", null, currencySymbol, formatPrice(total))), dcTotal > 0 && React__default.createElement(TotalRow, null, React__default.createElement("span", null, "DC:"), React__default.createElement("span", null, React__default.createElement(MMORPGNumber, {
|
|
37689
|
+
})), cartItems.length > 0 && React__default.createElement(OrderSummaryPanel, null, React__default.createElement(OrderSummaryLabel, null, "Order Summary"), React__default.createElement(TotalRow, null, React__default.createElement("span", null, "Subtotal:"), React__default.createElement("span", null, currencySymbol, formatPrice(total))), dcTotal > 0 && React__default.createElement(TotalRow, null, React__default.createElement("span", null, "DC:"), React__default.createElement("span", null, React__default.createElement(MMORPGNumber, {
|
|
37713
37690
|
value: dcTotal
|
|
37714
37691
|
}), " DC")), React__default.createElement(TotalRow, {
|
|
37715
37692
|
"$isTotal": true
|
|
37716
|
-
}, React__default.createElement("span", null, "Total:"), React__default.createElement("span", null, currencySymbol, formatPrice(total))), paymentMethodLabel && React__default.createElement(PaymentMethodRow, null, React__default.createElement("span", null, "Paying with:"), React__default.createElement("span", null, paymentMethodLabel)),
|
|
37693
|
+
}, React__default.createElement("span", null, "Total:"), React__default.createElement("span", null, currencySymbol, formatPrice(total))), paymentMethodLabel && React__default.createElement(PaymentMethodRow, null, React__default.createElement("span", null, "Paying with:"), React__default.createElement("span", null, paymentMethodLabel)))), React__default.createElement(Footer$2, null, React__default.createElement(TrustBar, {
|
|
37694
|
+
signals: trustSignals
|
|
37695
|
+
}), error && React__default.createElement(ErrorMessage$2, null, error), React__default.createElement(CTAButton, {
|
|
37717
37696
|
icon: React__default.createElement(fa.FaShoppingBag, null),
|
|
37718
37697
|
label: isLoading ? 'Processing...' : "Pay " + currencySymbol + formatPrice(total),
|
|
37719
37698
|
onClick: handlePurchase,
|
|
@@ -37724,11 +37703,11 @@ var CartView = function CartView(_ref2) {
|
|
|
37724
37703
|
var Container$M = /*#__PURE__*/styled__default.div.withConfig({
|
|
37725
37704
|
displayName: "CartView__Container",
|
|
37726
37705
|
componentId: "sc-ydtyl1-0"
|
|
37727
|
-
})(["display:flex;flex-direction:column;width:100%;
|
|
37706
|
+
})(["display:flex;flex-direction:column;width:100%;height:100%;padding:1rem;overflow:hidden;box-sizing:border-box;"]);
|
|
37728
37707
|
var Header$g = /*#__PURE__*/styled__default.div.withConfig({
|
|
37729
37708
|
displayName: "CartView__Header",
|
|
37730
37709
|
componentId: "sc-ydtyl1-1"
|
|
37731
|
-
})(["display:flex;justify-content:space-between;align-items:center;"]);
|
|
37710
|
+
})(["display:flex;justify-content:space-between;align-items:center;flex-shrink:0;"]);
|
|
37732
37711
|
var Title$n = /*#__PURE__*/styled__default.h2.withConfig({
|
|
37733
37712
|
displayName: "CartView__Title",
|
|
37734
37713
|
componentId: "sc-ydtyl1-2"
|
|
@@ -37737,49 +37716,53 @@ var CloseButton$h = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
37737
37716
|
displayName: "CartView__CloseButton",
|
|
37738
37717
|
componentId: "sc-ydtyl1-3"
|
|
37739
37718
|
})(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
|
|
37719
|
+
var MainContent$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37720
|
+
displayName: "CartView__MainContent",
|
|
37721
|
+
componentId: "sc-ydtyl1-4"
|
|
37722
|
+
})(["display:grid;grid-template-columns:1fr 260px;gap:1rem;flex:1;min-height:0;margin:1rem 0;@media (max-width:700px){grid-template-columns:1fr;gap:0.75rem;}"]);
|
|
37740
37723
|
var CartItems = /*#__PURE__*/styled__default.div.withConfig({
|
|
37741
37724
|
displayName: "CartView__CartItems",
|
|
37742
|
-
componentId: "sc-ydtyl1-
|
|
37743
|
-
})(["display:flex;flex-direction:column;gap:0.5rem;overflow-y:auto;
|
|
37725
|
+
componentId: "sc-ydtyl1-5"
|
|
37726
|
+
})(["display:flex;flex-direction:column;gap:0.5rem;min-height:0;overflow-y:auto;padding-right:0.5rem;&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-track{background:rgba(0,0,0,0.2);border-radius:4px;}&::-webkit-scrollbar-thumb{background:#f59e0b;border-radius:4px;&:hover{background:#fbbf24;}}"]);
|
|
37727
|
+
var OrderSummaryPanel = /*#__PURE__*/styled__default.div.withConfig({
|
|
37728
|
+
displayName: "CartView__OrderSummaryPanel",
|
|
37729
|
+
componentId: "sc-ydtyl1-6"
|
|
37730
|
+
})(["display:flex;flex-direction:column;gap:0.5rem;padding:1rem;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.08);border-radius:6px;align-self:start;"]);
|
|
37744
37731
|
var EmptyCart = /*#__PURE__*/styled__default.div.withConfig({
|
|
37745
37732
|
displayName: "CartView__EmptyCart",
|
|
37746
|
-
componentId: "sc-ydtyl1-
|
|
37733
|
+
componentId: "sc-ydtyl1-7"
|
|
37747
37734
|
})(["display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff;font-family:'Press Start 2P',cursive;font-size:0.875rem;opacity:0.7;"]);
|
|
37748
37735
|
var CartItemRow = /*#__PURE__*/styled__default.div.withConfig({
|
|
37749
37736
|
displayName: "CartView__CartItemRow",
|
|
37750
|
-
componentId: "sc-ydtyl1-
|
|
37737
|
+
componentId: "sc-ydtyl1-8"
|
|
37751
37738
|
})(["display:flex;align-items:center;gap:0.75rem;padding:0.5rem 0.75rem;background:rgba(0,0,0,0.2);border-radius:4px;"]);
|
|
37752
37739
|
var ItemIconContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
37753
37740
|
displayName: "CartView__ItemIconContainer",
|
|
37754
|
-
componentId: "sc-ydtyl1-
|
|
37741
|
+
componentId: "sc-ydtyl1-9"
|
|
37755
37742
|
})(["width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:2px;"]);
|
|
37756
37743
|
var ItemDetails$4 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37757
37744
|
displayName: "CartView__ItemDetails",
|
|
37758
|
-
componentId: "sc-ydtyl1-
|
|
37745
|
+
componentId: "sc-ydtyl1-10"
|
|
37759
37746
|
})(["flex:1;display:flex;flex-direction:column;gap:0.5rem;"]);
|
|
37760
37747
|
var ItemName$6 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37761
37748
|
displayName: "CartView__ItemName",
|
|
37762
|
-
componentId: "sc-ydtyl1-
|
|
37749
|
+
componentId: "sc-ydtyl1-11"
|
|
37763
37750
|
})(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:#ffffff;"]);
|
|
37764
37751
|
var ItemInfo$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37765
37752
|
displayName: "CartView__ItemInfo",
|
|
37766
|
-
componentId: "sc-ydtyl1-
|
|
37753
|
+
componentId: "sc-ydtyl1-12"
|
|
37767
37754
|
})(["display:flex;align-items:center;gap:0.4rem;font-family:'Press Start 2P',cursive;font-size:0.55rem;color:#fef08a;"]);
|
|
37768
37755
|
var Footer$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37769
37756
|
displayName: "CartView__Footer",
|
|
37770
|
-
componentId: "sc-ydtyl1-
|
|
37757
|
+
componentId: "sc-ydtyl1-13"
|
|
37771
37758
|
})(["display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.1);flex-shrink:0;@media (max-width:600px){gap:0.75rem;padding-top:0.75rem;}"]);
|
|
37772
|
-
var TotalInfo = /*#__PURE__*/styled__default.div.withConfig({
|
|
37773
|
-
displayName: "CartView__TotalInfo",
|
|
37774
|
-
componentId: "sc-ydtyl1-12"
|
|
37775
|
-
})(["display:flex;flex-direction:column;gap:0.5rem;"]);
|
|
37776
37759
|
var OrderSummaryLabel = /*#__PURE__*/styled__default.div.withConfig({
|
|
37777
37760
|
displayName: "CartView__OrderSummaryLabel",
|
|
37778
|
-
componentId: "sc-ydtyl1-
|
|
37761
|
+
componentId: "sc-ydtyl1-14"
|
|
37779
37762
|
})(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.25rem;"]);
|
|
37780
37763
|
var TotalRow = /*#__PURE__*/styled__default.div.withConfig({
|
|
37781
37764
|
displayName: "CartView__TotalRow",
|
|
37782
|
-
componentId: "sc-ydtyl1-
|
|
37765
|
+
componentId: "sc-ydtyl1-15"
|
|
37783
37766
|
})(["display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:'Press Start 2P',cursive;font-size:", ";color:", ";", " span:last-child{color:#fef08a;}"], function (p) {
|
|
37784
37767
|
return p.$isTotal ? '1rem' : '0.75rem';
|
|
37785
37768
|
}, function (p) {
|
|
@@ -37789,35 +37772,27 @@ var TotalRow = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
37789
37772
|
});
|
|
37790
37773
|
var PaymentMethodRow = /*#__PURE__*/styled__default.div.withConfig({
|
|
37791
37774
|
displayName: "CartView__PaymentMethodRow",
|
|
37792
|
-
componentId: "sc-ydtyl1-15"
|
|
37793
|
-
})(["display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.5);margin-top:0.25rem;span:last-child{color:rgba(255,255,255,0.8);}"]);
|
|
37794
|
-
var DCNudge = /*#__PURE__*/styled__default.div.withConfig({
|
|
37795
|
-
displayName: "CartView__DCNudge",
|
|
37796
37775
|
componentId: "sc-ydtyl1-16"
|
|
37797
|
-
})(["display:flex;align-items:center;
|
|
37798
|
-
var DCNudgeLink = /*#__PURE__*/styled__default.span.withConfig({
|
|
37799
|
-
displayName: "CartView__DCNudgeLink",
|
|
37800
|
-
componentId: "sc-ydtyl1-17"
|
|
37801
|
-
})(["color:#f59e0b;white-space:nowrap;text-decoration:underline;flex:0 0 auto !important;"]);
|
|
37776
|
+
})(["display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.5);margin-top:0.25rem;span:last-child{color:rgba(255,255,255,0.8);}"]);
|
|
37802
37777
|
var ErrorMessage$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
37803
37778
|
displayName: "CartView__ErrorMessage",
|
|
37804
|
-
componentId: "sc-ydtyl1-
|
|
37779
|
+
componentId: "sc-ydtyl1-17"
|
|
37805
37780
|
})(["color:#ef4444;font-size:0.875rem;font-family:'Press Start 2P',cursive;text-align:center;"]);
|
|
37806
37781
|
var MetadataInfo = /*#__PURE__*/styled__default.div.withConfig({
|
|
37807
37782
|
displayName: "CartView__MetadataInfo",
|
|
37808
|
-
componentId: "sc-ydtyl1-
|
|
37783
|
+
componentId: "sc-ydtyl1-18"
|
|
37809
37784
|
})(["display:flex;align-items:center;margin-top:0.25rem;gap:0.4rem;font-size:0.55rem;color:#a3e635;background:rgba(163,230,53,0.1);padding:0.2rem 0.4rem;border-radius:4px;"]);
|
|
37810
37785
|
var MetadataLabel = /*#__PURE__*/styled__default.div.withConfig({
|
|
37811
37786
|
displayName: "CartView__MetadataLabel",
|
|
37812
|
-
componentId: "sc-ydtyl1-
|
|
37787
|
+
componentId: "sc-ydtyl1-19"
|
|
37813
37788
|
})(["display:flex;align-items:center;gap:0.25rem;font-weight:bold;color:#d9f99d;"]);
|
|
37814
37789
|
var MetadataValue = /*#__PURE__*/styled__default.div.withConfig({
|
|
37815
37790
|
displayName: "CartView__MetadataValue",
|
|
37816
|
-
componentId: "sc-ydtyl1-
|
|
37791
|
+
componentId: "sc-ydtyl1-20"
|
|
37817
37792
|
})(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]);
|
|
37818
37793
|
var CartMeta = /*#__PURE__*/styled__default.div.withConfig({
|
|
37819
37794
|
displayName: "CartView__CartMeta",
|
|
37820
|
-
componentId: "sc-ydtyl1-
|
|
37795
|
+
componentId: "sc-ydtyl1-21"
|
|
37821
37796
|
})(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:#ffffff;opacity:0.8;margin-top:0.25rem;"]);
|
|
37822
37797
|
|
|
37823
37798
|
function calcTimeLeft(endsAt) {
|
|
@@ -38042,53 +38017,31 @@ var useStoreMetadata = function useStoreMetadata() {
|
|
|
38042
38017
|
var _useState = React.useState(false),
|
|
38043
38018
|
isCollectingMetadata = _useState[0],
|
|
38044
38019
|
setIsCollectingMetadata = _useState[1];
|
|
38045
|
-
var
|
|
38046
|
-
|
|
38047
|
-
|
|
38048
|
-
|
|
38049
|
-
|
|
38050
|
-
|
|
38051
|
-
|
|
38052
|
-
|
|
38053
|
-
|
|
38054
|
-
|
|
38055
|
-
|
|
38056
|
-
|
|
38057
|
-
|
|
38058
|
-
|
|
38059
|
-
|
|
38060
|
-
|
|
38061
|
-
|
|
38062
|
-
|
|
38063
|
-
|
|
38064
|
-
|
|
38065
|
-
},
|
|
38066
|
-
item: item
|
|
38067
|
-
};
|
|
38068
|
-
});
|
|
38069
|
-
case 6:
|
|
38070
|
-
return _context.abrupt("return", _context.sent);
|
|
38071
|
-
case 7:
|
|
38072
|
-
_context.prev = 7;
|
|
38073
|
-
setIsCollectingMetadata(false);
|
|
38074
|
-
// Clean up the resolvers
|
|
38075
|
-
if (window.__metadataResolvers) {
|
|
38076
|
-
delete window.__metadataResolvers;
|
|
38077
|
-
}
|
|
38078
|
-
return _context.finish(7);
|
|
38079
|
-
case 11:
|
|
38080
|
-
case "end":
|
|
38081
|
-
return _context.stop();
|
|
38082
|
-
}
|
|
38083
|
-
}, _callee, null, [[3,, 7, 11]]);
|
|
38084
|
-
}));
|
|
38085
|
-
return function collectMetadata(_x) {
|
|
38086
|
-
return _ref.apply(this, arguments);
|
|
38087
|
-
};
|
|
38088
|
-
}();
|
|
38020
|
+
var _useState2 = React.useState(null),
|
|
38021
|
+
currentMetadataItem = _useState2[0],
|
|
38022
|
+
setCurrentMetadataItem = _useState2[1];
|
|
38023
|
+
var resolverRef = React.useRef(null);
|
|
38024
|
+
var collectMetadata = function collectMetadata(item) {
|
|
38025
|
+
if (!item.metadataType || item.metadataType !== shared.MetadataType.CharacterSkin) {
|
|
38026
|
+
return Promise.resolve(null);
|
|
38027
|
+
}
|
|
38028
|
+
setIsCollectingMetadata(true);
|
|
38029
|
+
setCurrentMetadataItem(item);
|
|
38030
|
+
return new Promise(function (resolve) {
|
|
38031
|
+
resolverRef.current = resolve;
|
|
38032
|
+
});
|
|
38033
|
+
};
|
|
38034
|
+
var resolveMetadata = function resolveMetadata(metadata) {
|
|
38035
|
+
resolverRef.current == null ? void 0 : resolverRef.current(metadata);
|
|
38036
|
+
resolverRef.current = null;
|
|
38037
|
+
setIsCollectingMetadata(false);
|
|
38038
|
+
setCurrentMetadataItem(null);
|
|
38039
|
+
};
|
|
38089
38040
|
return {
|
|
38090
38041
|
collectMetadata: collectMetadata,
|
|
38091
|
-
|
|
38042
|
+
resolveMetadata: resolveMetadata,
|
|
38043
|
+
isCollectingMetadata: isCollectingMetadata,
|
|
38044
|
+
currentMetadataItem: currentMetadataItem
|
|
38092
38045
|
};
|
|
38093
38046
|
};
|
|
38094
38047
|
|
|
@@ -38107,7 +38060,9 @@ var useStoreCart = function useStoreCart() {
|
|
|
38107
38060
|
}, []);
|
|
38108
38061
|
var _useStoreMetadata = useStoreMetadata(),
|
|
38109
38062
|
collectMetadata = _useStoreMetadata.collectMetadata,
|
|
38110
|
-
|
|
38063
|
+
resolveMetadata = _useStoreMetadata.resolveMetadata,
|
|
38064
|
+
isCollectingMetadata = _useStoreMetadata.isCollectingMetadata,
|
|
38065
|
+
currentMetadataItem = _useStoreMetadata.currentMetadataItem;
|
|
38111
38066
|
var handleAddToCart = /*#__PURE__*/function () {
|
|
38112
38067
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(item, quantity, preselectedMetadata) {
|
|
38113
38068
|
var metadata;
|
|
@@ -38239,7 +38194,9 @@ var useStoreCart = function useStoreCart() {
|
|
|
38239
38194
|
closeCart: closeCart,
|
|
38240
38195
|
getTotalItems: getTotalItems,
|
|
38241
38196
|
getTotalPrice: getTotalPrice,
|
|
38242
|
-
isCollectingMetadata: isCollectingMetadata
|
|
38197
|
+
isCollectingMetadata: isCollectingMetadata,
|
|
38198
|
+
currentMetadataItem: currentMetadataItem,
|
|
38199
|
+
resolveMetadata: resolveMetadata
|
|
38243
38200
|
};
|
|
38244
38201
|
};
|
|
38245
38202
|
// Helper functions
|
|
@@ -38268,23 +38225,42 @@ var MetadataCollector = function MetadataCollector(_ref) {
|
|
|
38268
38225
|
config = _ref.config,
|
|
38269
38226
|
onCollect = _ref.onCollect,
|
|
38270
38227
|
onCancel = _ref.onCancel;
|
|
38271
|
-
|
|
38228
|
+
var isPendingRef = React.useRef(true);
|
|
38229
|
+
var finalize = React.useCallback(function (callback) {
|
|
38230
|
+
if (!isPendingRef.current) {
|
|
38231
|
+
return;
|
|
38232
|
+
}
|
|
38233
|
+
isPendingRef.current = false;
|
|
38234
|
+
callback();
|
|
38235
|
+
}, []);
|
|
38236
|
+
var handleCollect = React.useCallback(function (metadata) {
|
|
38237
|
+
finalize(function () {
|
|
38238
|
+
return onCollect(metadata);
|
|
38239
|
+
});
|
|
38240
|
+
}, [finalize, onCollect]);
|
|
38241
|
+
var handleCancel = React.useCallback(function () {
|
|
38242
|
+
finalize(onCancel);
|
|
38243
|
+
}, [finalize, onCancel]);
|
|
38272
38244
|
React.useEffect(function () {
|
|
38273
38245
|
return function () {
|
|
38274
|
-
|
|
38275
|
-
|
|
38276
|
-
|
|
38277
|
-
|
|
38278
|
-
|
|
38246
|
+
handleCancel();
|
|
38247
|
+
};
|
|
38248
|
+
}, [handleCancel]);
|
|
38249
|
+
React.useEffect(function () {
|
|
38250
|
+
if (metadataType === shared.MetadataType.CharacterSkin) {
|
|
38251
|
+
return undefined;
|
|
38252
|
+
}
|
|
38253
|
+
var timer = window.setTimeout(handleCancel, 0);
|
|
38254
|
+
return function () {
|
|
38255
|
+
return window.clearTimeout(timer);
|
|
38279
38256
|
};
|
|
38280
|
-
}, [
|
|
38281
|
-
|
|
38282
|
-
if (metadataType === 'CharacterSkin') {
|
|
38257
|
+
}, [handleCancel, metadataType]);
|
|
38258
|
+
if (metadataType === shared.MetadataType.CharacterSkin) {
|
|
38283
38259
|
return React__default.createElement(CharacterSkinSelectionModal, {
|
|
38284
38260
|
isOpen: true,
|
|
38285
|
-
onClose:
|
|
38261
|
+
onClose: handleCancel,
|
|
38286
38262
|
onConfirm: function onConfirm(selectedSkin) {
|
|
38287
|
-
return
|
|
38263
|
+
return handleCollect({
|
|
38288
38264
|
selectedSkin: selectedSkin
|
|
38289
38265
|
});
|
|
38290
38266
|
},
|
|
@@ -38293,12 +38269,9 @@ var MetadataCollector = function MetadataCollector(_ref) {
|
|
|
38293
38269
|
atlasIMG: config.atlasIMG,
|
|
38294
38270
|
initialSelectedSkin: config.initialSelectedSkin
|
|
38295
38271
|
});
|
|
38296
|
-
} else {
|
|
38297
|
-
console.warn("No collector implemented for metadata type: " + metadataType);
|
|
38298
|
-
// Auto-cancel for unhandled types to prevent hanging promises
|
|
38299
|
-
setTimeout(onCancel, 0);
|
|
38300
|
-
return null;
|
|
38301
38272
|
}
|
|
38273
|
+
console.warn("No collector implemented for metadata type: " + metadataType);
|
|
38274
|
+
return null;
|
|
38302
38275
|
};
|
|
38303
38276
|
|
|
38304
38277
|
var PaymentMethodModal = function PaymentMethodModal(_ref) {
|
|
@@ -38448,6 +38421,159 @@ var ConfirmRow$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
38448
38421
|
componentId: "sc-1dxy6lr-12"
|
|
38449
38422
|
})(["display:flex;justify-content:center;margin-top:4px;"]);
|
|
38450
38423
|
|
|
38424
|
+
function packToBlueprint(pack) {
|
|
38425
|
+
return {
|
|
38426
|
+
key: pack.key,
|
|
38427
|
+
name: pack.title,
|
|
38428
|
+
description: pack.description || '',
|
|
38429
|
+
price: pack.priceUSD,
|
|
38430
|
+
currency: shared.PaymentCurrency.USD,
|
|
38431
|
+
texturePath: pack.image["default"] || pack.image.src,
|
|
38432
|
+
type: shared.PurchaseType.Pack,
|
|
38433
|
+
onPurchase: function () {
|
|
38434
|
+
var _onPurchase = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
38435
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
38436
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38437
|
+
case 0:
|
|
38438
|
+
case "end":
|
|
38439
|
+
return _context.stop();
|
|
38440
|
+
}
|
|
38441
|
+
}, _callee);
|
|
38442
|
+
}));
|
|
38443
|
+
function onPurchase() {
|
|
38444
|
+
return _onPurchase.apply(this, arguments);
|
|
38445
|
+
}
|
|
38446
|
+
return onPurchase;
|
|
38447
|
+
}(),
|
|
38448
|
+
itemType: shared.ItemType.Consumable,
|
|
38449
|
+
itemSubType: shared.ItemSubType.Other,
|
|
38450
|
+
rarity: shared.ItemRarities.Common,
|
|
38451
|
+
weight: 0,
|
|
38452
|
+
isStackable: false,
|
|
38453
|
+
maxStackSize: 1,
|
|
38454
|
+
isUsable: false
|
|
38455
|
+
};
|
|
38456
|
+
}
|
|
38457
|
+
|
|
38458
|
+
var DEFAULT_TAB_ORDER = ['premium', 'packs', 'items'];
|
|
38459
|
+
function isTabAvailable(tabId, params) {
|
|
38460
|
+
var hidePremiumTab = params.hidePremiumTab,
|
|
38461
|
+
hasCharacters = params.hasCharacters,
|
|
38462
|
+
hasRedeem = params.hasRedeem,
|
|
38463
|
+
hasWallet = params.hasWallet,
|
|
38464
|
+
hasHistory = params.hasHistory;
|
|
38465
|
+
if (tabId === 'premium') return !hidePremiumTab;
|
|
38466
|
+
if (tabId === 'characters') return !!hasCharacters;
|
|
38467
|
+
if (tabId === 'redeem') return !!hasRedeem;
|
|
38468
|
+
if (tabId === 'wallet') return !!hasWallet;
|
|
38469
|
+
if (tabId === 'history') return !!hasHistory;
|
|
38470
|
+
return true;
|
|
38471
|
+
}
|
|
38472
|
+
function getInitialActiveTab(availableTabIds, defaultActiveTab) {
|
|
38473
|
+
var _availableTabIds$;
|
|
38474
|
+
if (defaultActiveTab && availableTabIds.includes(defaultActiveTab)) {
|
|
38475
|
+
return defaultActiveTab;
|
|
38476
|
+
}
|
|
38477
|
+
return (_availableTabIds$ = availableTabIds[0]) != null ? _availableTabIds$ : 'items';
|
|
38478
|
+
}
|
|
38479
|
+
function buildAvailableTabIds(params) {
|
|
38480
|
+
var tabOrder = params.tabOrder,
|
|
38481
|
+
hasCharacters = params.hasCharacters,
|
|
38482
|
+
hasRedeem = params.hasRedeem,
|
|
38483
|
+
hasWallet = params.hasWallet,
|
|
38484
|
+
hasHistory = params.hasHistory;
|
|
38485
|
+
var ids = [].concat(tabOrder != null ? tabOrder : DEFAULT_TAB_ORDER, hasCharacters ? ['characters'] : [], hasRedeem ? ['redeem'] : [], hasWallet ? ['wallet'] : [], hasHistory ? ['history'] : []);
|
|
38486
|
+
return Array.from(new Set(ids.filter(function (id) {
|
|
38487
|
+
return isTabAvailable(id, params);
|
|
38488
|
+
})));
|
|
38489
|
+
}
|
|
38490
|
+
function useStoreTabs(params) {
|
|
38491
|
+
var tabOrder = params.tabOrder,
|
|
38492
|
+
hidePremiumTab = params.hidePremiumTab,
|
|
38493
|
+
hasCharacters = params.hasCharacters,
|
|
38494
|
+
hasRedeem = params.hasRedeem,
|
|
38495
|
+
hasWallet = params.hasWallet,
|
|
38496
|
+
hasHistory = params.hasHistory,
|
|
38497
|
+
defaultActiveTab = params.defaultActiveTab,
|
|
38498
|
+
onTabChange = params.onTabChange,
|
|
38499
|
+
getItemCount = params.getItemCount;
|
|
38500
|
+
var availableTabIds = React.useMemo(function () {
|
|
38501
|
+
return buildAvailableTabIds({
|
|
38502
|
+
tabOrder: tabOrder,
|
|
38503
|
+
hidePremiumTab: hidePremiumTab,
|
|
38504
|
+
hasCharacters: hasCharacters,
|
|
38505
|
+
hasRedeem: hasRedeem,
|
|
38506
|
+
hasWallet: hasWallet,
|
|
38507
|
+
hasHistory: hasHistory
|
|
38508
|
+
});
|
|
38509
|
+
}, [tabOrder, hidePremiumTab, hasCharacters, hasRedeem, hasWallet, hasHistory]);
|
|
38510
|
+
var _useState = React.useState(function () {
|
|
38511
|
+
return getInitialActiveTab(availableTabIds, defaultActiveTab);
|
|
38512
|
+
}),
|
|
38513
|
+
activeTab = _useState[0],
|
|
38514
|
+
setActiveTab = _useState[1];
|
|
38515
|
+
var resolvedActiveTab = availableTabIds.includes(activeTab) ? activeTab : getInitialActiveTab(availableTabIds, defaultActiveTab);
|
|
38516
|
+
React.useEffect(function () {
|
|
38517
|
+
if (resolvedActiveTab === activeTab) {
|
|
38518
|
+
return;
|
|
38519
|
+
}
|
|
38520
|
+
setActiveTab(resolvedActiveTab);
|
|
38521
|
+
}, [activeTab, resolvedActiveTab]);
|
|
38522
|
+
var handleTabChange = function handleTabChange(tabId) {
|
|
38523
|
+
var _getItemCount;
|
|
38524
|
+
var nextTab = tabId;
|
|
38525
|
+
if (!availableTabIds.includes(nextTab) || nextTab === resolvedActiveTab) {
|
|
38526
|
+
return;
|
|
38527
|
+
}
|
|
38528
|
+
setActiveTab(nextTab);
|
|
38529
|
+
onTabChange == null ? void 0 : onTabChange(nextTab, (_getItemCount = getItemCount == null ? void 0 : getItemCount(nextTab)) != null ? _getItemCount : 0);
|
|
38530
|
+
};
|
|
38531
|
+
return {
|
|
38532
|
+
availableTabIds: availableTabIds,
|
|
38533
|
+
activeTab: resolvedActiveTab,
|
|
38534
|
+
setActiveTab: setActiveTab,
|
|
38535
|
+
handleTabChange: handleTabChange
|
|
38536
|
+
};
|
|
38537
|
+
}
|
|
38538
|
+
|
|
38539
|
+
var StoreHeader = function StoreHeader(_ref) {
|
|
38540
|
+
var tabs = _ref.tabs,
|
|
38541
|
+
activeTabId = _ref.activeTabId,
|
|
38542
|
+
onTabChange = _ref.onTabChange,
|
|
38543
|
+
cartItemCount = _ref.cartItemCount,
|
|
38544
|
+
onOpenCart = _ref.onOpenCart;
|
|
38545
|
+
return React__default.createElement(HeaderRow, null, React__default.createElement(TabsFlexWrapper, null, React__default.createElement(Tabs, {
|
|
38546
|
+
options: tabs.map(function (t) {
|
|
38547
|
+
return {
|
|
38548
|
+
id: t.id,
|
|
38549
|
+
label: t.label,
|
|
38550
|
+
icon: t.icon
|
|
38551
|
+
};
|
|
38552
|
+
}),
|
|
38553
|
+
activeTabId: activeTabId,
|
|
38554
|
+
onTabChange: onTabChange
|
|
38555
|
+
})), React__default.createElement(CartButtonWrapper, null, React__default.createElement(CTAButton, {
|
|
38556
|
+
icon: React__default.createElement(fa.FaShoppingCart, null),
|
|
38557
|
+
onClick: onOpenCart
|
|
38558
|
+
}), cartItemCount > 0 && React__default.createElement(CartBadge, null, cartItemCount)));
|
|
38559
|
+
};
|
|
38560
|
+
var HeaderRow = /*#__PURE__*/styled__default.div.withConfig({
|
|
38561
|
+
displayName: "StoreHeader__HeaderRow",
|
|
38562
|
+
componentId: "sc-1y26lw-0"
|
|
38563
|
+
})(["display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:0.25rem;padding-top:10px;padding-right:12px;"]);
|
|
38564
|
+
var TabsFlexWrapper = /*#__PURE__*/styled__default.div.withConfig({
|
|
38565
|
+
displayName: "StoreHeader__TabsFlexWrapper",
|
|
38566
|
+
componentId: "sc-1y26lw-1"
|
|
38567
|
+
})(["flex:1;min-width:0;"]);
|
|
38568
|
+
var CartButtonWrapper = /*#__PURE__*/styled__default.div.withConfig({
|
|
38569
|
+
displayName: "StoreHeader__CartButtonWrapper",
|
|
38570
|
+
componentId: "sc-1y26lw-2"
|
|
38571
|
+
})(["position:relative;flex-shrink:0;"]);
|
|
38572
|
+
var CartBadge = /*#__PURE__*/styled__default.div.withConfig({
|
|
38573
|
+
displayName: "StoreHeader__CartBadge",
|
|
38574
|
+
componentId: "sc-1y26lw-3"
|
|
38575
|
+
})(["position:absolute;top:-8px;right:-8px;background:#ef4444;color:white;font-family:'Press Start 2P',cursive;font-size:0.5rem;padding:4px;border-radius:50%;border:2px solid #000;display:flex;align-items:center;justify-content:center;min-width:16px;min-height:16px;box-sizing:content-box;"]);
|
|
38576
|
+
|
|
38451
38577
|
var ScrollableContent = function ScrollableContent(_ref) {
|
|
38452
38578
|
var items = _ref.items,
|
|
38453
38579
|
renderItem = _ref.renderItem,
|
|
@@ -38460,8 +38586,7 @@ var ScrollableContent = function ScrollableContent(_ref) {
|
|
|
38460
38586
|
layout = _ref$layout === void 0 ? 'list' : _ref$layout,
|
|
38461
38587
|
_ref$gridColumns = _ref.gridColumns,
|
|
38462
38588
|
gridColumns = _ref$gridColumns === void 0 ? 4 : _ref$gridColumns,
|
|
38463
|
-
|
|
38464
|
-
maxHeight = _ref$maxHeight === void 0 ? '500px' : _ref$maxHeight;
|
|
38589
|
+
maxHeight = _ref.maxHeight;
|
|
38465
38590
|
if (items.length === 0) {
|
|
38466
38591
|
return React__default.createElement(EmptyMessage$3, null, emptyMessage);
|
|
38467
38592
|
}
|
|
@@ -38517,8 +38642,8 @@ var StyledDropdown$7 = /*#__PURE__*/styled__default(Dropdown).withConfig({
|
|
|
38517
38642
|
var Content$4 = /*#__PURE__*/styled__default.div.withConfig({
|
|
38518
38643
|
displayName: "ScrollableContent__Content",
|
|
38519
38644
|
componentId: "sc-xhh2um-7"
|
|
38520
|
-
})(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:1rem;
|
|
38521
|
-
return
|
|
38645
|
+
})(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:1rem;", " &.grid{display:grid;grid-template-columns:repeat( ", ",minmax(0,1fr) );gap:1rem;align-items:start;.ScrollableContent-item{display:flex;align-items:flex-start;}}&.list{display:flex;flex-direction:column;gap:0.5rem;}"], function (p) {
|
|
38646
|
+
return p.$maxHeight ? "max-height: " + p.$maxHeight + "; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable;" : '';
|
|
38522
38647
|
}, function (props) {
|
|
38523
38648
|
return props.$gridColumns;
|
|
38524
38649
|
});
|
|
@@ -39100,7 +39225,7 @@ var TextInput = /*#__PURE__*/styled__default.input.withConfig({
|
|
|
39100
39225
|
componentId: "sc-ptotuo-12"
|
|
39101
39226
|
})(["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;"]);
|
|
39102
39227
|
|
|
39103
|
-
var useStoreFiltering = function useStoreFiltering(items) {
|
|
39228
|
+
var useStoreFiltering = function useStoreFiltering(items, overrideCategoryOptions) {
|
|
39104
39229
|
var _useState = React.useState(''),
|
|
39105
39230
|
searchQuery = _useState[0],
|
|
39106
39231
|
setSearchQuery = _useState[1];
|
|
@@ -39108,6 +39233,21 @@ var useStoreFiltering = function useStoreFiltering(items) {
|
|
|
39108
39233
|
selectedCategory = _useState2[0],
|
|
39109
39234
|
setSelectedCategory = _useState2[1];
|
|
39110
39235
|
var categoryOptions = React.useMemo(function () {
|
|
39236
|
+
if (overrideCategoryOptions) {
|
|
39237
|
+
var normalizedOptions = overrideCategoryOptions.some(function (opt) {
|
|
39238
|
+
return opt.value === 'all';
|
|
39239
|
+
}) ? overrideCategoryOptions : [{
|
|
39240
|
+
value: 'all',
|
|
39241
|
+
label: 'All'
|
|
39242
|
+
}].concat(overrideCategoryOptions);
|
|
39243
|
+
return normalizedOptions.map(function (opt, index) {
|
|
39244
|
+
return {
|
|
39245
|
+
id: index,
|
|
39246
|
+
value: opt.value,
|
|
39247
|
+
option: opt.label
|
|
39248
|
+
};
|
|
39249
|
+
});
|
|
39250
|
+
}
|
|
39111
39251
|
var uniqueCategories = Array.from(new Set(items.map(function (item) {
|
|
39112
39252
|
return item.itemType;
|
|
39113
39253
|
})));
|
|
@@ -39119,7 +39259,16 @@ var useStoreFiltering = function useStoreFiltering(items) {
|
|
|
39119
39259
|
option: category === 'all' ? 'All' : category
|
|
39120
39260
|
};
|
|
39121
39261
|
});
|
|
39122
|
-
}, [items]);
|
|
39262
|
+
}, [items, overrideCategoryOptions]);
|
|
39263
|
+
React.useEffect(function () {
|
|
39264
|
+
var _categoryOptions$0$va, _categoryOptions$;
|
|
39265
|
+
if (categoryOptions.some(function (option) {
|
|
39266
|
+
return option.value === selectedCategory;
|
|
39267
|
+
})) {
|
|
39268
|
+
return;
|
|
39269
|
+
}
|
|
39270
|
+
setSelectedCategory((_categoryOptions$0$va = (_categoryOptions$ = categoryOptions[0]) == null ? void 0 : _categoryOptions$.value) != null ? _categoryOptions$0$va : 'all');
|
|
39271
|
+
}, [categoryOptions, selectedCategory]);
|
|
39123
39272
|
var filteredItems = React.useMemo(function () {
|
|
39124
39273
|
return items.filter(function (item) {
|
|
39125
39274
|
var matchesSearch = item.name.toLowerCase().includes(searchQuery.toLowerCase());
|
|
@@ -39158,22 +39307,21 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
39158
39307
|
onItemView = _ref.onItemView,
|
|
39159
39308
|
onCategoryChange = _ref.onCategoryChange,
|
|
39160
39309
|
_ref$currencySymbol = _ref.currencySymbol,
|
|
39161
|
-
currencySymbol = _ref$currencySymbol === void 0 ? '$' : _ref$currencySymbol
|
|
39162
|
-
|
|
39310
|
+
currencySymbol = _ref$currencySymbol === void 0 ? '$' : _ref$currencySymbol,
|
|
39311
|
+
categoryOptionsProp = _ref.categoryOptions;
|
|
39312
|
+
var _useStoreFiltering = useStoreFiltering(items, categoryOptionsProp),
|
|
39163
39313
|
searchQuery = _useStoreFiltering.searchQuery,
|
|
39164
39314
|
setSearchQuery = _useStoreFiltering.setSearchQuery,
|
|
39165
39315
|
selectedCategory = _useStoreFiltering.selectedCategory,
|
|
39166
39316
|
setSelectedCategory = _useStoreFiltering.setSelectedCategory,
|
|
39167
39317
|
categoryOptions = _useStoreFiltering.categoryOptions,
|
|
39168
39318
|
filteredItems = _useStoreFiltering.filteredItems;
|
|
39169
|
-
// Fire category change event when the filter changes
|
|
39170
39319
|
React.useEffect(function () {
|
|
39171
39320
|
onCategoryChange == null ? void 0 : onCategoryChange(selectedCategory, filteredItems.length);
|
|
39172
39321
|
}, [selectedCategory, filteredItems.length]);
|
|
39173
39322
|
var renderStoreItem = function renderStoreItem(item) {
|
|
39174
39323
|
var meta = itemBadges[item.key];
|
|
39175
39324
|
var position = filteredItems.indexOf(item);
|
|
39176
|
-
// Prefer a specialized character skin row when needed
|
|
39177
39325
|
if (item.metadataType === shared.MetadataType.CharacterSkin) {
|
|
39178
39326
|
return React__default.createElement(StoreCharacterSkinRow, {
|
|
39179
39327
|
key: item.key,
|
|
@@ -39184,7 +39332,6 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
39184
39332
|
userAccountType: userAccountType || shared.UserAccountTypes.Free
|
|
39185
39333
|
});
|
|
39186
39334
|
}
|
|
39187
|
-
// Render text input row when configured for this item key
|
|
39188
39335
|
if (textInputItemKeys.includes(item.key)) {
|
|
39189
39336
|
return React__default.createElement(StoreItemRow, Object.assign({
|
|
39190
39337
|
key: item.key,
|
|
@@ -39200,7 +39347,6 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
39200
39347
|
currencySymbol: currencySymbol
|
|
39201
39348
|
}, meta));
|
|
39202
39349
|
}
|
|
39203
|
-
// Fallback to standard arrow-based row
|
|
39204
39350
|
return React__default.createElement(StoreItemRow, Object.assign({
|
|
39205
39351
|
key: item.key,
|
|
39206
39352
|
item: item,
|
|
@@ -39214,19 +39360,7 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
39214
39360
|
currencySymbol: currencySymbol
|
|
39215
39361
|
}, meta));
|
|
39216
39362
|
};
|
|
39217
|
-
|
|
39218
|
-
showFilters = _useState[0],
|
|
39219
|
-
setShowFilters = _useState[1];
|
|
39220
|
-
return React__default.createElement(StoreContainer, null, React__default.createElement(FilterBar, null, React__default.createElement(FilterToggle, {
|
|
39221
|
-
"$active": showFilters,
|
|
39222
|
-
onClick: function onClick() {
|
|
39223
|
-
return setShowFilters(function (prev) {
|
|
39224
|
-
return !prev;
|
|
39225
|
-
});
|
|
39226
|
-
}
|
|
39227
|
-
}, React__default.createElement(fa.FaFilter, {
|
|
39228
|
-
size: 12
|
|
39229
|
-
}), React__default.createElement("span", null, "Filter"))), showFilters && React__default.createElement(SearchHeader$2, null, React__default.createElement(SearchBarContainer$1, null, React__default.createElement(SearchBar, {
|
|
39363
|
+
return React__default.createElement(StoreContainer, null, React__default.createElement(SearchHeader$2, null, React__default.createElement(SearchBarContainer$1, null, React__default.createElement(SearchBar, {
|
|
39230
39364
|
value: searchQuery,
|
|
39231
39365
|
onChange: setSearchQuery,
|
|
39232
39366
|
placeholder: "Search items..."
|
|
@@ -39238,15 +39372,12 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
|
|
|
39238
39372
|
};
|
|
39239
39373
|
}),
|
|
39240
39374
|
activeId: selectedCategory,
|
|
39241
|
-
onChange:
|
|
39242
|
-
return setSelectedCategory(id);
|
|
39243
|
-
}
|
|
39375
|
+
onChange: setSelectedCategory
|
|
39244
39376
|
})), React__default.createElement(ScrollableContent, {
|
|
39245
39377
|
items: filteredItems,
|
|
39246
39378
|
renderItem: renderStoreItem,
|
|
39247
39379
|
emptyMessage: "No items match your filters.",
|
|
39248
|
-
layout: "list"
|
|
39249
|
-
maxHeight: "none"
|
|
39380
|
+
layout: "list"
|
|
39250
39381
|
}));
|
|
39251
39382
|
};
|
|
39252
39383
|
var StoreContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
@@ -39256,22 +39387,11 @@ var StoreContainer = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
39256
39387
|
var SearchHeader$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
39257
39388
|
displayName: "StoreItemsSection__SearchHeader",
|
|
39258
39389
|
componentId: "sc-l6f466-1"
|
|
39259
|
-
})(["display:flex;gap:0.5rem;align-items:center;padding
|
|
39390
|
+
})(["display:flex;gap:0.5rem;align-items:center;padding:0.25rem 1rem 0;"]);
|
|
39260
39391
|
var SearchBarContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
39261
39392
|
displayName: "StoreItemsSection__SearchBarContainer",
|
|
39262
39393
|
componentId: "sc-l6f466-2"
|
|
39263
39394
|
})(["flex:0.75;"]);
|
|
39264
|
-
var FilterBar = /*#__PURE__*/styled__default.div.withConfig({
|
|
39265
|
-
displayName: "StoreItemsSection__FilterBar",
|
|
39266
|
-
componentId: "sc-l6f466-3"
|
|
39267
|
-
})(["display:flex;padding-top:0.25rem;"]);
|
|
39268
|
-
var FilterToggle = /*#__PURE__*/styled__default.button.withConfig({
|
|
39269
|
-
displayName: "StoreItemsSection__FilterToggle",
|
|
39270
|
-
componentId: "sc-l6f466-4"
|
|
39271
|
-
})(["display:flex;align-items:center;gap:0.4rem;background:", ";border:1px solid rgba(255,255,255,0.3);color:#fff;padding:0.3rem 0.6rem;border-radius:4px;cursor:pointer;font-family:'Press Start 2P',cursive;font-size:0.55rem;&:hover{background:rgba(255,255,255,0.1);}"], function (_ref2) {
|
|
39272
|
-
var $active = _ref2.$active;
|
|
39273
|
-
return $active ? 'rgba(255,255,255,0.15)' : 'transparent';
|
|
39274
|
-
});
|
|
39275
39395
|
|
|
39276
39396
|
var usePackFiltering = function usePackFiltering(packs) {
|
|
39277
39397
|
var _useState = React.useState(''),
|
|
@@ -39419,8 +39539,7 @@ var StorePacksSection = function StorePacksSection(_ref2) {
|
|
|
39419
39539
|
onChange: setSearchQuery,
|
|
39420
39540
|
placeholder: 'Search packs...'
|
|
39421
39541
|
},
|
|
39422
|
-
layout: "list"
|
|
39423
|
-
maxHeight: "50vh"
|
|
39542
|
+
layout: "list"
|
|
39424
39543
|
});
|
|
39425
39544
|
};
|
|
39426
39545
|
var PackRow = /*#__PURE__*/styled__default(ItemRowWrapper).withConfig({
|
|
@@ -39724,7 +39843,7 @@ var Store = function Store(_ref) {
|
|
|
39724
39843
|
packs = _ref$packs === void 0 ? [] : _ref$packs,
|
|
39725
39844
|
atlasJSON = _ref.atlasJSON,
|
|
39726
39845
|
atlasIMG = _ref.atlasIMG,
|
|
39727
|
-
|
|
39846
|
+
_onPurchase = _ref.onPurchase,
|
|
39728
39847
|
onShowHistory = _ref.onShowHistory,
|
|
39729
39848
|
onShowWallet = _ref.onShowWallet,
|
|
39730
39849
|
walletLabel = _ref.walletLabel,
|
|
@@ -39745,11 +39864,6 @@ var Store = function Store(_ref) {
|
|
|
39745
39864
|
customHistoryContent = _ref.customHistoryContent,
|
|
39746
39865
|
_ref$fullScreen = _ref.fullScreen,
|
|
39747
39866
|
fullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
|
|
39748
|
-
containerWidth = _ref.containerWidth,
|
|
39749
|
-
containerHeight = _ref.containerHeight,
|
|
39750
|
-
mobileContainerWidth = _ref.mobileContainerWidth,
|
|
39751
|
-
mobileContainerHeight = _ref.mobileContainerHeight,
|
|
39752
|
-
mobileBreakpoint = _ref.mobileBreakpoint,
|
|
39753
39867
|
_ref$packsTabLabel = _ref.packsTabLabel,
|
|
39754
39868
|
packsTabLabel = _ref$packsTabLabel === void 0 ? 'Packs' : _ref$packsTabLabel,
|
|
39755
39869
|
packsBadge = _ref.packsBadge,
|
|
@@ -39759,7 +39873,7 @@ var Store = function Store(_ref) {
|
|
|
39759
39873
|
packBadges = _ref.packBadges,
|
|
39760
39874
|
onItemView = _ref.onItemView,
|
|
39761
39875
|
onPackView = _ref.onPackView,
|
|
39762
|
-
|
|
39876
|
+
onTabChange = _ref.onTabChange,
|
|
39763
39877
|
onCategoryChange = _ref.onCategoryChange,
|
|
39764
39878
|
onCartOpen = _ref.onCartOpen,
|
|
39765
39879
|
onAddToCart = _ref.onAddToCart,
|
|
@@ -39767,29 +39881,19 @@ var Store = function Store(_ref) {
|
|
|
39767
39881
|
onCheckoutStart = _ref.onCheckoutStart,
|
|
39768
39882
|
onPurchaseSuccess = _ref.onPurchaseSuccess,
|
|
39769
39883
|
onPurchaseError = _ref.onPurchaseError,
|
|
39770
|
-
onBuyDC = _ref.onBuyDC,
|
|
39771
39884
|
_ref$currencySymbol = _ref.currencySymbol,
|
|
39772
39885
|
currencySymbol = _ref$currencySymbol === void 0 ? '$' : _ref$currencySymbol,
|
|
39773
39886
|
onRedeem = _ref.onRedeem,
|
|
39774
39887
|
onRedeemInputFocus = _ref.onRedeemInputFocus,
|
|
39775
|
-
onRedeemInputBlur = _ref.onRedeemInputBlur
|
|
39776
|
-
|
|
39888
|
+
onRedeemInputBlur = _ref.onRedeemInputBlur,
|
|
39889
|
+
_ref$width = _ref.width,
|
|
39890
|
+
width = _ref$width === void 0 ? '1000px' : _ref$width,
|
|
39891
|
+
_ref$height = _ref.height,
|
|
39892
|
+
height = _ref$height === void 0 ? 'min(85vh, 900px)' : _ref$height,
|
|
39893
|
+
itemCategoryOptions = _ref.itemCategoryOptions;
|
|
39777
39894
|
var _useState = React.useState(null),
|
|
39778
39895
|
selectedPack = _useState[0],
|
|
39779
39896
|
setSelectedPack = _useState[1];
|
|
39780
|
-
var _useState2 = React.useState(function () {
|
|
39781
|
-
var _validTabs$;
|
|
39782
|
-
var allTabIds = [].concat(tabOrder != null ? tabOrder : defaultTabOrder, customCharactersContent ? ['characters'] : [], onRedeem ? ['redeem'] : [], onShowWallet || customWalletContent ? ['wallet'] : [], onShowHistory || customHistoryContent ? ['history'] : []);
|
|
39783
|
-
var validTabs = Array.from(new Set(allTabIds.filter(function (id) {
|
|
39784
|
-
return !(hidePremiumTab && id === 'premium');
|
|
39785
|
-
})));
|
|
39786
|
-
if (defaultActiveTab && validTabs.includes(defaultActiveTab)) {
|
|
39787
|
-
return defaultActiveTab;
|
|
39788
|
-
}
|
|
39789
|
-
return (_validTabs$ = validTabs[0]) != null ? _validTabs$ : hidePremiumTab ? 'items' : 'premium';
|
|
39790
|
-
}),
|
|
39791
|
-
activeTab = _useState2[0],
|
|
39792
|
-
setActiveTab = _useState2[1];
|
|
39793
39897
|
var _useStoreCart = useStoreCart(),
|
|
39794
39898
|
cartItems = _useStoreCart.cartItems,
|
|
39795
39899
|
handleAddToCart = _useStoreCart.handleAddToCart,
|
|
@@ -39799,13 +39903,38 @@ var Store = function Store(_ref) {
|
|
|
39799
39903
|
closeCart = _useStoreCart.closeCart,
|
|
39800
39904
|
getTotalItems = _useStoreCart.getTotalItems,
|
|
39801
39905
|
getTotalPrice = _useStoreCart.getTotalPrice,
|
|
39802
|
-
isCartOpen = _useStoreCart.isCartOpen
|
|
39803
|
-
|
|
39804
|
-
|
|
39805
|
-
|
|
39806
|
-
var
|
|
39807
|
-
|
|
39808
|
-
|
|
39906
|
+
isCartOpen = _useStoreCart.isCartOpen,
|
|
39907
|
+
isCollectingMetadata = _useStoreCart.isCollectingMetadata,
|
|
39908
|
+
currentMetadataItem = _useStoreCart.currentMetadataItem,
|
|
39909
|
+
resolveMetadata = _useStoreCart.resolveMetadata;
|
|
39910
|
+
var filteredItems = React.useMemo(function () {
|
|
39911
|
+
return {
|
|
39912
|
+
items: items,
|
|
39913
|
+
premium: items.filter(function (item) {
|
|
39914
|
+
var _item$requiredAccount, _item$requiredAccount2;
|
|
39915
|
+
return ((_item$requiredAccount = (_item$requiredAccount2 = item.requiredAccountType) == null ? void 0 : _item$requiredAccount2.length) != null ? _item$requiredAccount : 0) > 0;
|
|
39916
|
+
})
|
|
39917
|
+
};
|
|
39918
|
+
}, [items]);
|
|
39919
|
+
var _useStoreTabs = useStoreTabs({
|
|
39920
|
+
tabOrder: tabOrder,
|
|
39921
|
+
defaultActiveTab: defaultActiveTab,
|
|
39922
|
+
hidePremiumTab: hidePremiumTab,
|
|
39923
|
+
hasCharacters: !!customCharactersContent,
|
|
39924
|
+
hasRedeem: !!onRedeem,
|
|
39925
|
+
hasWallet: !!(onShowWallet || customWalletContent),
|
|
39926
|
+
hasHistory: !!(onShowHistory || customHistoryContent),
|
|
39927
|
+
onTabChange: onTabChange,
|
|
39928
|
+
getItemCount: function getItemCount(tab) {
|
|
39929
|
+
if (tab === 'items') return filteredItems.items.length;
|
|
39930
|
+
if (tab === 'premium') return filteredItems.premium.length;
|
|
39931
|
+
if (tab === 'packs') return packs.length;
|
|
39932
|
+
return 0;
|
|
39933
|
+
}
|
|
39934
|
+
}),
|
|
39935
|
+
availableTabIds = _useStoreTabs.availableTabIds,
|
|
39936
|
+
activeTab = _useStoreTabs.activeTab,
|
|
39937
|
+
handleTabChange = _useStoreTabs.handleTabChange;
|
|
39809
39938
|
var handleOpenCart = function handleOpenCart() {
|
|
39810
39939
|
openCart();
|
|
39811
39940
|
onCartOpen == null ? void 0 : onCartOpen();
|
|
@@ -39822,85 +39951,13 @@ var Store = function Store(_ref) {
|
|
|
39822
39951
|
if (quantity === void 0) {
|
|
39823
39952
|
quantity = 1;
|
|
39824
39953
|
}
|
|
39825
|
-
var
|
|
39826
|
-
|
|
39827
|
-
|
|
39828
|
-
description: pack.description || '',
|
|
39829
|
-
price: pack.priceUSD,
|
|
39830
|
-
currency: shared.PaymentCurrency.USD,
|
|
39831
|
-
texturePath: pack.image["default"] || pack.image.src,
|
|
39832
|
-
type: shared.PurchaseType.Pack,
|
|
39833
|
-
onPurchase: function () {
|
|
39834
|
-
var _onPurchase = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
39835
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
39836
|
-
while (1) switch (_context.prev = _context.next) {
|
|
39837
|
-
case 0:
|
|
39838
|
-
case "end":
|
|
39839
|
-
return _context.stop();
|
|
39840
|
-
}
|
|
39841
|
-
}, _callee);
|
|
39842
|
-
}));
|
|
39843
|
-
function onPurchase() {
|
|
39844
|
-
return _onPurchase.apply(this, arguments);
|
|
39845
|
-
}
|
|
39846
|
-
return onPurchase;
|
|
39847
|
-
}(),
|
|
39848
|
-
itemType: shared.ItemType.Consumable,
|
|
39849
|
-
itemSubType: shared.ItemSubType.Other,
|
|
39850
|
-
rarity: shared.ItemRarities.Common,
|
|
39851
|
-
weight: 0,
|
|
39852
|
-
isStackable: false,
|
|
39853
|
-
maxStackSize: 1,
|
|
39854
|
-
isUsable: false
|
|
39855
|
-
};
|
|
39856
|
-
handleAddToCart(packItem, quantity);
|
|
39857
|
-
onAddToCart == null ? void 0 : onAddToCart(packItem, quantity);
|
|
39858
|
-
};
|
|
39859
|
-
var filterItems = function filterItems(itemsToFilter, type) {
|
|
39860
|
-
return itemsToFilter.filter(function (item) {
|
|
39861
|
-
if (type === 'premium') {
|
|
39862
|
-
var _item$requiredAccount, _item$requiredAccount2;
|
|
39863
|
-
return (_item$requiredAccount = (_item$requiredAccount2 = item.requiredAccountType) == null ? void 0 : _item$requiredAccount2.length) != null ? _item$requiredAccount : 0 > 0;
|
|
39864
|
-
}
|
|
39865
|
-
return true;
|
|
39866
|
-
});
|
|
39867
|
-
};
|
|
39868
|
-
var filteredItems = React.useMemo(function () {
|
|
39869
|
-
return {
|
|
39870
|
-
items: filterItems(items, 'items'),
|
|
39871
|
-
premium: filterItems(items, 'premium')
|
|
39872
|
-
};
|
|
39873
|
-
}, [items]);
|
|
39874
|
-
var handleMetadataCollected = function handleMetadataCollected(metadata) {
|
|
39875
|
-
if (currentMetadataItem && window.__metadataResolvers) {
|
|
39876
|
-
// Resolve the promise in the useStoreMetadata hook
|
|
39877
|
-
window.__metadataResolvers.resolve(metadata);
|
|
39878
|
-
// Reset the metadata collection state
|
|
39879
|
-
setCurrentMetadataItem(null);
|
|
39880
|
-
// Removed unused setPendingMetadataQuantity call
|
|
39881
|
-
}
|
|
39954
|
+
var bp = packToBlueprint(pack);
|
|
39955
|
+
handleAddToCart(bp, quantity);
|
|
39956
|
+
onAddToCart == null ? void 0 : onAddToCart(bp, quantity);
|
|
39882
39957
|
};
|
|
39883
|
-
var
|
|
39884
|
-
|
|
39885
|
-
|
|
39886
|
-
window.__metadataResolvers.resolve(null);
|
|
39887
|
-
}
|
|
39888
|
-
// Reset the metadata collection state
|
|
39889
|
-
setCurrentMetadataItem(null);
|
|
39890
|
-
// Removed unused setPendingMetadataQuantity call
|
|
39891
|
-
setIsCollectingMetadata(false);
|
|
39892
|
-
};
|
|
39893
|
-
if (loading) {
|
|
39894
|
-
return React__default.createElement(LoadingMessage$1, null, "Loading...");
|
|
39895
|
-
}
|
|
39896
|
-
if (error) {
|
|
39897
|
-
return React__default.createElement(ErrorMessage$3, null, error);
|
|
39898
|
-
}
|
|
39899
|
-
// Build tabs dynamically based on props
|
|
39900
|
-
var tabIds = [].concat(tabOrder != null ? tabOrder : defaultTabOrder, customCharactersContent ? ['characters'] : [], onRedeem ? ['redeem'] : [], onShowWallet || customWalletContent ? ['wallet'] : [], onShowHistory || customHistoryContent ? ['history'] : []);
|
|
39901
|
-
var availableTabIds = Array.from(new Set(tabIds.filter(function (id) {
|
|
39902
|
-
return !(hidePremiumTab && id === 'premium');
|
|
39903
|
-
})));
|
|
39958
|
+
var makePackQuickBuy = onQuickBuy ? function (pack, qty) {
|
|
39959
|
+
return onQuickBuy(packToBlueprint(pack), qty);
|
|
39960
|
+
} : undefined;
|
|
39904
39961
|
var tabsMap = {
|
|
39905
39962
|
premium: {
|
|
39906
39963
|
id: 'premium',
|
|
@@ -39914,40 +39971,7 @@ var Store = function Store(_ref) {
|
|
|
39914
39971
|
return pack.priceUSD >= 9.99;
|
|
39915
39972
|
}),
|
|
39916
39973
|
onAddToCart: handleAddPackToCart,
|
|
39917
|
-
onQuickBuy:
|
|
39918
|
-
var bp = {
|
|
39919
|
-
key: pack.key,
|
|
39920
|
-
name: pack.title,
|
|
39921
|
-
description: pack.description || '',
|
|
39922
|
-
price: pack.priceUSD,
|
|
39923
|
-
currency: shared.PaymentCurrency.USD,
|
|
39924
|
-
texturePath: pack.image["default"] || pack.image.src,
|
|
39925
|
-
type: shared.PurchaseType.Pack,
|
|
39926
|
-
onPurchase: function () {
|
|
39927
|
-
var _onPurchase2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
39928
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
39929
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
39930
|
-
case 0:
|
|
39931
|
-
case "end":
|
|
39932
|
-
return _context2.stop();
|
|
39933
|
-
}
|
|
39934
|
-
}, _callee2);
|
|
39935
|
-
}));
|
|
39936
|
-
function onPurchase() {
|
|
39937
|
-
return _onPurchase2.apply(this, arguments);
|
|
39938
|
-
}
|
|
39939
|
-
return onPurchase;
|
|
39940
|
-
}(),
|
|
39941
|
-
itemType: shared.ItemType.Consumable,
|
|
39942
|
-
itemSubType: shared.ItemSubType.Other,
|
|
39943
|
-
rarity: shared.ItemRarities.Common,
|
|
39944
|
-
weight: 0,
|
|
39945
|
-
isStackable: false,
|
|
39946
|
-
maxStackSize: 1,
|
|
39947
|
-
isUsable: false
|
|
39948
|
-
};
|
|
39949
|
-
onQuickBuy(bp, qty);
|
|
39950
|
-
} : undefined,
|
|
39974
|
+
onQuickBuy: makePackQuickBuy,
|
|
39951
39975
|
onSelectPack: setSelectedPack,
|
|
39952
39976
|
atlasJSON: atlasJSON,
|
|
39953
39977
|
atlasIMG: atlasIMG,
|
|
@@ -39972,40 +39996,7 @@ var Store = function Store(_ref) {
|
|
|
39972
39996
|
return pack.priceUSD < 9.99;
|
|
39973
39997
|
}),
|
|
39974
39998
|
onAddToCart: handleAddPackToCart,
|
|
39975
|
-
onQuickBuy:
|
|
39976
|
-
var bp = {
|
|
39977
|
-
key: pack.key,
|
|
39978
|
-
name: pack.title,
|
|
39979
|
-
description: pack.description || '',
|
|
39980
|
-
price: pack.priceUSD,
|
|
39981
|
-
currency: shared.PaymentCurrency.USD,
|
|
39982
|
-
texturePath: pack.image["default"] || pack.image.src,
|
|
39983
|
-
type: shared.PurchaseType.Pack,
|
|
39984
|
-
onPurchase: function () {
|
|
39985
|
-
var _onPurchase3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
39986
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
39987
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
39988
|
-
case 0:
|
|
39989
|
-
case "end":
|
|
39990
|
-
return _context3.stop();
|
|
39991
|
-
}
|
|
39992
|
-
}, _callee3);
|
|
39993
|
-
}));
|
|
39994
|
-
function onPurchase() {
|
|
39995
|
-
return _onPurchase3.apply(this, arguments);
|
|
39996
|
-
}
|
|
39997
|
-
return onPurchase;
|
|
39998
|
-
}(),
|
|
39999
|
-
itemType: shared.ItemType.Consumable,
|
|
40000
|
-
itemSubType: shared.ItemSubType.Other,
|
|
40001
|
-
rarity: shared.ItemRarities.Common,
|
|
40002
|
-
weight: 0,
|
|
40003
|
-
isStackable: false,
|
|
40004
|
-
maxStackSize: 1,
|
|
40005
|
-
isUsable: false
|
|
40006
|
-
};
|
|
40007
|
-
onQuickBuy(bp, qty);
|
|
40008
|
-
} : undefined,
|
|
39999
|
+
onQuickBuy: makePackQuickBuy,
|
|
40009
40000
|
onSelectPack: setSelectedPack,
|
|
40010
40001
|
atlasJSON: atlasJSON,
|
|
40011
40002
|
atlasIMG: atlasIMG,
|
|
@@ -40024,7 +40015,7 @@ var Store = function Store(_ref) {
|
|
|
40024
40015
|
content: React__default.createElement(StoreItemsSection, {
|
|
40025
40016
|
items: filteredItems.items,
|
|
40026
40017
|
onAddToCart: handleAddToCartTracked,
|
|
40027
|
-
onQuickBuy: onQuickBuy ? function (item, qty
|
|
40018
|
+
onQuickBuy: onQuickBuy ? function (item, qty) {
|
|
40028
40019
|
return onQuickBuy(item, qty);
|
|
40029
40020
|
} : undefined,
|
|
40030
40021
|
atlasJSON: atlasJSON,
|
|
@@ -40034,7 +40025,8 @@ var Store = function Store(_ref) {
|
|
|
40034
40025
|
itemBadges: itemBadges,
|
|
40035
40026
|
onItemView: onItemView,
|
|
40036
40027
|
onCategoryChange: onCategoryChange,
|
|
40037
|
-
currencySymbol: currencySymbol
|
|
40028
|
+
currencySymbol: currencySymbol,
|
|
40029
|
+
categoryOptions: itemCategoryOptions
|
|
40038
40030
|
})
|
|
40039
40031
|
},
|
|
40040
40032
|
characters: {
|
|
@@ -40084,42 +40076,42 @@ var Store = function Store(_ref) {
|
|
|
40084
40076
|
}))
|
|
40085
40077
|
}
|
|
40086
40078
|
};
|
|
40079
|
+
if (loading) return React__default.createElement(LoadingMessage$1, null, "Loading...");
|
|
40080
|
+
if (error) return React__default.createElement(ErrorMessage$3, null, error);
|
|
40087
40081
|
return React__default.createElement(DraggableContainer, {
|
|
40088
|
-
title: "Store",
|
|
40089
40082
|
onCloseButton: onClose,
|
|
40090
|
-
width:
|
|
40083
|
+
width: width,
|
|
40091
40084
|
minWidth: "700px",
|
|
40092
|
-
height:
|
|
40093
|
-
mobileWidth: mobileContainerWidth != null ? mobileContainerWidth : "95vw",
|
|
40094
|
-
mobileHeight: mobileContainerHeight != null ? mobileContainerHeight : "95vh",
|
|
40095
|
-
mobileBreakpoint: mobileBreakpoint,
|
|
40085
|
+
height: height,
|
|
40096
40086
|
type: exports.RPGUIContainerTypes.Framed,
|
|
40097
|
-
cancelDrag: "
|
|
40087
|
+
cancelDrag: ".store-scroll-area, [class*='CartView'], [class*='StoreItemDetails'], .close-button",
|
|
40098
40088
|
isFullScreen: fullScreen
|
|
40099
|
-
}, isCollectingMetadata && currentMetadataItem && currentMetadataItem.metadataType ? React__default.createElement(MetadataCollector, {
|
|
40089
|
+
}, isCollectingMetadata && currentMetadataItem != null && currentMetadataItem.metadataType ? React__default.createElement(MetadataCollector, {
|
|
40100
40090
|
metadataType: currentMetadataItem.metadataType,
|
|
40101
40091
|
config: currentMetadataItem.metadataConfig || {},
|
|
40102
|
-
onCollect:
|
|
40103
|
-
onCancel:
|
|
40092
|
+
onCollect: resolveMetadata,
|
|
40093
|
+
onCancel: function onCancel() {
|
|
40094
|
+
return resolveMetadata(null);
|
|
40095
|
+
}
|
|
40104
40096
|
}) : isCartOpen ? React__default.createElement(CartView, {
|
|
40105
40097
|
cartItems: cartItems,
|
|
40106
40098
|
onRemoveFromCart: handleRemoveFromCartTracked,
|
|
40107
40099
|
onClose: closeCart,
|
|
40108
40100
|
onPurchase: function () {
|
|
40109
|
-
var
|
|
40110
|
-
return _regeneratorRuntime().wrap(function
|
|
40111
|
-
while (1) switch (
|
|
40101
|
+
var _onPurchase2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
40102
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
40103
|
+
while (1) switch (_context.prev = _context.next) {
|
|
40112
40104
|
case 0:
|
|
40113
|
-
handleCartPurchase(
|
|
40114
|
-
return
|
|
40105
|
+
handleCartPurchase(_onPurchase);
|
|
40106
|
+
return _context.abrupt("return", true);
|
|
40115
40107
|
case 2:
|
|
40116
40108
|
case "end":
|
|
40117
|
-
return
|
|
40109
|
+
return _context.stop();
|
|
40118
40110
|
}
|
|
40119
|
-
},
|
|
40111
|
+
}, _callee);
|
|
40120
40112
|
}));
|
|
40121
40113
|
function onPurchase() {
|
|
40122
|
-
return
|
|
40114
|
+
return _onPurchase2.apply(this, arguments);
|
|
40123
40115
|
}
|
|
40124
40116
|
return onPurchase;
|
|
40125
40117
|
}(),
|
|
@@ -40128,7 +40120,6 @@ var Store = function Store(_ref) {
|
|
|
40128
40120
|
onCheckoutStart: onCheckoutStart,
|
|
40129
40121
|
onPurchaseSuccess: onPurchaseSuccess,
|
|
40130
40122
|
onPurchaseError: onPurchaseError,
|
|
40131
|
-
onBuyDC: onBuyDC,
|
|
40132
40123
|
currencySymbol: currencySymbol
|
|
40133
40124
|
}) : selectedPack ? React__default.createElement(StoreItemDetails, {
|
|
40134
40125
|
item: _extends({}, selectedPack, {
|
|
@@ -40143,7 +40134,9 @@ var Store = function Store(_ref) {
|
|
|
40143
40134
|
return handleAddPackToCart(selectedPack);
|
|
40144
40135
|
},
|
|
40145
40136
|
currencySymbol: currencySymbol
|
|
40146
|
-
}) : React__default.createElement(Container$Q,
|
|
40137
|
+
}) : React__default.createElement(Container$Q, {
|
|
40138
|
+
className: "store-scroll-area"
|
|
40139
|
+
}, featuredItems && featuredItems.length > 0 && React__default.createElement(FeaturedBanner, {
|
|
40147
40140
|
items: featuredItems,
|
|
40148
40141
|
atlasJSON: atlasJSON,
|
|
40149
40142
|
atlasIMG: atlasIMG,
|
|
@@ -40157,48 +40150,17 @@ var Store = function Store(_ref) {
|
|
|
40157
40150
|
var blueprint = items.find(function (bp) {
|
|
40158
40151
|
return bp.key === item.key;
|
|
40159
40152
|
});
|
|
40160
|
-
if (blueprint)
|
|
40153
|
+
if (blueprint) {
|
|
40154
|
+
onQuickBuy(blueprint, 1);
|
|
40155
|
+
} else {
|
|
40161
40156
|
var pack = packs.find(function (p) {
|
|
40162
40157
|
return p.key === item.key;
|
|
40163
40158
|
});
|
|
40164
|
-
if (pack)
|
|
40165
|
-
var packBlueprint = {
|
|
40166
|
-
key: pack.key,
|
|
40167
|
-
name: pack.title,
|
|
40168
|
-
description: pack.description || '',
|
|
40169
|
-
price: pack.priceUSD,
|
|
40170
|
-
currency: shared.PaymentCurrency.USD,
|
|
40171
|
-
texturePath: pack.image["default"] || pack.image.src,
|
|
40172
|
-
type: shared.PurchaseType.Pack,
|
|
40173
|
-
onPurchase: function () {
|
|
40174
|
-
var _onPurchase6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
40175
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
40176
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
40177
|
-
case 0:
|
|
40178
|
-
case "end":
|
|
40179
|
-
return _context5.stop();
|
|
40180
|
-
}
|
|
40181
|
-
}, _callee5);
|
|
40182
|
-
}));
|
|
40183
|
-
function onPurchase() {
|
|
40184
|
-
return _onPurchase6.apply(this, arguments);
|
|
40185
|
-
}
|
|
40186
|
-
return onPurchase;
|
|
40187
|
-
}(),
|
|
40188
|
-
itemType: shared.ItemType.Consumable,
|
|
40189
|
-
itemSubType: shared.ItemSubType.Other,
|
|
40190
|
-
rarity: shared.ItemRarities.Common,
|
|
40191
|
-
weight: 0,
|
|
40192
|
-
isStackable: false,
|
|
40193
|
-
maxStackSize: 1,
|
|
40194
|
-
isUsable: false
|
|
40195
|
-
};
|
|
40196
|
-
onQuickBuy(packBlueprint, 1);
|
|
40197
|
-
}
|
|
40159
|
+
if (pack) onQuickBuy(packToBlueprint(pack), 1);
|
|
40198
40160
|
}
|
|
40199
40161
|
} : undefined
|
|
40200
|
-
}), React__default.createElement(MainContent$
|
|
40201
|
-
|
|
40162
|
+
}), React__default.createElement(MainContent$2, null, React__default.createElement(StoreHeader, {
|
|
40163
|
+
tabs: availableTabIds.map(function (id) {
|
|
40202
40164
|
var _tabsMap$id, _tabsMap$id2;
|
|
40203
40165
|
return {
|
|
40204
40166
|
id: id,
|
|
@@ -40207,20 +40169,12 @@ var Store = function Store(_ref) {
|
|
|
40207
40169
|
};
|
|
40208
40170
|
}),
|
|
40209
40171
|
activeTabId: activeTab,
|
|
40210
|
-
onTabChange:
|
|
40211
|
-
|
|
40212
|
-
|
|
40213
|
-
|
|
40214
|
-
var itemCount = nextTab === 'items' ? filteredItems.items.length : nextTab === 'premium' ? filteredItems.premium.length : nextTab === 'packs' ? packs.length : 0;
|
|
40215
|
-
_onTabChange(nextTab, itemCount);
|
|
40216
|
-
}
|
|
40217
|
-
}
|
|
40218
|
-
})), React__default.createElement(CartButtonWrapper, null, React__default.createElement(CTAButton, {
|
|
40172
|
+
onTabChange: handleTabChange,
|
|
40173
|
+
cartItemCount: getTotalItems(),
|
|
40174
|
+
onOpenCart: handleOpenCart
|
|
40175
|
+
}), React__default.createElement(TabContent, null, (_tabsMap$activeTab = tabsMap[activeTab]) == null ? void 0 : _tabsMap$activeTab.content)), cartItems.length > 0 && React__default.createElement(Footer$3, null, React__default.createElement(CTAButton, {
|
|
40219
40176
|
icon: React__default.createElement(fa.FaShoppingCart, null),
|
|
40220
|
-
|
|
40221
|
-
}), getTotalItems() > 0 && React__default.createElement(CartBadge, null, getTotalItems()))), React__default.createElement(TabContent, null, (_tabsMap$activeTab = tabsMap[activeTab]) == null ? void 0 : _tabsMap$activeTab.content)), cartItems.length > 0 && React__default.createElement(Footer$3, null, React__default.createElement(CTAButton, {
|
|
40222
|
-
icon: React__default.createElement(fa.FaShoppingCart, null),
|
|
40223
|
-
label: "Checkout \xB7 " + getTotalItems() + " item" + (getTotalItems() !== 1 ? 's' : '') + " (" + currencySymbol + getTotalPrice().toFixed(2) + ")",
|
|
40177
|
+
label: "Proceed to Checkout (" + currencySymbol + getTotalPrice().toFixed(2) + ")",
|
|
40224
40178
|
onClick: handleOpenCart,
|
|
40225
40179
|
fullWidth: true
|
|
40226
40180
|
}))));
|
|
@@ -40228,50 +40182,34 @@ var Store = function Store(_ref) {
|
|
|
40228
40182
|
var Container$Q = /*#__PURE__*/styled__default.div.withConfig({
|
|
40229
40183
|
displayName: "Store__Container",
|
|
40230
40184
|
componentId: "sc-64dj00-0"
|
|
40231
|
-
})(["display:flex;flex-direction:column;width:100%;height:
|
|
40232
|
-
var
|
|
40233
|
-
displayName: "Store__HeaderRow",
|
|
40234
|
-
componentId: "sc-64dj00-1"
|
|
40235
|
-
})(["display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:0.25rem;padding-top:10px;padding-right:12px;"]);
|
|
40236
|
-
var TabsFlexWrapper = /*#__PURE__*/styled__default.div.withConfig({
|
|
40237
|
-
displayName: "Store__TabsFlexWrapper",
|
|
40238
|
-
componentId: "sc-64dj00-2"
|
|
40239
|
-
})(["flex:1;min-width:0;"]);
|
|
40240
|
-
var CartButtonWrapper = /*#__PURE__*/styled__default.div.withConfig({
|
|
40241
|
-
displayName: "Store__CartButtonWrapper",
|
|
40242
|
-
componentId: "sc-64dj00-3"
|
|
40243
|
-
})(["position:relative;flex-shrink:0;"]);
|
|
40244
|
-
var CartBadge = /*#__PURE__*/styled__default.div.withConfig({
|
|
40245
|
-
displayName: "Store__CartBadge",
|
|
40246
|
-
componentId: "sc-64dj00-4"
|
|
40247
|
-
})(["position:absolute;top:-8px;right:-8px;background:#ef4444;color:white;font-family:'Press Start 2P',cursive;font-size:0.5rem;padding:4px;border-radius:50%;border:2px solid #000;display:flex;align-items:center;justify-content:center;min-width:16px;min-height:16px;box-sizing:content-box;"]);
|
|
40248
|
-
var MainContent$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
40185
|
+
})(["display:flex;flex-direction:column;width:100%;height:100%;gap:0.5rem;position:relative;overflow:hidden;"]);
|
|
40186
|
+
var MainContent$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
40249
40187
|
displayName: "Store__MainContent",
|
|
40250
|
-
componentId: "sc-64dj00-
|
|
40188
|
+
componentId: "sc-64dj00-1"
|
|
40251
40189
|
})(["flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;"]);
|
|
40252
40190
|
var TabContent = /*#__PURE__*/styled__default.div.withConfig({
|
|
40253
40191
|
displayName: "Store__TabContent",
|
|
40254
|
-
componentId: "sc-64dj00-
|
|
40192
|
+
componentId: "sc-64dj00-2"
|
|
40255
40193
|
})(["flex:1;overflow-y:auto;"]);
|
|
40256
40194
|
var Footer$3 = /*#__PURE__*/styled__default.div.withConfig({
|
|
40257
40195
|
displayName: "Store__Footer",
|
|
40258
|
-
componentId: "sc-64dj00-
|
|
40259
|
-
})(["padding:
|
|
40196
|
+
componentId: "sc-64dj00-3"
|
|
40197
|
+
})(["padding:1rem;border-top:2px solid #f59e0b;background:rgba(0,0,0,0.2);flex-shrink:0;"]);
|
|
40260
40198
|
var TabLabelWithBadge = /*#__PURE__*/styled__default.span.withConfig({
|
|
40261
40199
|
displayName: "Store__TabLabelWithBadge",
|
|
40262
|
-
componentId: "sc-64dj00-
|
|
40200
|
+
componentId: "sc-64dj00-4"
|
|
40263
40201
|
})(["display:inline-flex;align-items:center;gap:5px;"]);
|
|
40264
40202
|
var LoadingMessage$1 = /*#__PURE__*/styled__default.div.withConfig({
|
|
40265
40203
|
displayName: "Store__LoadingMessage",
|
|
40266
|
-
componentId: "sc-64dj00-
|
|
40204
|
+
componentId: "sc-64dj00-5"
|
|
40267
40205
|
})(["text-align:center;color:", ";padding:2rem;"], uiColors.white);
|
|
40268
40206
|
var ErrorMessage$3 = /*#__PURE__*/styled__default.div.withConfig({
|
|
40269
40207
|
displayName: "Store__ErrorMessage",
|
|
40270
|
-
componentId: "sc-64dj00-
|
|
40208
|
+
componentId: "sc-64dj00-6"
|
|
40271
40209
|
})(["text-align:center;color:", ";padding:2rem;"], uiColors.red);
|
|
40272
40210
|
var CenteredContent = /*#__PURE__*/styled__default.div.withConfig({
|
|
40273
40211
|
displayName: "Store__CenteredContent",
|
|
40274
|
-
componentId: "sc-64dj00-
|
|
40212
|
+
componentId: "sc-64dj00-7"
|
|
40275
40213
|
})(["display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;"]);
|
|
40276
40214
|
|
|
40277
40215
|
var TextArea = function TextArea(_ref) {
|