@rpg-engine/long-bow 0.8.198 → 0.8.200
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/Store/Store.d.ts +11 -1
- package/dist/components/Store/sections/StoreRedeemSection.d.ts +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/long-bow.cjs.development.js +207 -20
- 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 +208 -22
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Marketplace/BuyPanel.tsx +4 -3
- package/src/components/Marketplace/__test__/BuyPanel.spec.tsx +45 -3
- package/src/components/Store/Store.tsx +29 -5
- package/src/components/Store/__test__/Store.spec.tsx +191 -0
- package/src/components/Store/__test__/StoreRedeemSection.spec.tsx +232 -0
- package/src/components/Store/sections/StoreRedeemSection.tsx +258 -0
- package/src/index.tsx +1 -0
- package/src/stories/Features/store/Store.stories.tsx +62 -0
package/dist/long-bow.esm.js
CHANGED
|
@@ -6,7 +6,7 @@ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemConta
|
|
|
6
6
|
export { MarketplaceAcceptedCurrency } from '@rpg-engine/shared';
|
|
7
7
|
import dayjs from 'dayjs';
|
|
8
8
|
import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
|
|
9
|
-
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaPaperPlane, FaShoppingCart, FaChevronUp, FaChevronDown, FaReddit, FaLock, FaRocket, FaHeadset, FaStar, FaShoppingBag, FaTrash, FaCoins, FaInfoCircle, FaBolt, FaCartPlus, FaArrowLeft, FaWallet, FaHistory } from 'react-icons/fa';
|
|
9
|
+
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaPaperPlane, FaShoppingCart, FaChevronUp, FaChevronDown, FaReddit, FaLock, FaRocket, FaHeadset, FaStar, FaShoppingBag, FaTrash, FaCoins, FaInfoCircle, FaBolt, FaCartPlus, FaCheckCircle, FaTicketAlt, FaExclamationCircle, FaArrowLeft, FaWallet, FaHistory } from 'react-icons/fa';
|
|
10
10
|
import { RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
|
|
11
11
|
import { IoMdContract, IoMdExpand } from 'react-icons/io';
|
|
12
12
|
import ReactDOM, { createPortal } from 'react-dom';
|
|
@@ -46181,6 +46181,8 @@ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (o
|
|
|
46181
46181
|
});
|
|
46182
46182
|
|
|
46183
46183
|
var BUY_REQUESTS_PER_PAGE = 5;
|
|
46184
|
+
var MARKETPLACE_PANEL_HEIGHT = '390px';
|
|
46185
|
+
var MARKETPLACE_PANEL_MOBILE_HEIGHT = '250px';
|
|
46184
46186
|
var formatBlueprintKey$1 = function formatBlueprintKey(key) {
|
|
46185
46187
|
var name = key.includes('/') ? key.split('/').pop() : key;
|
|
46186
46188
|
return name.replace(/[-_]/g, ' ').replace(/\b\w/g, function (c) {
|
|
@@ -46599,7 +46601,7 @@ var WrapperContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
|
46599
46601
|
var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
|
|
46600
46602
|
displayName: "BuyPanel__ItemComponentScrollWrapper",
|
|
46601
46603
|
componentId: "sc-1si8t7i-7"
|
|
46602
|
-
})(["display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;
|
|
46604
|
+
})(["display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:", ";width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:", ";}"], MARKETPLACE_PANEL_HEIGHT, MARKETPLACE_PANEL_MOBILE_HEIGHT);
|
|
46603
46605
|
var MarketSection = /*#__PURE__*/styled.div.withConfig({
|
|
46604
46606
|
displayName: "BuyPanel__MarketSection",
|
|
46605
46607
|
componentId: "sc-1si8t7i-8"
|
|
@@ -73178,6 +73180,173 @@ var QuantityInput$1 = /*#__PURE__*/styled.input.withConfig({
|
|
|
73178
73180
|
componentId: "sc-ulazq3-11"
|
|
73179
73181
|
})(["width:40px;text-align:center;margin:0 auto;font-size:0.875rem;background:rgba(0,0,0,0.2);color:#ffffff;border:none;padding:0.25rem;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}"]);
|
|
73180
73182
|
|
|
73183
|
+
var StoreRedeemSection = function StoreRedeemSection(_ref) {
|
|
73184
|
+
var onRedeem = _ref.onRedeem,
|
|
73185
|
+
onInputFocus = _ref.onInputFocus,
|
|
73186
|
+
onInputBlur = _ref.onInputBlur;
|
|
73187
|
+
var _useState = useState(''),
|
|
73188
|
+
code = _useState[0],
|
|
73189
|
+
setCode = _useState[1];
|
|
73190
|
+
var _useState2 = useState('idle'),
|
|
73191
|
+
status = _useState2[0],
|
|
73192
|
+
setStatus = _useState2[1];
|
|
73193
|
+
var _useState3 = useState(),
|
|
73194
|
+
dcAmount = _useState3[0],
|
|
73195
|
+
setDcAmount = _useState3[1];
|
|
73196
|
+
var _useState4 = useState(''),
|
|
73197
|
+
errorMessage = _useState4[0],
|
|
73198
|
+
setErrorMessage = _useState4[1];
|
|
73199
|
+
var canSubmit = code.trim().length > 0 && status !== 'loading';
|
|
73200
|
+
var handleSubmit = /*#__PURE__*/function () {
|
|
73201
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
73202
|
+
var normalizedCode, result, _result$error;
|
|
73203
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
73204
|
+
while (1) switch (_context.prev = _context.next) {
|
|
73205
|
+
case 0:
|
|
73206
|
+
if (canSubmit) {
|
|
73207
|
+
_context.next = 2;
|
|
73208
|
+
break;
|
|
73209
|
+
}
|
|
73210
|
+
return _context.abrupt("return");
|
|
73211
|
+
case 2:
|
|
73212
|
+
normalizedCode = code.trim().toUpperCase();
|
|
73213
|
+
setStatus('loading');
|
|
73214
|
+
setErrorMessage('');
|
|
73215
|
+
_context.prev = 5;
|
|
73216
|
+
_context.next = 8;
|
|
73217
|
+
return onRedeem(normalizedCode);
|
|
73218
|
+
case 8:
|
|
73219
|
+
result = _context.sent;
|
|
73220
|
+
if (result.success) {
|
|
73221
|
+
setStatus('success');
|
|
73222
|
+
setDcAmount(result.dcAmount);
|
|
73223
|
+
} else {
|
|
73224
|
+
setStatus('error');
|
|
73225
|
+
setErrorMessage((_result$error = result.error) != null ? _result$error : 'Redemption failed. Please try again.');
|
|
73226
|
+
}
|
|
73227
|
+
_context.next = 16;
|
|
73228
|
+
break;
|
|
73229
|
+
case 12:
|
|
73230
|
+
_context.prev = 12;
|
|
73231
|
+
_context.t0 = _context["catch"](5);
|
|
73232
|
+
setStatus('error');
|
|
73233
|
+
setErrorMessage('Something went wrong. Please try again.');
|
|
73234
|
+
case 16:
|
|
73235
|
+
case "end":
|
|
73236
|
+
return _context.stop();
|
|
73237
|
+
}
|
|
73238
|
+
}, _callee, null, [[5, 12]]);
|
|
73239
|
+
}));
|
|
73240
|
+
return function handleSubmit() {
|
|
73241
|
+
return _ref2.apply(this, arguments);
|
|
73242
|
+
};
|
|
73243
|
+
}();
|
|
73244
|
+
var handleReset = function handleReset() {
|
|
73245
|
+
setCode('');
|
|
73246
|
+
setStatus('idle');
|
|
73247
|
+
setDcAmount(undefined);
|
|
73248
|
+
setErrorMessage('');
|
|
73249
|
+
};
|
|
73250
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
73251
|
+
if (e.key === 'Enter') {
|
|
73252
|
+
void handleSubmit();
|
|
73253
|
+
}
|
|
73254
|
+
};
|
|
73255
|
+
if (status === 'success') {
|
|
73256
|
+
return React.createElement(Container$O, null, React.createElement(ResultContainer, null, React.createElement(SuccessIcon, null, React.createElement(FaCheckCircle, {
|
|
73257
|
+
size: 32
|
|
73258
|
+
})), React.createElement(SuccessTitle, null, "Code Redeemed!"), dcAmount != null && React.createElement(DCAmountDisplay, null, "+", dcAmount.toLocaleString(), " DC"), React.createElement(SuccessHint, null, "Your wallet balance has been updated."), React.createElement(ButtonWrapper$3, null, React.createElement(CTAButton, {
|
|
73259
|
+
icon: React.createElement(FaTicketAlt, null),
|
|
73260
|
+
label: "Redeem Another",
|
|
73261
|
+
onClick: handleReset
|
|
73262
|
+
}))));
|
|
73263
|
+
}
|
|
73264
|
+
if (status === 'error') {
|
|
73265
|
+
return React.createElement(Container$O, null, React.createElement(ResultContainer, null, React.createElement(ErrorIcon, null, React.createElement(FaExclamationCircle, {
|
|
73266
|
+
size: 32
|
|
73267
|
+
})), React.createElement(ErrorTitle, null, errorMessage), React.createElement(ButtonWrapper$3, null, React.createElement(CTAButton, {
|
|
73268
|
+
icon: React.createElement(FaTicketAlt, null),
|
|
73269
|
+
label: "Try Again",
|
|
73270
|
+
onClick: handleReset
|
|
73271
|
+
}))));
|
|
73272
|
+
}
|
|
73273
|
+
return React.createElement(Container$O, null, React.createElement(Title$p, null, "Redeem a Voucher Code"), React.createElement(Description$7, null, "Enter your voucher code below to receive Definya Coins."), React.createElement(InputRow, null, React.createElement(CodeInput, {
|
|
73274
|
+
type: "text",
|
|
73275
|
+
value: code,
|
|
73276
|
+
onChange: function onChange(e) {
|
|
73277
|
+
return setCode(e.target.value);
|
|
73278
|
+
},
|
|
73279
|
+
onFocus: onInputFocus,
|
|
73280
|
+
onBlur: onInputBlur,
|
|
73281
|
+
onKeyDown: handleKeyDown,
|
|
73282
|
+
placeholder: "Enter code...",
|
|
73283
|
+
disabled: status === 'loading',
|
|
73284
|
+
autoComplete: "off",
|
|
73285
|
+
spellCheck: false
|
|
73286
|
+
})), React.createElement(ButtonWrapper$3, null, React.createElement(CTAButton, {
|
|
73287
|
+
icon: React.createElement(FaTicketAlt, null),
|
|
73288
|
+
label: status === 'loading' ? 'Redeeming...' : 'Redeem Code',
|
|
73289
|
+
onClick: function onClick() {
|
|
73290
|
+
void handleSubmit();
|
|
73291
|
+
},
|
|
73292
|
+
disabled: !canSubmit,
|
|
73293
|
+
fullWidth: true
|
|
73294
|
+
})));
|
|
73295
|
+
};
|
|
73296
|
+
var Container$O = /*#__PURE__*/styled.div.withConfig({
|
|
73297
|
+
displayName: "StoreRedeemSection__Container",
|
|
73298
|
+
componentId: "sc-1pzosml-0"
|
|
73299
|
+
})(["display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;max-width:420px;margin:0 auto;gap:1rem;"]);
|
|
73300
|
+
var Title$p = /*#__PURE__*/styled.h3.withConfig({
|
|
73301
|
+
displayName: "StoreRedeemSection__Title",
|
|
73302
|
+
componentId: "sc-1pzosml-1"
|
|
73303
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.85rem;color:", ";margin:0;text-align:center;"], uiColors.white);
|
|
73304
|
+
var Description$7 = /*#__PURE__*/styled.p.withConfig({
|
|
73305
|
+
displayName: "StoreRedeemSection__Description",
|
|
73306
|
+
componentId: "sc-1pzosml-2"
|
|
73307
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:", ";margin:0;text-align:center;line-height:1.6;"], uiColors.lightGray);
|
|
73308
|
+
var InputRow = /*#__PURE__*/styled.div.withConfig({
|
|
73309
|
+
displayName: "StoreRedeemSection__InputRow",
|
|
73310
|
+
componentId: "sc-1pzosml-3"
|
|
73311
|
+
})(["width:100%;"]);
|
|
73312
|
+
var CodeInput = /*#__PURE__*/styled.input.withConfig({
|
|
73313
|
+
displayName: "StoreRedeemSection__CodeInput",
|
|
73314
|
+
componentId: "sc-1pzosml-4"
|
|
73315
|
+
})(["width:100%;padding:12px 14px;font-family:'Press Start 2P',cursive;font-size:0.75rem;color:", ";background:rgba(0,0,0,0.4);border:2px solid #f59e0b;border-radius:4px;text-transform:uppercase;letter-spacing:2px;text-align:center;box-sizing:border-box;outline:none;&::placeholder{color:", ";text-transform:none;letter-spacing:0;}&:focus{border-color:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,0.3);}&:disabled{opacity:0.5;cursor:not-allowed;}"], uiColors.white, uiColors.lightGray);
|
|
73316
|
+
var ButtonWrapper$3 = /*#__PURE__*/styled.div.withConfig({
|
|
73317
|
+
displayName: "StoreRedeemSection__ButtonWrapper",
|
|
73318
|
+
componentId: "sc-1pzosml-5"
|
|
73319
|
+
})(["width:100%;margin-top:0.5rem;"]);
|
|
73320
|
+
var ResultContainer = /*#__PURE__*/styled.div.withConfig({
|
|
73321
|
+
displayName: "StoreRedeemSection__ResultContainer",
|
|
73322
|
+
componentId: "sc-1pzosml-6"
|
|
73323
|
+
})(["display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;"]);
|
|
73324
|
+
var glowPulse$1 = /*#__PURE__*/keyframes(["0%,100%{opacity:1;}50%{opacity:0.7;}"]);
|
|
73325
|
+
var SuccessIcon = /*#__PURE__*/styled.div.withConfig({
|
|
73326
|
+
displayName: "StoreRedeemSection__SuccessIcon",
|
|
73327
|
+
componentId: "sc-1pzosml-7"
|
|
73328
|
+
})(["color:", ";animation:", " 1.5s ease-in-out infinite;"], uiColors.green, glowPulse$1);
|
|
73329
|
+
var SuccessTitle = /*#__PURE__*/styled.h3.withConfig({
|
|
73330
|
+
displayName: "StoreRedeemSection__SuccessTitle",
|
|
73331
|
+
componentId: "sc-1pzosml-8"
|
|
73332
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.85rem;color:", ";margin:0;"], uiColors.green);
|
|
73333
|
+
var DCAmountDisplay = /*#__PURE__*/styled.div.withConfig({
|
|
73334
|
+
displayName: "StoreRedeemSection__DCAmountDisplay",
|
|
73335
|
+
componentId: "sc-1pzosml-9"
|
|
73336
|
+
})(["font-family:'Press Start 2P',cursive;font-size:1.2rem;color:#fef08a;text-shadow:0 0 10px rgba(254,240,138,0.5);"]);
|
|
73337
|
+
var SuccessHint = /*#__PURE__*/styled.p.withConfig({
|
|
73338
|
+
displayName: "StoreRedeemSection__SuccessHint",
|
|
73339
|
+
componentId: "sc-1pzosml-10"
|
|
73340
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:", ";margin:0;"], uiColors.lightGray);
|
|
73341
|
+
var ErrorIcon = /*#__PURE__*/styled.div.withConfig({
|
|
73342
|
+
displayName: "StoreRedeemSection__ErrorIcon",
|
|
73343
|
+
componentId: "sc-1pzosml-11"
|
|
73344
|
+
})(["color:", ";"], uiColors.red);
|
|
73345
|
+
var ErrorTitle = /*#__PURE__*/styled.p.withConfig({
|
|
73346
|
+
displayName: "StoreRedeemSection__ErrorTitle",
|
|
73347
|
+
componentId: "sc-1pzosml-12"
|
|
73348
|
+
})(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:", ";margin:0;text-align:center;line-height:1.6;"], uiColors.red);
|
|
73349
|
+
|
|
73181
73350
|
var StoreItemDetails = function StoreItemDetails(_ref) {
|
|
73182
73351
|
var _item$regionalPrice;
|
|
73183
73352
|
var item = _ref.item,
|
|
@@ -73191,12 +73360,12 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
|
|
|
73191
73360
|
if (typeof imageUrl === 'string') return imageUrl;
|
|
73192
73361
|
return imageUrl["default"] || imageUrl.src;
|
|
73193
73362
|
};
|
|
73194
|
-
return React.createElement(Container$
|
|
73363
|
+
return React.createElement(Container$P, null, React.createElement(Header$j, null, React.createElement(BackButton, {
|
|
73195
73364
|
onClick: onBack
|
|
73196
73365
|
}, React.createElement(FaArrowLeft, null), React.createElement("span", null, "Back"))), React.createElement(Content$5, null, React.createElement(DetailsGrid, null, React.createElement(ItemIcon, null, React.createElement("img", {
|
|
73197
73366
|
src: getImageSrc(),
|
|
73198
73367
|
alt: item.name
|
|
73199
|
-
})), React.createElement(ItemInfo$3, null, React.createElement(ItemName$9, null, item.name), React.createElement(ItemPrice$2, null, currencySymbol, 'priceUSD' in item ? item.priceUSD : (_item$regionalPrice = item.regionalPrice) != null ? _item$regionalPrice : item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React.createElement(Description$
|
|
73368
|
+
})), React.createElement(ItemInfo$3, null, React.createElement(ItemName$9, null, item.name), React.createElement(ItemPrice$2, null, currencySymbol, 'priceUSD' in item ? item.priceUSD : (_item$regionalPrice = item.regionalPrice) != null ? _item$regionalPrice : item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React.createElement(Description$8, null, item.description))), React.createElement(Actions$1, null, React.createElement(CTAButton, {
|
|
73200
73369
|
icon: React.createElement(FaCartPlus, null),
|
|
73201
73370
|
label: "Add to Cart",
|
|
73202
73371
|
onClick: function onClick() {
|
|
@@ -73205,7 +73374,7 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
|
|
|
73205
73374
|
fullWidth: true
|
|
73206
73375
|
}))));
|
|
73207
73376
|
};
|
|
73208
|
-
var Container$
|
|
73377
|
+
var Container$P = /*#__PURE__*/styled.div.withConfig({
|
|
73209
73378
|
displayName: "StoreItemDetails__Container",
|
|
73210
73379
|
componentId: "sc-k3ho5z-0"
|
|
73211
73380
|
})(["display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;height:100%;"]);
|
|
@@ -73241,7 +73410,7 @@ var ItemPrice$2 = /*#__PURE__*/styled.div.withConfig({
|
|
|
73241
73410
|
displayName: "StoreItemDetails__ItemPrice",
|
|
73242
73411
|
componentId: "sc-k3ho5z-8"
|
|
73243
73412
|
})(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#fef08a;"]);
|
|
73244
|
-
var Description$
|
|
73413
|
+
var Description$8 = /*#__PURE__*/styled.p.withConfig({
|
|
73245
73414
|
displayName: "StoreItemDetails__Description",
|
|
73246
73415
|
componentId: "sc-k3ho5z-9"
|
|
73247
73416
|
})(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.875rem;line-height:1.6;color:#ffffff;"]);
|
|
@@ -73294,18 +73463,23 @@ var Store = function Store(_ref) {
|
|
|
73294
73463
|
onPurchaseError = _ref.onPurchaseError,
|
|
73295
73464
|
onBuyDC = _ref.onBuyDC,
|
|
73296
73465
|
_ref$currencySymbol = _ref.currencySymbol,
|
|
73297
|
-
currencySymbol = _ref$currencySymbol === void 0 ? '$' : _ref$currencySymbol
|
|
73466
|
+
currencySymbol = _ref$currencySymbol === void 0 ? '$' : _ref$currencySymbol,
|
|
73467
|
+
onRedeem = _ref.onRedeem,
|
|
73468
|
+
onRedeemInputFocus = _ref.onRedeemInputFocus,
|
|
73469
|
+
onRedeemInputBlur = _ref.onRedeemInputBlur;
|
|
73470
|
+
var defaultTabOrder = ['premium', 'packs', 'items'];
|
|
73298
73471
|
var _useState = useState(null),
|
|
73299
73472
|
selectedPack = _useState[0],
|
|
73300
73473
|
setSelectedPack = _useState[1];
|
|
73301
73474
|
var _useState2 = useState(function () {
|
|
73302
|
-
var
|
|
73475
|
+
var _initialTabs$;
|
|
73476
|
+
var initialTabs = (tabOrder != null ? tabOrder : defaultTabOrder).filter(function (id) {
|
|
73303
73477
|
return !(hidePremiumTab && id === 'premium');
|
|
73304
73478
|
});
|
|
73305
73479
|
if (defaultActiveTab && initialTabs.includes(defaultActiveTab)) {
|
|
73306
73480
|
return defaultActiveTab;
|
|
73307
73481
|
}
|
|
73308
|
-
return hidePremiumTab ? 'items' : 'premium';
|
|
73482
|
+
return (_initialTabs$ = initialTabs[0]) != null ? _initialTabs$ : hidePremiumTab ? 'items' : 'premium';
|
|
73309
73483
|
}),
|
|
73310
73484
|
activeTab = _useState2[0],
|
|
73311
73485
|
setActiveTab = _useState2[1];
|
|
@@ -73416,7 +73590,7 @@ var Store = function Store(_ref) {
|
|
|
73416
73590
|
return React.createElement(ErrorMessage$3, null, error);
|
|
73417
73591
|
}
|
|
73418
73592
|
// Build tabs dynamically based on props
|
|
73419
|
-
var tabIds = [].concat(tabOrder != null ? tabOrder :
|
|
73593
|
+
var tabIds = [].concat(tabOrder != null ? tabOrder : defaultTabOrder, onRedeem ? ['redeem'] : [], onShowWallet || customWalletContent ? ['wallet'] : [], onShowHistory || customHistoryContent ? ['history'] : []);
|
|
73420
73594
|
var availableTabIds = Array.from(new Set(tabIds.filter(function (id) {
|
|
73421
73595
|
return !(hidePremiumTab && id === 'premium');
|
|
73422
73596
|
})));
|
|
@@ -73556,6 +73730,18 @@ var Store = function Store(_ref) {
|
|
|
73556
73730
|
currencySymbol: currencySymbol
|
|
73557
73731
|
})
|
|
73558
73732
|
},
|
|
73733
|
+
redeem: {
|
|
73734
|
+
id: 'redeem',
|
|
73735
|
+
title: 'Redeem',
|
|
73736
|
+
icon: React.createElement(FaTicketAlt, {
|
|
73737
|
+
size: 16
|
|
73738
|
+
}),
|
|
73739
|
+
content: onRedeem ? React.createElement(StoreRedeemSection, {
|
|
73740
|
+
onRedeem: onRedeem,
|
|
73741
|
+
onInputFocus: onRedeemInputFocus,
|
|
73742
|
+
onInputBlur: onRedeemInputBlur
|
|
73743
|
+
}) : null
|
|
73744
|
+
},
|
|
73559
73745
|
wallet: {
|
|
73560
73746
|
id: 'wallet',
|
|
73561
73747
|
title: walletLabel != null ? walletLabel : 'Wallet',
|
|
@@ -73640,7 +73826,7 @@ var Store = function Store(_ref) {
|
|
|
73640
73826
|
return handleAddPackToCart(selectedPack);
|
|
73641
73827
|
},
|
|
73642
73828
|
currencySymbol: currencySymbol
|
|
73643
|
-
}) : React.createElement(Container$
|
|
73829
|
+
}) : React.createElement(Container$Q, null, featuredItems && featuredItems.length > 0 && React.createElement(FeaturedBanner, {
|
|
73644
73830
|
items: featuredItems,
|
|
73645
73831
|
atlasJSON: atlasJSON,
|
|
73646
73832
|
atlasIMG: atlasIMG,
|
|
@@ -73722,7 +73908,7 @@ var Store = function Store(_ref) {
|
|
|
73722
73908
|
fullWidth: true
|
|
73723
73909
|
}))));
|
|
73724
73910
|
};
|
|
73725
|
-
var Container$
|
|
73911
|
+
var Container$Q = /*#__PURE__*/styled.div.withConfig({
|
|
73726
73912
|
displayName: "Store__Container",
|
|
73727
73913
|
componentId: "sc-64dj00-0"
|
|
73728
73914
|
})(["display:flex;flex-direction:column;width:100%;height:100%;gap:0.5rem;position:relative;"]);
|
|
@@ -74105,7 +74291,7 @@ var TradingMenu = function TradingMenu(_ref) {
|
|
|
74105
74291
|
width: "500px",
|
|
74106
74292
|
cancelDrag: "#TraderContainer",
|
|
74107
74293
|
scale: scale
|
|
74108
|
-
}, React.createElement(Container$
|
|
74294
|
+
}, React.createElement(Container$R, null, React.createElement(Title$q, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
|
|
74109
74295
|
className: "golden"
|
|
74110
74296
|
}), React.createElement(ScrollWrapper, {
|
|
74111
74297
|
id: "TraderContainer"
|
|
@@ -74122,7 +74308,7 @@ var TradingMenu = function TradingMenu(_ref) {
|
|
|
74122
74308
|
scale: scale,
|
|
74123
74309
|
isBuy: isBuy()
|
|
74124
74310
|
});
|
|
74125
|
-
})), React.createElement(InfoSection$2, null, React.createElement(GoldInfo, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold.toFixed(2))), React.createElement(GoldInfo, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertText, null, "Sorry, not enough money.") : React.createElement(GoldInfo, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold().toFixed(2)))), React.createElement(ButtonWrapper$
|
|
74311
|
+
})), React.createElement(InfoSection$2, null, React.createElement(GoldInfo, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold.toFixed(2))), React.createElement(GoldInfo, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertText, null, "Sorry, not enough money.") : React.createElement(GoldInfo, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold().toFixed(2)))), React.createElement(ButtonWrapper$4, null, React.createElement(Button, {
|
|
74126
74312
|
buttonType: ButtonTypes.RPGUIButton,
|
|
74127
74313
|
disabled: !hasGoldForSale(),
|
|
74128
74314
|
onPointerDown: function onPointerDown() {
|
|
@@ -74133,11 +74319,11 @@ var TradingMenu = function TradingMenu(_ref) {
|
|
|
74133
74319
|
onPointerDown: onClose
|
|
74134
74320
|
}, "Cancel"))));
|
|
74135
74321
|
};
|
|
74136
|
-
var Container$
|
|
74322
|
+
var Container$R = /*#__PURE__*/styled.div.withConfig({
|
|
74137
74323
|
displayName: "TradingMenu__Container",
|
|
74138
74324
|
componentId: "sc-1wjsz1l-0"
|
|
74139
74325
|
})(["width:100%;"]);
|
|
74140
|
-
var Title$
|
|
74326
|
+
var Title$q = /*#__PURE__*/styled.h1.withConfig({
|
|
74141
74327
|
displayName: "TradingMenu__Title",
|
|
74142
74328
|
componentId: "sc-1wjsz1l-1"
|
|
74143
74329
|
})(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
|
|
@@ -74157,7 +74343,7 @@ var AlertText = /*#__PURE__*/styled.p.withConfig({
|
|
|
74157
74343
|
displayName: "TradingMenu__AlertText",
|
|
74158
74344
|
componentId: "sc-1wjsz1l-5"
|
|
74159
74345
|
})(["color:red !important;text-align:center;margin:0.3rem 0;font-size:0.5rem;"]);
|
|
74160
|
-
var ButtonWrapper$
|
|
74346
|
+
var ButtonWrapper$4 = /*#__PURE__*/styled.div.withConfig({
|
|
74161
74347
|
displayName: "TradingMenu__ButtonWrapper",
|
|
74162
74348
|
componentId: "sc-1wjsz1l-6"
|
|
74163
74349
|
})(["display:flex;justify-content:space-around;width:100%;margin-top:1rem;"]);
|
|
@@ -74167,11 +74353,11 @@ var Truncate = function Truncate(_ref) {
|
|
|
74167
74353
|
var _ref$maxLines = _ref.maxLines,
|
|
74168
74354
|
maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
|
|
74169
74355
|
children = _ref.children;
|
|
74170
|
-
return React.createElement(Container$
|
|
74356
|
+
return React.createElement(Container$S, {
|
|
74171
74357
|
maxLines: maxLines
|
|
74172
74358
|
}, children);
|
|
74173
74359
|
};
|
|
74174
|
-
var Container$
|
|
74360
|
+
var Container$S = /*#__PURE__*/styled.div.withConfig({
|
|
74175
74361
|
displayName: "Truncate__Container",
|
|
74176
74362
|
componentId: "sc-6x00qb-0"
|
|
74177
74363
|
})(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
|
|
@@ -74280,7 +74466,7 @@ var TutorialStepper = /*#__PURE__*/React.memo(function (_ref) {
|
|
|
74280
74466
|
};
|
|
74281
74467
|
});
|
|
74282
74468
|
}, [lessons, imageStyle]);
|
|
74283
|
-
return React.createElement(Container$
|
|
74469
|
+
return React.createElement(Container$T, null, React.createElement(Stepper, {
|
|
74284
74470
|
steps: generateLessons,
|
|
74285
74471
|
finalCTAButton: {
|
|
74286
74472
|
label: 'Close',
|
|
@@ -74298,7 +74484,7 @@ var LessonBody = /*#__PURE__*/styled.div.withConfig({
|
|
|
74298
74484
|
displayName: "TutorialStepper__LessonBody",
|
|
74299
74485
|
componentId: "sc-7tgzv2-1"
|
|
74300
74486
|
})([""]);
|
|
74301
|
-
var Container$
|
|
74487
|
+
var Container$T = /*#__PURE__*/styled.div.withConfig({
|
|
74302
74488
|
displayName: "TutorialStepper__Container",
|
|
74303
74489
|
componentId: "sc-7tgzv2-2"
|
|
74304
74490
|
})(["width:80%;max-width:600px;@media (max-width:600px){width:95%;}"]);
|
|
@@ -74319,5 +74505,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
74319
74505
|
componentId: "sc-7tgzv2-6"
|
|
74320
74506
|
})(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
|
|
74321
74507
|
|
|
74322
|
-
export { ActionButtons, AsyncDropdown, BLUEPRINTS_PER_PAGE, BUY_ORDERS_PER_PAGE, BlueprintSearchModal, Button, ButtonTypes, BuyOrderPanel, BuyOrderRow, CTAButton, CartView, CharacterDetailModal, CharacterListingForm, CharacterListingModal, CharacterMarketplacePanel, CharacterMarketplaceRows, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, ConfirmModal, CountdownTimer, CraftBook, DCRateStrip, DCWalletContent, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FeaturedBanner, FriendList, GemSelector, GroupedBuyOrderRow, GroupedCharacterMarketplaceRow, GroupedMarketplaceRow, HISTORY_ITEMS_PER_PAGE, HistoryDialog, HistoryPanel, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceBuyModal, MarketplaceRows, MarketplaceSettingsPanel, MetadataCollector, MultitabType, MyCharacterListingsPanel, NPCDialog, NPCDialogType, NPCMultiDialog, Pagination, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, PurchaseSuccess, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RadioCircle$2 as RadioCircle, RadioOption$1 as RadioOption, RadioOptionLabel, RadioOptionSub, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, StoreBadges, TRANSACTION_TYPE_FILTER_ALL, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer$1 as TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TrustBar, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
|
|
74508
|
+
export { ActionButtons, AsyncDropdown, BLUEPRINTS_PER_PAGE, BUY_ORDERS_PER_PAGE, BlueprintSearchModal, Button, ButtonTypes, BuyOrderPanel, BuyOrderRow, CTAButton, CartView, CharacterDetailModal, CharacterListingForm, CharacterListingModal, CharacterMarketplacePanel, CharacterMarketplaceRows, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, ConfirmModal, CountdownTimer, CraftBook, DCRateStrip, DCWalletContent, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FeaturedBanner, FriendList, GemSelector, GroupedBuyOrderRow, GroupedCharacterMarketplaceRow, GroupedMarketplaceRow, HISTORY_ITEMS_PER_PAGE, HistoryDialog, HistoryPanel, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceBuyModal, MarketplaceRows, MarketplaceSettingsPanel, MetadataCollector, MultitabType, MyCharacterListingsPanel, NPCDialog, NPCDialogType, NPCMultiDialog, Pagination, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, PurchaseSuccess, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RadioCircle$2 as RadioCircle, RadioOption$1 as RadioOption, RadioOptionLabel, RadioOptionSub, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, StoreBadges, StoreRedeemSection, TRANSACTION_TYPE_FILTER_ALL, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer$1 as TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TrustBar, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
|
|
74323
74509
|
//# sourceMappingURL=long-bow.esm.js.map
|