@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.
@@ -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.filter(function (c) {
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.filter(function (c) {
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
- onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
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 handlePurchase(onPurchase) {
38161
- var purchaseUnits = cartItems.map(function (cartItem) {
38162
- return {
38163
- purchaseKey: cartItem.item.key,
38164
- qty: cartItem.quantity,
38165
- type: getPurchaseType(cartItem.item),
38166
- name: cartItem.item.name,
38167
- metadata: cartItem.metadata || cartItem.item.metadataConfig
38168
- };
38169
- });
38170
- var purchase = {
38171
- _id: uuidv4(),
38172
- userId: '1',
38173
- status: 'pending',
38174
- createdAt: new Date().toISOString(),
38175
- updatedAt: new Date().toISOString(),
38176
- purchases: purchaseUnits
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
- onPurchase(purchase);
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
- var _onPurchase2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
40111
- return _regeneratorRuntime().wrap(function _callee$(_context) {
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,