@rpg-engine/long-bow 0.8.226 → 0.8.228
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/CharacterTradePanel.d.ts +28 -0
- 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/index.d.ts +1 -0
- package/dist/long-bow.cjs.development.js +187 -111
- 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 +187 -112
- 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/CharacterTradePanel.tsx +151 -0
- package/src/components/Marketplace/Marketplace.tsx +26 -93
- 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/src/index.tsx +1 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ICharacter, ICharacterListing } from '@rpg-engine/shared';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface ICharacterTradePanelProps {
|
|
4
|
+
characterListings: ICharacterListing[];
|
|
5
|
+
characterListingsTotal: number;
|
|
6
|
+
characterListingsPage: number;
|
|
7
|
+
characterListingsItemsPerPage: number;
|
|
8
|
+
onCharacterListingsPageChange: (page: number) => void;
|
|
9
|
+
onCharacterBuy: (listingId: string) => void;
|
|
10
|
+
characterNameFilter?: string;
|
|
11
|
+
onCharacterNameFilterChange?: (name: string) => void;
|
|
12
|
+
characterListingsLoading?: boolean;
|
|
13
|
+
myCharacterListings: ICharacterListing[];
|
|
14
|
+
myCharacterListingsTotal: number;
|
|
15
|
+
myCharacterListingsPage: number;
|
|
16
|
+
onMyCharacterListingsPageChange: (page: number) => void;
|
|
17
|
+
onCharacterDelist: (listingId: string) => void;
|
|
18
|
+
accountCharacters: ICharacter[];
|
|
19
|
+
onCharacterList: (characterId: string, price: number) => void;
|
|
20
|
+
activeCharacterId?: string;
|
|
21
|
+
atlasJSON: any;
|
|
22
|
+
atlasIMG: any;
|
|
23
|
+
characterAtlasJSON?: any;
|
|
24
|
+
characterAtlasIMG?: any;
|
|
25
|
+
enableHotkeys?: () => void;
|
|
26
|
+
disableHotkeys?: () => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const CharacterTradePanel: React.FC<ICharacterTradePanelProps>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ICharacter } from '@rpg-engine/shared';
|
|
2
|
+
export declare const isCharacterEligibleForListing: (character: ICharacter) => boolean;
|
|
3
|
+
export declare const getEligibleCharactersForListing: (accountCharacters: ICharacter[], activeCharacterId?: string | undefined) => ICharacter[];
|
|
@@ -9,7 +9,7 @@ interface IUseStoreCart {
|
|
|
9
9
|
isCartOpen: boolean;
|
|
10
10
|
handleAddToCart: (item: IProductBlueprint, quantity: number, metadata?: Record<string, any>) => void;
|
|
11
11
|
handleRemoveFromCart: (itemKey: string) => void;
|
|
12
|
-
handlePurchase: (onPurchase: (purchase: IPurchase) =>
|
|
12
|
+
handlePurchase: (onPurchase: (purchase: IPurchase) => Promise<boolean>) => Promise<boolean>;
|
|
13
13
|
openCart: () => void;
|
|
14
14
|
closeCart: () => void;
|
|
15
15
|
getTotalItems: () => number;
|
package/dist/index.d.ts
CHANGED
|
@@ -46,6 +46,7 @@ export * from './components/Marketplace/HistoryPanel';
|
|
|
46
46
|
export * from './components/Marketplace/BlueprintSearchModal';
|
|
47
47
|
export * from './components/Marketplace/CharacterMarketplacePanel';
|
|
48
48
|
export * from './components/Marketplace/CharacterMarketplaceRows';
|
|
49
|
+
export * from './components/Marketplace/CharacterTradePanel';
|
|
49
50
|
export * from './components/Marketplace/CharacterDetailModal';
|
|
50
51
|
export * from './components/Marketplace/CharacterListingForm';
|
|
51
52
|
export * from './components/Marketplace/CharacterListingModal';
|
|
@@ -13889,6 +13889,29 @@ var EmptyText = /*#__PURE__*/styled__default.span.withConfig({
|
|
|
13889
13889
|
componentId: "sc-1aiauep-17"
|
|
13890
13890
|
})(["font-family:'Press Start 2P',cursive !important;font-size:0.48rem !important;color:#71717a !important;text-transform:uppercase;letter-spacing:1px;"]);
|
|
13891
13891
|
|
|
13892
|
+
var toTimestamp = function toTimestamp(value) {
|
|
13893
|
+
if (!value) return 0;
|
|
13894
|
+
var timestamp = new Date(value).getTime();
|
|
13895
|
+
return Number.isFinite(timestamp) ? timestamp : 0;
|
|
13896
|
+
};
|
|
13897
|
+
var isCharacterEligibleForListing = function isCharacterEligibleForListing(character) {
|
|
13898
|
+
return !character.isListedForSale;
|
|
13899
|
+
};
|
|
13900
|
+
var getEligibleCharactersForListing = function getEligibleCharactersForListing(accountCharacters, activeCharacterId) {
|
|
13901
|
+
return accountCharacters.filter(isCharacterEligibleForListing).sort(function (left, right) {
|
|
13902
|
+
var leftIsActive = !!activeCharacterId && left._id === activeCharacterId;
|
|
13903
|
+
var rightIsActive = !!activeCharacterId && right._id === activeCharacterId;
|
|
13904
|
+
if (leftIsActive !== rightIsActive) {
|
|
13905
|
+
return leftIsActive ? 1 : -1;
|
|
13906
|
+
}
|
|
13907
|
+
var tradedAtDiff = toTimestamp(right.tradedAt) - toTimestamp(left.tradedAt);
|
|
13908
|
+
if (tradedAtDiff !== 0) {
|
|
13909
|
+
return tradedAtDiff;
|
|
13910
|
+
}
|
|
13911
|
+
return 0;
|
|
13912
|
+
});
|
|
13913
|
+
};
|
|
13914
|
+
|
|
13892
13915
|
var CharacterListingModal = function CharacterListingModal(_ref) {
|
|
13893
13916
|
var isOpen = _ref.isOpen,
|
|
13894
13917
|
onClose = _ref.onClose,
|
|
@@ -13913,10 +13936,10 @@ var CharacterListingModal = function CharacterListingModal(_ref) {
|
|
|
13913
13936
|
var stopPropagation = React.useCallback(function (e) {
|
|
13914
13937
|
e.stopPropagation();
|
|
13915
13938
|
}, []);
|
|
13939
|
+
var eligibleCharacters = React.useMemo(function () {
|
|
13940
|
+
return getEligibleCharactersForListing(accountCharacters, activeCharacterId);
|
|
13941
|
+
}, [accountCharacters, activeCharacterId]);
|
|
13916
13942
|
if (!isOpen) return null;
|
|
13917
|
-
var eligibleCharacters = accountCharacters.filter(function (c) {
|
|
13918
|
-
return !c.isListedForSale;
|
|
13919
|
-
});
|
|
13920
13943
|
var isActiveCharacter = function isActiveCharacter(c) {
|
|
13921
13944
|
return !!activeCharacterId && c._id === activeCharacterId;
|
|
13922
13945
|
};
|
|
@@ -14176,9 +14199,7 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
|
|
|
14176
14199
|
enableHotkeys == null ? void 0 : enableHotkeys();
|
|
14177
14200
|
}
|
|
14178
14201
|
};
|
|
14179
|
-
var eligibleCount = accountCharacters.
|
|
14180
|
-
return !c.isListedForSale && !c.tradedAt;
|
|
14181
|
-
}).length;
|
|
14202
|
+
var eligibleCount = getEligibleCharactersForListing(accountCharacters).length;
|
|
14182
14203
|
return React__default.createElement(React__default.Fragment, null, delistingId && React__default.createElement(ConfirmModal, {
|
|
14183
14204
|
onClose: function onClose() {
|
|
14184
14205
|
setDelistingId(null);
|
|
@@ -14338,6 +14359,103 @@ var EmptySubtext = /*#__PURE__*/styled__default.span.withConfig({
|
|
|
14338
14359
|
componentId: "sc-su21a6-17"
|
|
14339
14360
|
})(["font-family:'Press Start 2P',cursive !important;font-size:0.38rem !important;color:#52525b !important;text-align:center;max-width:260px;line-height:1.6;"]);
|
|
14340
14361
|
|
|
14362
|
+
var CharacterTradePanel = function CharacterTradePanel(_ref) {
|
|
14363
|
+
var characterListings = _ref.characterListings,
|
|
14364
|
+
characterListingsTotal = _ref.characterListingsTotal,
|
|
14365
|
+
characterListingsPage = _ref.characterListingsPage,
|
|
14366
|
+
characterListingsItemsPerPage = _ref.characterListingsItemsPerPage,
|
|
14367
|
+
onCharacterListingsPageChange = _ref.onCharacterListingsPageChange,
|
|
14368
|
+
onCharacterBuy = _ref.onCharacterBuy,
|
|
14369
|
+
characterNameFilter = _ref.characterNameFilter,
|
|
14370
|
+
onCharacterNameFilterChange = _ref.onCharacterNameFilterChange,
|
|
14371
|
+
characterListingsLoading = _ref.characterListingsLoading,
|
|
14372
|
+
myCharacterListings = _ref.myCharacterListings,
|
|
14373
|
+
myCharacterListingsTotal = _ref.myCharacterListingsTotal,
|
|
14374
|
+
myCharacterListingsPage = _ref.myCharacterListingsPage,
|
|
14375
|
+
onMyCharacterListingsPageChange = _ref.onMyCharacterListingsPageChange,
|
|
14376
|
+
onCharacterDelist = _ref.onCharacterDelist,
|
|
14377
|
+
accountCharacters = _ref.accountCharacters,
|
|
14378
|
+
onCharacterList = _ref.onCharacterList,
|
|
14379
|
+
activeCharacterId = _ref.activeCharacterId,
|
|
14380
|
+
atlasJSON = _ref.atlasJSON,
|
|
14381
|
+
atlasIMG = _ref.atlasIMG,
|
|
14382
|
+
characterAtlasJSON = _ref.characterAtlasJSON,
|
|
14383
|
+
characterAtlasIMG = _ref.characterAtlasIMG,
|
|
14384
|
+
enableHotkeys = _ref.enableHotkeys,
|
|
14385
|
+
disableHotkeys = _ref.disableHotkeys;
|
|
14386
|
+
var _useState = React.useState('browse'),
|
|
14387
|
+
subTab = _useState[0],
|
|
14388
|
+
setSubTab = _useState[1];
|
|
14389
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(CharacterSubTabs, null, React__default.createElement(CharacterSubTab, {
|
|
14390
|
+
"$active": subTab === 'browse',
|
|
14391
|
+
onClick: function onClick() {
|
|
14392
|
+
return setSubTab('browse');
|
|
14393
|
+
},
|
|
14394
|
+
type: "button"
|
|
14395
|
+
}, "Browse"), React__default.createElement(CharacterSubTab, {
|
|
14396
|
+
"$active": subTab === 'my-listings',
|
|
14397
|
+
onClick: function onClick() {
|
|
14398
|
+
return setSubTab('my-listings');
|
|
14399
|
+
},
|
|
14400
|
+
type: "button"
|
|
14401
|
+
}, "My Listings")), subTab === 'browse' && React__default.createElement(CharacterMarketplacePanel, {
|
|
14402
|
+
characterListings: characterListings,
|
|
14403
|
+
totalCount: characterListingsTotal,
|
|
14404
|
+
currentPage: characterListingsPage,
|
|
14405
|
+
itemsPerPage: characterListingsItemsPerPage,
|
|
14406
|
+
onPageChange: onCharacterListingsPageChange,
|
|
14407
|
+
onCharacterBuy: onCharacterBuy,
|
|
14408
|
+
atlasJSON: atlasJSON,
|
|
14409
|
+
atlasIMG: atlasIMG,
|
|
14410
|
+
characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : atlasJSON,
|
|
14411
|
+
characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : atlasIMG,
|
|
14412
|
+
enableHotkeys: enableHotkeys,
|
|
14413
|
+
disableHotkeys: disableHotkeys,
|
|
14414
|
+
nameFilter: characterNameFilter,
|
|
14415
|
+
onNameFilterChange: onCharacterNameFilterChange,
|
|
14416
|
+
isLoading: characterListingsLoading
|
|
14417
|
+
}), subTab === 'my-listings' && React__default.createElement(MyCharacterListingsPanel, {
|
|
14418
|
+
myCharacterListings: myCharacterListings,
|
|
14419
|
+
totalCount: myCharacterListingsTotal,
|
|
14420
|
+
currentPage: myCharacterListingsPage,
|
|
14421
|
+
itemsPerPage: 10,
|
|
14422
|
+
onPageChange: onMyCharacterListingsPageChange,
|
|
14423
|
+
onCharacterDelist: onCharacterDelist,
|
|
14424
|
+
accountCharacters: accountCharacters,
|
|
14425
|
+
onCharacterList: onCharacterList,
|
|
14426
|
+
activeCharacterId: activeCharacterId,
|
|
14427
|
+
atlasJSON: atlasJSON,
|
|
14428
|
+
atlasIMG: atlasIMG,
|
|
14429
|
+
characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : atlasJSON,
|
|
14430
|
+
characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : atlasIMG,
|
|
14431
|
+
enableHotkeys: enableHotkeys,
|
|
14432
|
+
disableHotkeys: disableHotkeys
|
|
14433
|
+
}));
|
|
14434
|
+
};
|
|
14435
|
+
var CharacterSubTabs = /*#__PURE__*/styled__default.div.withConfig({
|
|
14436
|
+
displayName: "CharacterTradePanel__CharacterSubTabs",
|
|
14437
|
+
componentId: "sc-qjqvzx-0"
|
|
14438
|
+
})(["display:flex;gap:8px;width:95%;margin:10px auto 0 auto;padding:8px;background:rgba(0,0,0,0.2);border-radius:4px;border:1px solid rgba(255,255,255,0.05);"]);
|
|
14439
|
+
var CharacterSubTab = /*#__PURE__*/styled__default.button.withConfig({
|
|
14440
|
+
displayName: "CharacterTradePanel__CharacterSubTab",
|
|
14441
|
+
componentId: "sc-qjqvzx-1"
|
|
14442
|
+
})(["flex:1;padding:8px 12px;font-family:'Press Start 2P',cursive;font-size:0.45rem;border-radius:4px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;text-transform:uppercase;letter-spacing:0.5px;&:hover{border-color:", ";color:", ";}"], function (_ref2) {
|
|
14443
|
+
var $active = _ref2.$active;
|
|
14444
|
+
return $active ? '#f59e0b' : 'rgba(255,255,255,0.12)';
|
|
14445
|
+
}, function (_ref3) {
|
|
14446
|
+
var $active = _ref3.$active;
|
|
14447
|
+
return $active ? 'rgba(245,158,11,0.15)' : 'rgba(0,0,0,0.3)';
|
|
14448
|
+
}, function (_ref4) {
|
|
14449
|
+
var $active = _ref4.$active;
|
|
14450
|
+
return $active ? '#f59e0b' : '#777';
|
|
14451
|
+
}, function (_ref5) {
|
|
14452
|
+
var $active = _ref5.$active;
|
|
14453
|
+
return $active ? '#f59e0b' : 'rgba(255,255,255,0.3)';
|
|
14454
|
+
}, function (_ref6) {
|
|
14455
|
+
var $active = _ref6.$active;
|
|
14456
|
+
return $active ? '#f59e0b' : '#bbb';
|
|
14457
|
+
});
|
|
14458
|
+
|
|
14341
14459
|
var Marketplace = function Marketplace(props) {
|
|
14342
14460
|
var onClose = props.onClose,
|
|
14343
14461
|
scale = props.scale,
|
|
@@ -14429,9 +14547,6 @@ var Marketplace = function Marketplace(props) {
|
|
|
14429
14547
|
var _useState3 = React.useState(false),
|
|
14430
14548
|
isBlueprintSearchOpen = _useState3[0],
|
|
14431
14549
|
setIsBlueprintSearchOpen = _useState3[1];
|
|
14432
|
-
var _useState4 = React.useState('browse'),
|
|
14433
|
-
characterSubTab = _useState4[0],
|
|
14434
|
-
setCharacterSubTab = _useState4[1];
|
|
14435
14550
|
var handleCurrencyChange = function handleCurrencyChange(value) {
|
|
14436
14551
|
setAcceptedCurrency(value);
|
|
14437
14552
|
onAcceptedCurrencyChange == null ? void 0 : onAcceptedCurrencyChange(value);
|
|
@@ -14511,51 +14626,31 @@ var Marketplace = function Marketplace(props) {
|
|
|
14511
14626
|
}]),
|
|
14512
14627
|
activeTabId: activeTab,
|
|
14513
14628
|
onTabChange: handleTabChange
|
|
14514
|
-
}), activeTab === 'marketplace' && React__default.createElement(BuyPanel, Object.assign({}, props)), activeTab === 'characters' && React__default.createElement(
|
|
14515
|
-
"$active": characterSubTab === 'browse',
|
|
14516
|
-
onClick: function onClick() {
|
|
14517
|
-
return setCharacterSubTab('browse');
|
|
14518
|
-
},
|
|
14519
|
-
type: "button"
|
|
14520
|
-
}, "Browse"), React__default.createElement(CharacterSubTab, {
|
|
14521
|
-
"$active": characterSubTab === 'my-listings',
|
|
14522
|
-
onClick: function onClick() {
|
|
14523
|
-
return setCharacterSubTab('my-listings');
|
|
14524
|
-
},
|
|
14525
|
-
type: "button"
|
|
14526
|
-
}, "My Listings")), characterSubTab === 'browse' && React__default.createElement(CharacterMarketplacePanel, {
|
|
14629
|
+
}), activeTab === 'marketplace' && React__default.createElement(BuyPanel, Object.assign({}, props)), activeTab === 'characters' && React__default.createElement(CharacterTradePanel, {
|
|
14527
14630
|
characterListings: characterListings != null ? characterListings : [],
|
|
14528
|
-
|
|
14529
|
-
|
|
14530
|
-
|
|
14531
|
-
|
|
14631
|
+
characterListingsTotal: characterListingsTotal != null ? characterListingsTotal : 0,
|
|
14632
|
+
characterListingsPage: characterListingsPage != null ? characterListingsPage : 1,
|
|
14633
|
+
characterListingsItemsPerPage: characterListingsItemsPerPage != null ? characterListingsItemsPerPage : 10,
|
|
14634
|
+
onCharacterListingsPageChange: onCharacterListingsPageChange != null ? onCharacterListingsPageChange : function () {},
|
|
14532
14635
|
onCharacterBuy: onCharacterBuy != null ? onCharacterBuy : function () {},
|
|
14533
|
-
|
|
14534
|
-
|
|
14535
|
-
|
|
14536
|
-
characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
|
|
14537
|
-
enableHotkeys: props.enableHotkeys,
|
|
14538
|
-
disableHotkeys: props.disableHotkeys,
|
|
14539
|
-
nameFilter: characterNameFilter,
|
|
14540
|
-
onNameFilterChange: onCharacterNameFilterChange,
|
|
14541
|
-
isLoading: characterListingsLoading
|
|
14542
|
-
}), characterSubTab === 'my-listings' && React__default.createElement(MyCharacterListingsPanel, {
|
|
14636
|
+
characterNameFilter: characterNameFilter,
|
|
14637
|
+
onCharacterNameFilterChange: onCharacterNameFilterChange,
|
|
14638
|
+
characterListingsLoading: characterListingsLoading,
|
|
14543
14639
|
myCharacterListings: myCharacterListings != null ? myCharacterListings : [],
|
|
14544
|
-
|
|
14545
|
-
|
|
14546
|
-
|
|
14547
|
-
onPageChange: onMyCharacterListingsPageChange != null ? onMyCharacterListingsPageChange : function () {},
|
|
14640
|
+
myCharacterListingsTotal: myCharacterListingsTotal != null ? myCharacterListingsTotal : 0,
|
|
14641
|
+
myCharacterListingsPage: myCharacterListingsPage != null ? myCharacterListingsPage : 1,
|
|
14642
|
+
onMyCharacterListingsPageChange: onMyCharacterListingsPageChange != null ? onMyCharacterListingsPageChange : function () {},
|
|
14548
14643
|
onCharacterDelist: onCharacterDelist != null ? onCharacterDelist : function () {},
|
|
14549
14644
|
accountCharacters: accountCharacters != null ? accountCharacters : [],
|
|
14550
14645
|
onCharacterList: onCharacterList != null ? onCharacterList : function () {},
|
|
14551
14646
|
activeCharacterId: props.characterId,
|
|
14552
14647
|
atlasJSON: props.atlasJSON,
|
|
14553
14648
|
atlasIMG: props.atlasIMG,
|
|
14554
|
-
characterAtlasJSON: characterAtlasJSON
|
|
14555
|
-
characterAtlasIMG: characterAtlasIMG
|
|
14649
|
+
characterAtlasJSON: characterAtlasJSON,
|
|
14650
|
+
characterAtlasIMG: characterAtlasIMG,
|
|
14556
14651
|
enableHotkeys: props.enableHotkeys,
|
|
14557
14652
|
disableHotkeys: props.disableHotkeys
|
|
14558
|
-
})
|
|
14653
|
+
}), activeTab === 'sell' && React__default.createElement(ManagmentPanel, Object.assign({}, props, {
|
|
14559
14654
|
acceptedCurrency: acceptedCurrency
|
|
14560
14655
|
})), activeTab === 'buy-orders' && React__default.createElement(React__default.Fragment, null, React__default.createElement(BuyOrderPanel, {
|
|
14561
14656
|
atlasJSON: props.atlasJSON,
|
|
@@ -14616,29 +14711,6 @@ var PagerContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
|
|
|
14616
14711
|
displayName: "Marketplace__PagerContainer",
|
|
14617
14712
|
componentId: "sc-h904b1-0"
|
|
14618
14713
|
})(["display:flex;justify-content:center;align-items:center;width:95%;margin:6px auto 0 auto;padding:4px 10px;"]);
|
|
14619
|
-
var CharacterSubTabs = /*#__PURE__*/styled__default.div.withConfig({
|
|
14620
|
-
displayName: "Marketplace__CharacterSubTabs",
|
|
14621
|
-
componentId: "sc-h904b1-1"
|
|
14622
|
-
})(["display:flex;gap:8px;width:95%;margin:10px auto 0 auto;padding:8px;background:rgba(0,0,0,0.2);border-radius:4px;border:1px solid rgba(255,255,255,0.05);"]);
|
|
14623
|
-
var CharacterSubTab = /*#__PURE__*/styled__default.button.withConfig({
|
|
14624
|
-
displayName: "Marketplace__CharacterSubTab",
|
|
14625
|
-
componentId: "sc-h904b1-2"
|
|
14626
|
-
})(["flex:1;padding:8px 12px;font-family:'Press Start 2P',cursive;font-size:0.45rem;border-radius:4px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;text-transform:uppercase;letter-spacing:0.5px;&:hover{border-color:", ";color:", ";}"], function (_ref) {
|
|
14627
|
-
var $active = _ref.$active;
|
|
14628
|
-
return $active ? '#f59e0b' : 'rgba(255,255,255,0.12)';
|
|
14629
|
-
}, function (_ref2) {
|
|
14630
|
-
var $active = _ref2.$active;
|
|
14631
|
-
return $active ? 'rgba(245,158,11,0.15)' : 'rgba(0,0,0,0.3)';
|
|
14632
|
-
}, function (_ref3) {
|
|
14633
|
-
var $active = _ref3.$active;
|
|
14634
|
-
return $active ? '#f59e0b' : '#777';
|
|
14635
|
-
}, function (_ref4) {
|
|
14636
|
-
var $active = _ref4.$active;
|
|
14637
|
-
return $active ? '#f59e0b' : 'rgba(255,255,255,0.3)';
|
|
14638
|
-
}, function (_ref5) {
|
|
14639
|
-
var $active = _ref5.$active;
|
|
14640
|
-
return $active ? '#f59e0b' : '#bbb';
|
|
14641
|
-
});
|
|
14642
14714
|
|
|
14643
14715
|
var CharacterMarketplaceRows = function CharacterMarketplaceRows(_ref) {
|
|
14644
14716
|
var listing = _ref.listing,
|
|
@@ -14795,9 +14867,7 @@ var CharacterListingForm = function CharacterListingForm(_ref) {
|
|
|
14795
14867
|
var _useState = React.useState(false),
|
|
14796
14868
|
isModalOpen = _useState[0],
|
|
14797
14869
|
setIsModalOpen = _useState[1];
|
|
14798
|
-
var eligibleCount = accountCharacters.
|
|
14799
|
-
return !c.isListedForSale && !c.tradedAt;
|
|
14800
|
-
}).length;
|
|
14870
|
+
var eligibleCount = getEligibleCharactersForListing(accountCharacters).length;
|
|
14801
14871
|
return React__default.createElement(Wrapper$2, null, React__default.createElement(CharacterListingModal, {
|
|
14802
14872
|
isOpen: isModalOpen,
|
|
14803
14873
|
onClose: function onClose() {
|
|
@@ -16865,6 +16935,7 @@ var Spell = function Spell(_ref) {
|
|
|
16865
16935
|
charMagicLevel = _ref.charMagicLevel,
|
|
16866
16936
|
charSkillLevels = _ref.charSkillLevels,
|
|
16867
16937
|
onPointerUp = _ref.onPointerUp,
|
|
16938
|
+
onClick = _ref.onClick,
|
|
16868
16939
|
isSettingShortcut = _ref.isSettingShortcut,
|
|
16869
16940
|
spell = _ref.spell,
|
|
16870
16941
|
activeCooldown = _ref.activeCooldown;
|
|
@@ -16893,10 +16964,11 @@ var Spell = function Spell(_ref) {
|
|
|
16893
16964
|
height: '32px'
|
|
16894
16965
|
};
|
|
16895
16966
|
var IMAGE_SCALE = 2;
|
|
16967
|
+
var handleClick = onClick != null ? onClick : onPointerUp;
|
|
16896
16968
|
return React__default.createElement(SpellInfoWrapper, {
|
|
16897
16969
|
spell: spell
|
|
16898
16970
|
}, React__default.createElement(Container$J, {
|
|
16899
|
-
|
|
16971
|
+
onClick: handleClick == null ? void 0 : handleClick.bind(null, spellKey),
|
|
16900
16972
|
isSettingShortcut: isSettingShortcut && !disabled,
|
|
16901
16973
|
className: "spell"
|
|
16902
16974
|
}, disabled && React__default.createElement(Overlay$a, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React__default.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React__default.createElement("span", {
|
|
@@ -38159,30 +38231,48 @@ var useStoreCart = function useStoreCart() {
|
|
|
38159
38231
|
});
|
|
38160
38232
|
});
|
|
38161
38233
|
};
|
|
38162
|
-
var handlePurchase = function
|
|
38163
|
-
var
|
|
38164
|
-
|
|
38165
|
-
|
|
38166
|
-
|
|
38167
|
-
|
|
38168
|
-
|
|
38169
|
-
|
|
38170
|
-
|
|
38171
|
-
|
|
38172
|
-
|
|
38173
|
-
|
|
38174
|
-
|
|
38175
|
-
|
|
38176
|
-
|
|
38177
|
-
|
|
38178
|
-
|
|
38234
|
+
var handlePurchase = /*#__PURE__*/function () {
|
|
38235
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(onPurchase) {
|
|
38236
|
+
var purchaseUnits, purchase, success;
|
|
38237
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
38238
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
38239
|
+
case 0:
|
|
38240
|
+
purchaseUnits = cartItems.map(function (cartItem) {
|
|
38241
|
+
return {
|
|
38242
|
+
purchaseKey: cartItem.item.key,
|
|
38243
|
+
qty: cartItem.quantity,
|
|
38244
|
+
type: getPurchaseType(cartItem.item),
|
|
38245
|
+
name: cartItem.item.name,
|
|
38246
|
+
metadata: cartItem.metadata || cartItem.item.metadataConfig
|
|
38247
|
+
};
|
|
38248
|
+
});
|
|
38249
|
+
purchase = {
|
|
38250
|
+
_id: uuidv4(),
|
|
38251
|
+
userId: '1',
|
|
38252
|
+
status: 'pending',
|
|
38253
|
+
createdAt: new Date().toISOString(),
|
|
38254
|
+
updatedAt: new Date().toISOString(),
|
|
38255
|
+
purchases: purchaseUnits
|
|
38256
|
+
};
|
|
38257
|
+
_context2.next = 4;
|
|
38258
|
+
return onPurchase(purchase);
|
|
38259
|
+
case 4:
|
|
38260
|
+
success = _context2.sent;
|
|
38261
|
+
if (success && isMounted.current) {
|
|
38262
|
+
setCartItems([]);
|
|
38263
|
+
setIsCartOpen(false);
|
|
38264
|
+
}
|
|
38265
|
+
return _context2.abrupt("return", success);
|
|
38266
|
+
case 7:
|
|
38267
|
+
case "end":
|
|
38268
|
+
return _context2.stop();
|
|
38269
|
+
}
|
|
38270
|
+
}, _callee2);
|
|
38271
|
+
}));
|
|
38272
|
+
return function handlePurchase(_x4) {
|
|
38273
|
+
return _ref2.apply(this, arguments);
|
|
38179
38274
|
};
|
|
38180
|
-
|
|
38181
|
-
if (isMounted.current) {
|
|
38182
|
-
setCartItems([]);
|
|
38183
|
-
setIsCartOpen(false);
|
|
38184
|
-
}
|
|
38185
|
-
};
|
|
38275
|
+
}();
|
|
38186
38276
|
var openCart = function openCart() {
|
|
38187
38277
|
return setIsCartOpen(true);
|
|
38188
38278
|
};
|
|
@@ -40108,24 +40198,9 @@ var Store = function Store(_ref) {
|
|
|
40108
40198
|
cartItems: cartItems,
|
|
40109
40199
|
onRemoveFromCart: handleRemoveFromCartTracked,
|
|
40110
40200
|
onClose: closeCart,
|
|
40111
|
-
onPurchase: function () {
|
|
40112
|
-
|
|
40113
|
-
|
|
40114
|
-
while (1) switch (_context.prev = _context.next) {
|
|
40115
|
-
case 0:
|
|
40116
|
-
handleCartPurchase(_onPurchase);
|
|
40117
|
-
return _context.abrupt("return", true);
|
|
40118
|
-
case 2:
|
|
40119
|
-
case "end":
|
|
40120
|
-
return _context.stop();
|
|
40121
|
-
}
|
|
40122
|
-
}, _callee);
|
|
40123
|
-
}));
|
|
40124
|
-
function onPurchase() {
|
|
40125
|
-
return _onPurchase2.apply(this, arguments);
|
|
40126
|
-
}
|
|
40127
|
-
return onPurchase;
|
|
40128
|
-
}(),
|
|
40201
|
+
onPurchase: function onPurchase() {
|
|
40202
|
+
return handleCartPurchase(_onPurchase);
|
|
40203
|
+
},
|
|
40129
40204
|
atlasJSON: atlasJSON,
|
|
40130
40205
|
atlasIMG: atlasIMG,
|
|
40131
40206
|
onCheckoutStart: onCheckoutStart,
|
|
@@ -40796,6 +40871,7 @@ exports.CharacterMarketplacePanel = CharacterMarketplacePanel;
|
|
|
40796
40871
|
exports.CharacterMarketplaceRows = CharacterMarketplaceRows;
|
|
40797
40872
|
exports.CharacterSelection = CharacterSelection;
|
|
40798
40873
|
exports.CharacterSkinSelectionModal = CharacterSkinSelectionModal;
|
|
40874
|
+
exports.CharacterTradePanel = CharacterTradePanel;
|
|
40799
40875
|
exports.Chat = Chat;
|
|
40800
40876
|
exports.ChatDeprecated = ChatDeprecated;
|
|
40801
40877
|
exports.ChatRevamp = ChatRevamp;
|