@rpg-engine/long-bow 0.8.225 → 0.8.227
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/Marketplace/characterListingUtils.d.ts +3 -0
- package/dist/components/Spellbook/Spell.d.ts +1 -0
- package/dist/components/Store/hooks/useStoreCart.d.ts +1 -1
- package/dist/long-bow.cjs.development.js +75 -51
- 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 +75 -51
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Marketplace/CharacterListingForm.tsx +2 -3
- package/src/components/Marketplace/CharacterListingModal.tsx +7 -5
- package/src/components/Marketplace/MyCharacterListingsPanel.tsx +2 -4
- package/src/components/Marketplace/__test__/characterListingUtils.spec.ts +55 -0
- package/src/components/Marketplace/characterListingUtils.ts +38 -0
- package/src/components/Spellbook/Spell.tsx +5 -1
- package/src/components/Store/Store.tsx +1 -1
- package/src/components/Store/__test__/Store.spec.tsx +16 -0
- package/src/components/Store/__test__/useStoreCart.spec.tsx +98 -0
- package/src/components/Store/hooks/useStoreCart.ts +6 -4
package/dist/long-bow.esm.js
CHANGED
|
@@ -13886,6 +13886,29 @@ var EmptyText = /*#__PURE__*/styled.span.withConfig({
|
|
|
13886
13886
|
componentId: "sc-1aiauep-17"
|
|
13887
13887
|
})(["font-family:'Press Start 2P',cursive !important;font-size:0.48rem !important;color:#71717a !important;text-transform:uppercase;letter-spacing:1px;"]);
|
|
13888
13888
|
|
|
13889
|
+
var toTimestamp = function toTimestamp(value) {
|
|
13890
|
+
if (!value) return 0;
|
|
13891
|
+
var timestamp = new Date(value).getTime();
|
|
13892
|
+
return Number.isFinite(timestamp) ? timestamp : 0;
|
|
13893
|
+
};
|
|
13894
|
+
var isCharacterEligibleForListing = function isCharacterEligibleForListing(character) {
|
|
13895
|
+
return !character.isListedForSale;
|
|
13896
|
+
};
|
|
13897
|
+
var getEligibleCharactersForListing = function getEligibleCharactersForListing(accountCharacters, activeCharacterId) {
|
|
13898
|
+
return accountCharacters.filter(isCharacterEligibleForListing).sort(function (left, right) {
|
|
13899
|
+
var leftIsActive = !!activeCharacterId && left._id === activeCharacterId;
|
|
13900
|
+
var rightIsActive = !!activeCharacterId && right._id === activeCharacterId;
|
|
13901
|
+
if (leftIsActive !== rightIsActive) {
|
|
13902
|
+
return leftIsActive ? 1 : -1;
|
|
13903
|
+
}
|
|
13904
|
+
var tradedAtDiff = toTimestamp(right.tradedAt) - toTimestamp(left.tradedAt);
|
|
13905
|
+
if (tradedAtDiff !== 0) {
|
|
13906
|
+
return tradedAtDiff;
|
|
13907
|
+
}
|
|
13908
|
+
return 0;
|
|
13909
|
+
});
|
|
13910
|
+
};
|
|
13911
|
+
|
|
13889
13912
|
var CharacterListingModal = function CharacterListingModal(_ref) {
|
|
13890
13913
|
var isOpen = _ref.isOpen,
|
|
13891
13914
|
onClose = _ref.onClose,
|
|
@@ -13910,10 +13933,10 @@ var CharacterListingModal = function CharacterListingModal(_ref) {
|
|
|
13910
13933
|
var stopPropagation = useCallback(function (e) {
|
|
13911
13934
|
e.stopPropagation();
|
|
13912
13935
|
}, []);
|
|
13936
|
+
var eligibleCharacters = useMemo(function () {
|
|
13937
|
+
return getEligibleCharactersForListing(accountCharacters, activeCharacterId);
|
|
13938
|
+
}, [accountCharacters, activeCharacterId]);
|
|
13913
13939
|
if (!isOpen) return null;
|
|
13914
|
-
var eligibleCharacters = accountCharacters.filter(function (c) {
|
|
13915
|
-
return !c.isListedForSale;
|
|
13916
|
-
});
|
|
13917
13940
|
var isActiveCharacter = function isActiveCharacter(c) {
|
|
13918
13941
|
return !!activeCharacterId && c._id === activeCharacterId;
|
|
13919
13942
|
};
|
|
@@ -14173,9 +14196,7 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
|
|
|
14173
14196
|
enableHotkeys == null ? void 0 : enableHotkeys();
|
|
14174
14197
|
}
|
|
14175
14198
|
};
|
|
14176
|
-
var eligibleCount = accountCharacters.
|
|
14177
|
-
return !c.isListedForSale && !c.tradedAt;
|
|
14178
|
-
}).length;
|
|
14199
|
+
var eligibleCount = getEligibleCharactersForListing(accountCharacters).length;
|
|
14179
14200
|
return React.createElement(React.Fragment, null, delistingId && React.createElement(ConfirmModal, {
|
|
14180
14201
|
onClose: function onClose() {
|
|
14181
14202
|
setDelistingId(null);
|
|
@@ -14792,9 +14813,7 @@ var CharacterListingForm = function CharacterListingForm(_ref) {
|
|
|
14792
14813
|
var _useState = useState(false),
|
|
14793
14814
|
isModalOpen = _useState[0],
|
|
14794
14815
|
setIsModalOpen = _useState[1];
|
|
14795
|
-
var eligibleCount = accountCharacters.
|
|
14796
|
-
return !c.isListedForSale && !c.tradedAt;
|
|
14797
|
-
}).length;
|
|
14816
|
+
var eligibleCount = getEligibleCharactersForListing(accountCharacters).length;
|
|
14798
14817
|
return React.createElement(Wrapper$2, null, React.createElement(CharacterListingModal, {
|
|
14799
14818
|
isOpen: isModalOpen,
|
|
14800
14819
|
onClose: function onClose() {
|
|
@@ -16863,6 +16882,7 @@ var Spell = function Spell(_ref) {
|
|
|
16863
16882
|
charMagicLevel = _ref.charMagicLevel,
|
|
16864
16883
|
charSkillLevels = _ref.charSkillLevels,
|
|
16865
16884
|
onPointerUp = _ref.onPointerUp,
|
|
16885
|
+
onClick = _ref.onClick,
|
|
16866
16886
|
isSettingShortcut = _ref.isSettingShortcut,
|
|
16867
16887
|
spell = _ref.spell,
|
|
16868
16888
|
activeCooldown = _ref.activeCooldown;
|
|
@@ -16891,10 +16911,11 @@ var Spell = function Spell(_ref) {
|
|
|
16891
16911
|
height: '32px'
|
|
16892
16912
|
};
|
|
16893
16913
|
var IMAGE_SCALE = 2;
|
|
16914
|
+
var handleClick = onClick != null ? onClick : onPointerUp;
|
|
16894
16915
|
return React.createElement(SpellInfoWrapper, {
|
|
16895
16916
|
spell: spell
|
|
16896
16917
|
}, React.createElement(Container$J, {
|
|
16897
|
-
|
|
16918
|
+
onClick: handleClick == null ? void 0 : handleClick.bind(null, spellKey),
|
|
16898
16919
|
isSettingShortcut: isSettingShortcut && !disabled,
|
|
16899
16920
|
className: "spell"
|
|
16900
16921
|
}, disabled && React.createElement(Overlay$a, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
|
|
@@ -38157,30 +38178,48 @@ var useStoreCart = function useStoreCart() {
|
|
|
38157
38178
|
});
|
|
38158
38179
|
});
|
|
38159
38180
|
};
|
|
38160
|
-
var handlePurchase = function
|
|
38161
|
-
var
|
|
38162
|
-
|
|
38163
|
-
|
|
38164
|
-
|
|
38165
|
-
|
|
38166
|
-
|
|
38167
|
-
|
|
38168
|
-
|
|
38169
|
-
|
|
38170
|
-
|
|
38171
|
-
|
|
38172
|
-
|
|
38173
|
-
|
|
38174
|
-
|
|
38175
|
-
|
|
38176
|
-
|
|
38181
|
+
var handlePurchase = /*#__PURE__*/function () {
|
|
38182
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(onPurchase) {
|
|
38183
|
+
var purchaseUnits, purchase, success;
|
|
38184
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
38185
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
38186
|
+
case 0:
|
|
38187
|
+
purchaseUnits = cartItems.map(function (cartItem) {
|
|
38188
|
+
return {
|
|
38189
|
+
purchaseKey: cartItem.item.key,
|
|
38190
|
+
qty: cartItem.quantity,
|
|
38191
|
+
type: getPurchaseType(cartItem.item),
|
|
38192
|
+
name: cartItem.item.name,
|
|
38193
|
+
metadata: cartItem.metadata || cartItem.item.metadataConfig
|
|
38194
|
+
};
|
|
38195
|
+
});
|
|
38196
|
+
purchase = {
|
|
38197
|
+
_id: uuidv4(),
|
|
38198
|
+
userId: '1',
|
|
38199
|
+
status: 'pending',
|
|
38200
|
+
createdAt: new Date().toISOString(),
|
|
38201
|
+
updatedAt: new Date().toISOString(),
|
|
38202
|
+
purchases: purchaseUnits
|
|
38203
|
+
};
|
|
38204
|
+
_context2.next = 4;
|
|
38205
|
+
return onPurchase(purchase);
|
|
38206
|
+
case 4:
|
|
38207
|
+
success = _context2.sent;
|
|
38208
|
+
if (success && isMounted.current) {
|
|
38209
|
+
setCartItems([]);
|
|
38210
|
+
setIsCartOpen(false);
|
|
38211
|
+
}
|
|
38212
|
+
return _context2.abrupt("return", success);
|
|
38213
|
+
case 7:
|
|
38214
|
+
case "end":
|
|
38215
|
+
return _context2.stop();
|
|
38216
|
+
}
|
|
38217
|
+
}, _callee2);
|
|
38218
|
+
}));
|
|
38219
|
+
return function handlePurchase(_x4) {
|
|
38220
|
+
return _ref2.apply(this, arguments);
|
|
38177
38221
|
};
|
|
38178
|
-
|
|
38179
|
-
if (isMounted.current) {
|
|
38180
|
-
setCartItems([]);
|
|
38181
|
-
setIsCartOpen(false);
|
|
38182
|
-
}
|
|
38183
|
-
};
|
|
38222
|
+
}();
|
|
38184
38223
|
var openCart = function openCart() {
|
|
38185
38224
|
return setIsCartOpen(true);
|
|
38186
38225
|
};
|
|
@@ -40106,24 +40145,9 @@ var Store = function Store(_ref) {
|
|
|
40106
40145
|
cartItems: cartItems,
|
|
40107
40146
|
onRemoveFromCart: handleRemoveFromCartTracked,
|
|
40108
40147
|
onClose: closeCart,
|
|
40109
|
-
onPurchase: function () {
|
|
40110
|
-
|
|
40111
|
-
|
|
40112
|
-
while (1) switch (_context.prev = _context.next) {
|
|
40113
|
-
case 0:
|
|
40114
|
-
handleCartPurchase(_onPurchase);
|
|
40115
|
-
return _context.abrupt("return", true);
|
|
40116
|
-
case 2:
|
|
40117
|
-
case "end":
|
|
40118
|
-
return _context.stop();
|
|
40119
|
-
}
|
|
40120
|
-
}, _callee);
|
|
40121
|
-
}));
|
|
40122
|
-
function onPurchase() {
|
|
40123
|
-
return _onPurchase2.apply(this, arguments);
|
|
40124
|
-
}
|
|
40125
|
-
return onPurchase;
|
|
40126
|
-
}(),
|
|
40148
|
+
onPurchase: function onPurchase() {
|
|
40149
|
+
return handleCartPurchase(_onPurchase);
|
|
40150
|
+
},
|
|
40127
40151
|
atlasJSON: atlasJSON,
|
|
40128
40152
|
atlasIMG: atlasIMG,
|
|
40129
40153
|
onCheckoutStart: onCheckoutStart,
|