@rpg-engine/long-bow 0.8.136 → 0.8.138

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.
@@ -5,7 +5,7 @@ import { v4 } from 'uuid';
5
5
  import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getLevelFromXP, getSkillConstants, getLevelFromSPTiered, getXPForLevel, getSPForLevelTiered, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
6
6
  import dayjs from 'dayjs';
7
7
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
8
- import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaPaperPlane, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaWallet, FaShoppingCart } from 'react-icons/fa';
8
+ import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaClipboardList, FaPaperPlane, FaShoppingCart, FaChevronUp, FaChevronDown, FaReddit, FaTrash, FaShoppingBag, FaInfoCircle, FaCartPlus, FaArrowLeft, FaHistory, FaWallet } from 'react-icons/fa';
9
9
  import { RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
10
10
  import { IoMdContract, IoMdExpand } from 'react-icons/io';
11
11
  import Draggable from 'react-draggable';
@@ -30302,49 +30302,50 @@ var PageInfo$1 = /*#__PURE__*/styled.div.withConfig({
30302
30302
  var TRANSACTION_TYPE_LABELS = {
30303
30303
  Purchase: 'Purchase',
30304
30304
  Transfer: 'Transfer',
30305
- MarketplaceSale: 'Marketplace Sale',
30306
- MarketplacePurchase: 'Marketplace Buy',
30307
- StorePurchase: 'Store Purchase',
30305
+ MarketplaceSale: 'Mkt Sale',
30306
+ MarketplacePurchase: 'Mkt Buy',
30307
+ StorePurchase: 'Store',
30308
30308
  Fee: 'Fee',
30309
30309
  Refund: 'Refund',
30310
- AdminAdjustment: 'Admin Adjustment'
30310
+ AdminAdjustment: 'Admin'
30311
+ };
30312
+ var TRANSACTION_TYPE_COLORS = {
30313
+ Purchase: '#22c55e',
30314
+ Transfer: '#60a5fa',
30315
+ MarketplaceSale: '#fbbf24',
30316
+ MarketplacePurchase: '#f97316',
30317
+ StorePurchase: '#a78bfa',
30318
+ Fee: '#ef4444',
30319
+ Refund: '#06b6d4',
30320
+ AdminAdjustment: '#9ca3af'
30311
30321
  };
30312
30322
  var TRANSACTION_TYPE_OPTIONS = [{
30313
- id: 0,
30314
30323
  value: '',
30315
- option: 'All Types'
30324
+ label: 'All Types'
30316
30325
  }, {
30317
- id: 1,
30318
30326
  value: 'Purchase',
30319
- option: 'Purchase'
30327
+ label: 'Purchase'
30320
30328
  }, {
30321
- id: 2,
30322
30329
  value: 'Transfer',
30323
- option: 'Transfer'
30330
+ label: 'Transfer'
30324
30331
  }, {
30325
- id: 3,
30326
30332
  value: 'MarketplaceSale',
30327
- option: 'Marketplace Sale'
30333
+ label: 'Marketplace Sale'
30328
30334
  }, {
30329
- id: 4,
30330
30335
  value: 'MarketplacePurchase',
30331
- option: 'Marketplace Buy'
30336
+ label: 'Marketplace Buy'
30332
30337
  }, {
30333
- id: 5,
30334
30338
  value: 'StorePurchase',
30335
- option: 'Store Purchase'
30339
+ label: 'Store Purchase'
30336
30340
  }, {
30337
- id: 6,
30338
30341
  value: 'Fee',
30339
- option: 'Fee'
30342
+ label: 'Fee'
30340
30343
  }, {
30341
- id: 7,
30342
30344
  value: 'Refund',
30343
- option: 'Refund'
30345
+ label: 'Refund'
30344
30346
  }, {
30345
- id: 8,
30346
30347
  value: 'AdminAdjustment',
30347
- option: 'Admin Adjustment'
30348
+ label: 'Admin Adjustment'
30348
30349
  }];
30349
30350
  var DCHistoryPanel = function DCHistoryPanel(_ref) {
30350
30351
  var transactions = _ref.transactions,
@@ -30355,7 +30356,13 @@ var DCHistoryPanel = function DCHistoryPanel(_ref) {
30355
30356
  var _React$useState = React.useState(''),
30356
30357
  selectedType = _React$useState[0],
30357
30358
  setSelectedType = _React$useState[1];
30358
- var handleTypeChange = function handleTypeChange(value) {
30359
+ // Auto-load on first mount (when History tab is opened)
30360
+ React.useEffect(function () {
30361
+ onRequestHistory(1);
30362
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30363
+ }, []);
30364
+ var handleTypeChange = function handleTypeChange(e) {
30365
+ var value = e.target.value;
30359
30366
  setSelectedType(value);
30360
30367
  onRequestHistory(1, value || undefined);
30361
30368
  };
@@ -30364,22 +30371,29 @@ var DCHistoryPanel = function DCHistoryPanel(_ref) {
30364
30371
  };
30365
30372
  var formatDate = function formatDate(dateStr) {
30366
30373
  var d = new Date(dateStr);
30367
- var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
30368
- return months[d.getMonth()] + " " + d.getDate() + ", " + d.getFullYear();
30374
+ return d.getMonth() + 1 + "/" + d.getDate() + "/" + String(d.getFullYear()).slice(-2);
30369
30375
  };
30370
- return React.createElement(PanelContainer, null, React.createElement(FilterRow, null, React.createElement(FilterLabel, null, "Filter:"), React.createElement(Dropdown, {
30371
- options: TRANSACTION_TYPE_OPTIONS,
30372
- onChange: handleTypeChange,
30373
- width: "200px"
30374
- })), loading && React.createElement(LoadingRow, null, React.createElement(Spinner, null), React.createElement("span", null, "Loading...")), !loading && transactions.length === 0 && React.createElement(EmptyMessage, null, "No transactions found."), !loading && transactions.length > 0 && React.createElement(TransactionList, null, transactions.map(function (tx) {
30375
- var _TRANSACTION_TYPE_LAB, _tx$note;
30376
+ return React.createElement(PanelContainer, null, React.createElement(FilterRow, null, React.createElement(FilterLabel, null, "Filter:"), React.createElement(TypeSelect, {
30377
+ value: selectedType,
30378
+ onChange: handleTypeChange
30379
+ }, TRANSACTION_TYPE_OPTIONS.map(function (opt) {
30380
+ return React.createElement("option", {
30381
+ key: opt.value,
30382
+ value: opt.value
30383
+ }, opt.label);
30384
+ }))), loading && React.createElement(LoadingRow, null, React.createElement(Spinner, null), React.createElement("span", null, "Loading...")), !loading && transactions.length === 0 && React.createElement(EmptyMessage, null, "No transactions found."), !loading && transactions.length > 0 && React.createElement(TransactionList, null, transactions.map(function (tx) {
30385
+ var _TRANSACTION_TYPE_LAB, _TRANSACTION_TYPE_COL, _tx$note;
30376
30386
  var isCredit = tx.amount > 0;
30377
30387
  var label = (_TRANSACTION_TYPE_LAB = TRANSACTION_TYPE_LABELS[tx.type]) != null ? _TRANSACTION_TYPE_LAB : tx.type;
30388
+ var color = (_TRANSACTION_TYPE_COL = TRANSACTION_TYPE_COLORS[tx.type]) != null ? _TRANSACTION_TYPE_COL : '#f59e0b';
30389
+ var subtitle = (_tx$note = tx.note) != null ? _tx$note : tx.relatedCharacterName ? tx.relatedCharacterName : '';
30378
30390
  return React.createElement(TransactionRow, {
30379
30391
  key: tx._id
30380
- }, React.createElement(TxType, null, label), React.createElement(TxAmount, {
30392
+ }, React.createElement(TxLeft, null, React.createElement(TxType, {
30393
+ "$color": color
30394
+ }, label), subtitle ? React.createElement(TxNote, null, subtitle) : null), React.createElement(TxRight, null, React.createElement(TxAmount, {
30381
30395
  "$credit": isCredit
30382
- }, isCredit ? '+' : '', tx.amount, " DC"), React.createElement(TxNote, null, (_tx$note = tx.note) != null ? _tx$note : tx.relatedCharacterName ? "With: " + tx.relatedCharacterName : ''), React.createElement(TxDate, null, formatDate(tx.createdAt)), React.createElement(TxBalance, null, "Balance: ", tx.balanceAfter, " DC"));
30396
+ }, isCredit ? '+' : '', tx.amount, " DC"), React.createElement(TxDate, null, formatDate(tx.createdAt))));
30383
30397
  })), totalPages > 1 && React.createElement(Pagination, {
30384
30398
  currentPage: currentPage,
30385
30399
  totalPages: totalPages,
@@ -30393,54 +30407,65 @@ var PanelContainer = /*#__PURE__*/styled.div.withConfig({
30393
30407
  var FilterRow = /*#__PURE__*/styled.div.withConfig({
30394
30408
  displayName: "DCHistoryPanel__FilterRow",
30395
30409
  componentId: "sc-debjdj-1"
30396
- })(["display:flex;align-items:center;gap:8px;margin-bottom:4px;"]);
30410
+ })(["display:flex;align-items:center;gap:8px;margin-bottom:2px;"]);
30397
30411
  var FilterLabel = /*#__PURE__*/styled.span.withConfig({
30398
30412
  displayName: "DCHistoryPanel__FilterLabel",
30399
30413
  componentId: "sc-debjdj-2"
30400
- })(["font-size:8px;color:#f59e0b;font-family:'Press Start 2P',cursive;white-space:nowrap;"]);
30414
+ })(["font-size:7px;color:#f59e0b;font-family:'Press Start 2P',cursive;white-space:nowrap;"]);
30415
+ var TypeSelect = /*#__PURE__*/styled.select.withConfig({
30416
+ displayName: "DCHistoryPanel__TypeSelect",
30417
+ componentId: "sc-debjdj-3"
30418
+ })(["background:rgba(0,0,0,0.7);border:1px solid rgba(245,158,11,0.4);border-radius:3px;color:#f59e0b;font-size:7px;font-family:'Press Start 2P',cursive;padding:3px 5px;cursor:pointer;outline:none;flex:1;option{background:#1a1a2e;color:#f59e0b;}&:hover{border-color:#f59e0b;}&:focus{border-color:#f59e0b;box-shadow:0 0 0 1px rgba(245,158,11,0.3);}"]);
30401
30419
  var TransactionList = /*#__PURE__*/styled.div.withConfig({
30402
30420
  displayName: "DCHistoryPanel__TransactionList",
30403
- componentId: "sc-debjdj-3"
30404
- })(["display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto;"]);
30421
+ componentId: "sc-debjdj-4"
30422
+ })(["display:flex;flex-direction:column;gap:3px;max-height:260px;overflow-y:auto;&::-webkit-scrollbar{width:4px;}&::-webkit-scrollbar-track{background:rgba(0,0,0,0.3);}&::-webkit-scrollbar-thumb{background:rgba(245,158,11,0.4);border-radius:2px;}"]);
30405
30423
  var TransactionRow = /*#__PURE__*/styled.div.withConfig({
30406
30424
  displayName: "DCHistoryPanel__TransactionRow",
30407
- componentId: "sc-debjdj-4"
30408
- })(["background:rgba(0,0,0,0.4);border:1px solid rgba(255,215,0,0.2);padding:8px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px;"]);
30425
+ componentId: "sc-debjdj-5"
30426
+ })(["background:rgba(0,0,0,0.35);border:1px solid rgba(245,158,11,0.15);border-radius:2px;padding:5px 7px;display:flex;align-items:center;gap:8px;"]);
30427
+ var TxLeft = /*#__PURE__*/styled.div.withConfig({
30428
+ displayName: "DCHistoryPanel__TxLeft",
30429
+ componentId: "sc-debjdj-6"
30430
+ })(["flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;"]);
30431
+ var TxRight = /*#__PURE__*/styled.div.withConfig({
30432
+ displayName: "DCHistoryPanel__TxRight",
30433
+ componentId: "sc-debjdj-7"
30434
+ })(["display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;"]);
30409
30435
  var TxType = /*#__PURE__*/styled.span.withConfig({
30410
30436
  displayName: "DCHistoryPanel__TxType",
30411
- componentId: "sc-debjdj-5"
30412
- })(["font-size:8px;color:#f59e0b;font-family:'Press Start 2P',cursive;grid-column:1;grid-row:1;"]);
30437
+ componentId: "sc-debjdj-8"
30438
+ })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;"], function (_ref2) {
30439
+ var $color = _ref2.$color;
30440
+ return $color;
30441
+ });
30413
30442
  var TxAmount = /*#__PURE__*/styled.span.withConfig({
30414
30443
  displayName: "DCHistoryPanel__TxAmount",
30415
- componentId: "sc-debjdj-6"
30416
- })(["font-size:10px;font-family:'Press Start 2P',cursive;color:", ";font-weight:bold;grid-column:2;grid-row:1;text-align:right;"], function (_ref2) {
30417
- var $credit = _ref2.$credit;
30444
+ componentId: "sc-debjdj-9"
30445
+ })(["font-size:8px;font-family:'Press Start 2P',cursive;color:", ";white-space:nowrap;"], function (_ref3) {
30446
+ var $credit = _ref3.$credit;
30418
30447
  return $credit ? uiColors.green : uiColors.red;
30419
30448
  });
30420
30449
  var TxNote = /*#__PURE__*/styled.span.withConfig({
30421
30450
  displayName: "DCHistoryPanel__TxNote",
30422
- componentId: "sc-debjdj-7"
30423
- })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:1;grid-row:2;"], uiColors.lightGray);
30451
+ componentId: "sc-debjdj-10"
30452
+ })(["font-size:6px;color:", ";font-family:'Press Start 2P',cursive;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"], uiColors.lightGray);
30424
30453
  var TxDate = /*#__PURE__*/styled.span.withConfig({
30425
30454
  displayName: "DCHistoryPanel__TxDate",
30426
- componentId: "sc-debjdj-8"
30427
- })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:2;grid-row:2;text-align:right;"], uiColors.lightGray);
30428
- var TxBalance = /*#__PURE__*/styled.span.withConfig({
30429
- displayName: "DCHistoryPanel__TxBalance",
30430
- componentId: "sc-debjdj-9"
30431
- })(["font-size:7px;color:", ";font-family:'Press Start 2P',cursive;grid-column:1 / 3;grid-row:3;opacity:0.7;"], uiColors.white);
30455
+ componentId: "sc-debjdj-11"
30456
+ })(["font-size:6px;color:rgba(255,255,255,0.4);font-family:'Press Start 2P',cursive;white-space:nowrap;"]);
30432
30457
  var LoadingRow = /*#__PURE__*/styled.div.withConfig({
30433
30458
  displayName: "DCHistoryPanel__LoadingRow",
30434
- componentId: "sc-debjdj-10"
30459
+ componentId: "sc-debjdj-12"
30435
30460
  })(["display:flex;align-items:center;gap:8px;justify-content:center;padding:16px;color:", ";font-size:9px;font-family:'Press Start 2P',cursive;"], uiColors.white);
30436
30461
  var Spinner = /*#__PURE__*/styled.div.withConfig({
30437
30462
  displayName: "DCHistoryPanel__Spinner",
30438
- componentId: "sc-debjdj-11"
30439
- })(["border:3px solid rgba(255,255,255,0.2);border-radius:50%;border-top:3px solid #f59e0b;width:20px;height:20px;animation:spin 0.8s linear infinite;@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"]);
30463
+ componentId: "sc-debjdj-13"
30464
+ })(["border:3px solid rgba(255,255,255,0.2);border-radius:50%;border-top:3px solid #f59e0b;width:16px;height:16px;animation:spin 0.8s linear infinite;@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"]);
30440
30465
  var EmptyMessage = /*#__PURE__*/styled.div.withConfig({
30441
30466
  displayName: "DCHistoryPanel__EmptyMessage",
30442
- componentId: "sc-debjdj-12"
30443
- })(["font-size:9px;color:", ";font-family:'Press Start 2P',cursive;text-align:center;padding:20px;"], uiColors.lightGray);
30467
+ componentId: "sc-debjdj-14"
30468
+ })(["font-size:8px;color:", ";font-family:'Press Start 2P',cursive;text-align:center;padding:20px;"], uiColors.lightGray);
30444
30469
 
30445
30470
  // Global style to prevent body scrolling when modal is open
30446
30471
  var GlobalStyle = /*#__PURE__*/createGlobalStyle(["body{overflow:hidden;width:100%;height:100%;}"]);
@@ -30592,7 +30617,9 @@ var DCTransferPanel = function DCTransferPanel(_ref) {
30592
30617
  onClearTransferResult = _ref.onClearTransferResult,
30593
30618
  characterName = _ref.characterName,
30594
30619
  onInputFocus = _ref.onInputFocus,
30595
- onInputBlur = _ref.onInputBlur;
30620
+ onInputBlur = _ref.onInputBlur,
30621
+ onSearchCharacter = _ref.onSearchCharacter,
30622
+ searchResults = _ref.searchResults;
30596
30623
  var _useState = useState(''),
30597
30624
  recipientName = _useState[0],
30598
30625
  setRecipientName = _useState[1];
@@ -30605,7 +30632,23 @@ var DCTransferPanel = function DCTransferPanel(_ref) {
30605
30632
  var _useState4 = useState(false),
30606
30633
  showConfirm = _useState4[0],
30607
30634
  setShowConfirm = _useState4[1];
30635
+ var _useState5 = useState(false),
30636
+ showDropdown = _useState5[0],
30637
+ setShowDropdown = _useState5[1];
30638
+ var dropdownRef = useRef(null);
30608
30639
  var clearResultTimerRef = useRef(null);
30640
+ var debouncedSearch = useMemo(function () {
30641
+ return debounce(function (name) {
30642
+ if (name.trim().length >= 2) {
30643
+ onSearchCharacter == null ? void 0 : onSearchCharacter(name.trim());
30644
+ }
30645
+ }, 300);
30646
+ }, [onSearchCharacter]);
30647
+ useEffect(function () {
30648
+ return function () {
30649
+ debouncedSearch.cancel();
30650
+ };
30651
+ }, [debouncedSearch]);
30609
30652
  useEffect(function () {
30610
30653
  if (transferResult) {
30611
30654
  if (clearResultTimerRef.current) {
@@ -30653,17 +30696,41 @@ var DCTransferPanel = function DCTransferPanel(_ref) {
30653
30696
  setRecipientName('');
30654
30697
  setAmount('');
30655
30698
  }, [recipientName, amount, onSendTransfer]);
30656
- return React.createElement(PanelContainer$1, null, React.createElement(FieldLabel, null, "Recipient Character Name"), React.createElement(StyledInput, {
30699
+ return React.createElement(PanelContainer$1, null, React.createElement(FieldLabel, null, "Recipient Character Name"), React.createElement(AutocompleteWrapper, {
30700
+ ref: dropdownRef
30701
+ }, React.createElement(StyledInput, {
30657
30702
  type: "text",
30658
30703
  value: recipientName,
30659
30704
  onChange: function onChange(e) {
30660
- return setRecipientName(e.target.value);
30705
+ setRecipientName(e.target.value);
30706
+ debouncedSearch(e.target.value);
30707
+ setShowDropdown(true);
30708
+ },
30709
+ onFocus: function onFocus() {
30710
+ onInputFocus == null ? void 0 : onInputFocus();
30711
+ if (recipientName.trim().length >= 2 && searchResults && searchResults.length > 0) {
30712
+ setShowDropdown(true);
30713
+ }
30714
+ },
30715
+ onBlur: function onBlur() {
30716
+ // Delay to allow dropdown click to register
30717
+ setTimeout(function () {
30718
+ return setShowDropdown(false);
30719
+ }, 150);
30720
+ onInputBlur == null ? void 0 : onInputBlur();
30661
30721
  },
30662
- onFocus: onInputFocus,
30663
- onBlur: onInputBlur,
30664
30722
  placeholder: "Enter character name",
30665
- disabled: transferLoading
30666
- }), React.createElement(FieldLabel, null, "Amount (DC)"), React.createElement(StyledInput, {
30723
+ disabled: transferLoading,
30724
+ autoComplete: "off"
30725
+ }), showDropdown && searchResults && searchResults.length > 0 && React.createElement(DropdownList, null, searchResults.map(function (_char) {
30726
+ return React.createElement(DropdownItem, {
30727
+ key: _char._id,
30728
+ onPointerDown: function onPointerDown() {
30729
+ setRecipientName(_char.name);
30730
+ setShowDropdown(false);
30731
+ }
30732
+ }, _char.name);
30733
+ }))), React.createElement(FieldLabel, null, "Amount (DC)"), React.createElement(StyledInput, {
30667
30734
  type: "number",
30668
30735
  min: 1,
30669
30736
  value: amount,
@@ -30724,6 +30791,18 @@ var ErrorMessage = /*#__PURE__*/styled.div.withConfig({
30724
30791
  displayName: "DCTransferPanel__ErrorMessage",
30725
30792
  componentId: "sc-k1vvb1-6"
30726
30793
  })(["font-size:9px;color:", ";font-family:'Press Start 2P',cursive;"], uiColors.red);
30794
+ var AutocompleteWrapper = /*#__PURE__*/styled.div.withConfig({
30795
+ displayName: "DCTransferPanel__AutocompleteWrapper",
30796
+ componentId: "sc-k1vvb1-7"
30797
+ })(["position:relative;width:100%;"]);
30798
+ var DropdownList = /*#__PURE__*/styled.ul.withConfig({
30799
+ displayName: "DCTransferPanel__DropdownList",
30800
+ componentId: "sc-k1vvb1-8"
30801
+ })(["position:absolute;top:100%;left:0;right:0;background:rgba(10,10,30,0.95);border:1px solid #f59e0b;border-top:none;list-style:none;padding:0;margin:0;max-height:120px;overflow-y:auto;z-index:10;"]);
30802
+ var DropdownItem = /*#__PURE__*/styled.li.withConfig({
30803
+ displayName: "DCTransferPanel__DropdownItem",
30804
+ componentId: "sc-k1vvb1-9"
30805
+ })(["padding:6px 8px;font-size:11px;font-family:'Press Start 2P',cursive;color:", ";cursor:pointer;&:hover{background:rgba(245,158,11,0.3);}"], uiColors.white);
30727
30806
 
30728
30807
  var DCWalletModal = function DCWalletModal(_ref) {
30729
30808
  var _historyData$transact, _historyData$totalPag, _historyData$currentP;
@@ -30738,7 +30817,10 @@ var DCWalletModal = function DCWalletModal(_ref) {
30738
30817
  onClearTransferResult = _ref.onClearTransferResult,
30739
30818
  characterName = _ref.characterName,
30740
30819
  onInputFocus = _ref.onInputFocus,
30741
- onInputBlur = _ref.onInputBlur;
30820
+ onInputBlur = _ref.onInputBlur,
30821
+ onBuyDC = _ref.onBuyDC,
30822
+ onSearchCharacter = _ref.onSearchCharacter,
30823
+ searchResults = _ref.searchResults;
30742
30824
  var _useState = useState('balance'),
30743
30825
  activeTab = _useState[0],
30744
30826
  setActiveTab = _useState[1];
@@ -30748,7 +30830,10 @@ var DCWalletModal = function DCWalletModal(_ref) {
30748
30830
  var tabs = [{
30749
30831
  id: 'balance',
30750
30832
  title: 'Balance',
30751
- content: React.createElement(BalanceContent, null, React.createElement(BalanceLabel, null, "Your DC Balance"), React.createElement(BalanceAmount, null, dcBalance.toLocaleString(), " DC"), React.createElement(BalanceHint, null, "Buy DC packs from the Store > Packs tab."))
30833
+ content: React.createElement(BalanceContent, null, React.createElement(BalanceLabel, null, "Your DC Balance"), React.createElement(BalanceAmount, null, dcBalance.toLocaleString(), " DC"), onBuyDC && React.createElement(BuyButton, {
30834
+ onPointerDown: onBuyDC,
30835
+ title: "Buy Definya Coins"
30836
+ }, React.createElement(FaShoppingCart, null), React.createElement(BuyButtonLabel, null, "Buy DC")))
30752
30837
  }, {
30753
30838
  id: 'transfer',
30754
30839
  title: 'Transfer',
@@ -30760,7 +30845,9 @@ var DCWalletModal = function DCWalletModal(_ref) {
30760
30845
  onClearTransferResult: onClearTransferResult,
30761
30846
  characterName: characterName,
30762
30847
  onInputFocus: onInputFocus,
30763
- onInputBlur: onInputBlur
30848
+ onInputBlur: onInputBlur,
30849
+ onSearchCharacter: onSearchCharacter,
30850
+ searchResults: searchResults
30764
30851
  })
30765
30852
  }, {
30766
30853
  id: 'history',
@@ -30786,7 +30873,10 @@ var DCWalletModal = function DCWalletModal(_ref) {
30786
30873
  tabs: tabs,
30787
30874
  activeTab: activeTab,
30788
30875
  onTabChange: function onTabChange(tabId) {
30789
- return setActiveTab(tabId);
30876
+ setActiveTab(tabId);
30877
+ if (tabId === 'history') {
30878
+ onRequestHistory(1);
30879
+ }
30790
30880
  },
30791
30881
  activeTextColor: "#000000",
30792
30882
  activeColor: "#fef08a",
@@ -30835,10 +30925,14 @@ var BalanceAmount = /*#__PURE__*/styled.div.withConfig({
30835
30925
  displayName: "DCWalletModal__BalanceAmount",
30836
30926
  componentId: "sc-12xy88y-9"
30837
30927
  })(["font-family:'Press Start 2P',cursive;font-size:28px;color:#fef08a;text-shadow:2px 2px 0 #000;letter-spacing:2px;"]);
30838
- var BalanceHint = /*#__PURE__*/styled.span.withConfig({
30839
- displayName: "DCWalletModal__BalanceHint",
30928
+ var BuyButton = /*#__PURE__*/styled.button.withConfig({
30929
+ displayName: "DCWalletModal__BuyButton",
30840
30930
  componentId: "sc-12xy88y-10"
30841
- })(["font-family:'Press Start 2P',cursive;font-size:7px;color:", ";"], uiColors.lightGray);
30931
+ })(["display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 20px;background:#f59e0b;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:1rem;&:hover{background:#fbbf24;}&:active{background:#d97706;}"]);
30932
+ var BuyButtonLabel = /*#__PURE__*/styled.span.withConfig({
30933
+ displayName: "DCWalletModal__BuyButtonLabel",
30934
+ componentId: "sc-12xy88y-11"
30935
+ })(["font-family:'Press Start 2P',cursive;font-size:8px;"]);
30842
30936
 
30843
30937
  var SimpleProgressBar = function SimpleProgressBar(_ref) {
30844
30938
  var value = _ref.value,
@@ -35505,11 +35599,145 @@ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
35505
35599
  componentId: "sc-1ekmf50-1"
35506
35600
  })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
35507
35601
 
35602
+ var MarketplaceBuyModal = function MarketplaceBuyModal(_ref) {
35603
+ var goldPrice = _ref.goldPrice,
35604
+ dcEquivalentPrice = _ref.dcEquivalentPrice,
35605
+ dcBalance = _ref.dcBalance,
35606
+ onConfirm = _ref.onConfirm,
35607
+ onClose = _ref.onClose;
35608
+ var _useState = useState('gold'),
35609
+ selected = _useState[0],
35610
+ setSelected = _useState[1];
35611
+ var hasSufficientDC = dcBalance >= dcEquivalentPrice;
35612
+ var stopPropagation = useCallback(function (e) {
35613
+ e.stopPropagation();
35614
+ }, []);
35615
+ var handleConfirm = useCallback(function () {
35616
+ onConfirm(selected);
35617
+ }, [selected, onConfirm]);
35618
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$4, {
35619
+ onPointerDown: onClose
35620
+ }), React.createElement(ModalContainer$2, null, React.createElement(ModalContent$2, {
35621
+ onClick: stopPropagation,
35622
+ onTouchStart: stopPropagation,
35623
+ onPointerDown: stopPropagation
35624
+ }, React.createElement(Header$7, null, React.createElement(Title$8, null, "Confirm Purchase"), React.createElement(CloseButton$9, {
35625
+ onPointerDown: onClose,
35626
+ "aria-label": "Close"
35627
+ }, React.createElement(FaTimes, null))), React.createElement(Options, null, React.createElement(RadioOption, {
35628
+ "$selected": selected === 'gold',
35629
+ onPointerDown: function onPointerDown() {
35630
+ return setSelected('gold');
35631
+ }
35632
+ }, React.createElement(RadioCircle, {
35633
+ "$selected": selected === 'gold'
35634
+ }), React.createElement(OptionText, null, React.createElement(OptionLabel, null, "Gold"), React.createElement(OptionSub, null, goldPrice.toLocaleString(), " gold"))), React.createElement(RadioOption, {
35635
+ "$selected": selected === 'dc',
35636
+ "$disabled": !hasSufficientDC,
35637
+ onPointerDown: function onPointerDown() {
35638
+ return hasSufficientDC && setSelected('dc');
35639
+ }
35640
+ }, React.createElement(RadioCircle, {
35641
+ "$selected": selected === 'dc'
35642
+ }), React.createElement(OptionText, null, React.createElement(OptionLabel, {
35643
+ "$disabled": !hasSufficientDC
35644
+ }, "Definya Coin"), React.createElement(OptionSub, null, dcEquivalentPrice.toLocaleString(), " DC", ' ', React.createElement(BalanceHint, {
35645
+ "$insufficient": !hasSufficientDC
35646
+ }, "(", dcBalance.toLocaleString(), " available)"))))), React.createElement(ConfirmRow, null, React.createElement(Button, {
35647
+ buttonType: ButtonTypes.RPGUIButton,
35648
+ onPointerDown: handleConfirm
35649
+ }, "Confirm")))));
35650
+ };
35651
+ var Overlay$4 = /*#__PURE__*/styled.div.withConfig({
35652
+ displayName: "MarketplaceBuyModal__Overlay",
35653
+ componentId: "sc-86ottl-0"
35654
+ })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
35655
+ var ModalContainer$2 = /*#__PURE__*/styled.div.withConfig({
35656
+ displayName: "MarketplaceBuyModal__ModalContainer",
35657
+ componentId: "sc-86ottl-1"
35658
+ })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
35659
+ var ModalContent$2 = /*#__PURE__*/styled.div.withConfig({
35660
+ displayName: "MarketplaceBuyModal__ModalContent",
35661
+ componentId: "sc-86ottl-2"
35662
+ })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:20px 24px 24px;min-width:300px;max-width:90%;display:flex;flex-direction:column;gap:16px;pointer-events:auto;animation:scaleIn 0.15s ease-out;@keyframes scaleIn{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}"]);
35663
+ var Header$7 = /*#__PURE__*/styled.div.withConfig({
35664
+ displayName: "MarketplaceBuyModal__Header",
35665
+ componentId: "sc-86ottl-3"
35666
+ })(["display:flex;align-items:center;justify-content:space-between;"]);
35667
+ var Title$8 = /*#__PURE__*/styled.h3.withConfig({
35668
+ displayName: "MarketplaceBuyModal__Title",
35669
+ componentId: "sc-86ottl-4"
35670
+ })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
35671
+ var CloseButton$9 = /*#__PURE__*/styled.button.withConfig({
35672
+ displayName: "MarketplaceBuyModal__CloseButton",
35673
+ componentId: "sc-86ottl-5"
35674
+ })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#ffffff;}"]);
35675
+ var Options = /*#__PURE__*/styled.div.withConfig({
35676
+ displayName: "MarketplaceBuyModal__Options",
35677
+ componentId: "sc-86ottl-6"
35678
+ })(["display:flex;flex-direction:column;gap:8px;"]);
35679
+ var RadioOption = /*#__PURE__*/styled.div.withConfig({
35680
+ displayName: "MarketplaceBuyModal__RadioOption",
35681
+ componentId: "sc-86ottl-7"
35682
+ })(["display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid ", ";border-radius:6px;background:", ";cursor:", ";opacity:", ";transition:border-color 0.15s,background 0.15s;&:hover{border-color:", ";}"], function (_ref2) {
35683
+ var $selected = _ref2.$selected;
35684
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.15)';
35685
+ }, function (_ref3) {
35686
+ var $selected = _ref3.$selected;
35687
+ return $selected ? 'rgba(245,158,11,0.1)' : 'transparent';
35688
+ }, function (_ref4) {
35689
+ var $disabled = _ref4.$disabled;
35690
+ return $disabled ? 'not-allowed' : 'pointer';
35691
+ }, function (_ref5) {
35692
+ var $disabled = _ref5.$disabled;
35693
+ return $disabled ? 0.5 : 1;
35694
+ }, function (_ref6) {
35695
+ var $disabled = _ref6.$disabled;
35696
+ return $disabled ? 'rgba(255,255,255,0.15)' : '#f59e0b';
35697
+ });
35698
+ var RadioCircle = /*#__PURE__*/styled.div.withConfig({
35699
+ displayName: "MarketplaceBuyModal__RadioCircle",
35700
+ componentId: "sc-86ottl-8"
35701
+ })(["width:16px;height:16px;border-radius:50%;border:2px solid ", ";display:flex;align-items:center;justify-content:center;flex-shrink:0;&::after{content:'';width:8px;height:8px;border-radius:50%;background:#f59e0b;opacity:", ";transition:opacity 0.15s;}"], function (_ref7) {
35702
+ var $selected = _ref7.$selected;
35703
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.4)';
35704
+ }, function (_ref8) {
35705
+ var $selected = _ref8.$selected;
35706
+ return $selected ? 1 : 0;
35707
+ });
35708
+ var OptionText = /*#__PURE__*/styled.div.withConfig({
35709
+ displayName: "MarketplaceBuyModal__OptionText",
35710
+ componentId: "sc-86ottl-9"
35711
+ })(["display:flex;flex-direction:column;gap:3px;"]);
35712
+ var OptionLabel = /*#__PURE__*/styled.span.withConfig({
35713
+ displayName: "MarketplaceBuyModal__OptionLabel",
35714
+ componentId: "sc-86ottl-10"
35715
+ })(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:", ";"], function (_ref9) {
35716
+ var $disabled = _ref9.$disabled;
35717
+ return $disabled ? 'rgba(255,255,255,0.4)' : '#ffffff';
35718
+ });
35719
+ var OptionSub = /*#__PURE__*/styled.span.withConfig({
35720
+ displayName: "MarketplaceBuyModal__OptionSub",
35721
+ componentId: "sc-86ottl-11"
35722
+ })(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.55);"]);
35723
+ var BalanceHint = /*#__PURE__*/styled.span.withConfig({
35724
+ displayName: "MarketplaceBuyModal__BalanceHint",
35725
+ componentId: "sc-86ottl-12"
35726
+ })(["color:", ";"], function (_ref10) {
35727
+ var $insufficient = _ref10.$insufficient;
35728
+ return $insufficient ? '#ef4444' : 'rgba(255, 255, 255, 0.4)';
35729
+ });
35730
+ var ConfirmRow = /*#__PURE__*/styled.div.withConfig({
35731
+ displayName: "MarketplaceBuyModal__ConfirmRow",
35732
+ componentId: "sc-86ottl-13"
35733
+ })(["display:flex;justify-content:center;margin-top:4px;"]);
35734
+
35508
35735
  var MarketplaceRows = function MarketplaceRows(_ref) {
35509
35736
  var atlasJSON = _ref.atlasJSON,
35510
35737
  atlasIMG = _ref.atlasIMG,
35511
35738
  item = _ref.item,
35512
35739
  itemPrice = _ref.itemPrice,
35740
+ dcEquivalentPrice = _ref.dcEquivalentPrice,
35513
35741
  equipmentSet = _ref.equipmentSet,
35514
35742
  scale = _ref.scale,
35515
35743
  onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
@@ -35541,16 +35769,20 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
35541
35769
  maxLines: 1,
35542
35770
  maxWidth: "200px",
35543
35771
  fontSize: "10px"
35544
- }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
35772
+ }, item.name)))), React.createElement(Flex$1, null, React.createElement(PriceContainer, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
35545
35773
  atlasIMG: atlasIMG,
35546
35774
  atlasJSON: atlasJSON,
35547
35775
  spriteKey: "others/gold-coin-qty-5.png",
35548
35776
  imgScale: 2
35549
35777
  })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
35550
35778
  maxLines: 1,
35551
- maxWidth: "200px",
35779
+ maxWidth: "120px",
35552
35780
  fontSize: "10px"
35553
- }, "$", itemPrice)))), React.createElement(ButtonContainer$3, null, React.createElement(Button, {
35781
+ }, "$", itemPrice)))), dcEquivalentPrice !== undefined && React.createElement(DCPriceLabel, null, React.createElement(Ellipsis, {
35782
+ maxLines: 1,
35783
+ maxWidth: "80px",
35784
+ fontSize: "9px"
35785
+ }, dcEquivalentPrice, " DC"))), React.createElement(ButtonContainer$3, null, React.createElement(Button, {
35554
35786
  buttonType: ButtonTypes.RPGUIButton,
35555
35787
  disabled: disabled,
35556
35788
  onPointerDown: function onPointerDown() {
@@ -35588,17 +35820,25 @@ var SpriteContainer$3 = /*#__PURE__*/styled.div.withConfig({
35588
35820
  displayName: "MarketplaceRows__SpriteContainer",
35589
35821
  componentId: "sc-wmpr1o-6"
35590
35822
  })(["position:relative;left:0.5rem;"]);
35823
+ var PriceContainer = /*#__PURE__*/styled.div.withConfig({
35824
+ displayName: "MarketplaceRows__PriceContainer",
35825
+ componentId: "sc-wmpr1o-7"
35826
+ })(["display:flex;flex-direction:column;align-items:flex-start;gap:2px;"]);
35827
+ var DCPriceLabel = /*#__PURE__*/styled.p.withConfig({
35828
+ displayName: "MarketplaceRows__DCPriceLabel",
35829
+ componentId: "sc-wmpr1o-8"
35830
+ })(["margin:0;margin-left:40px;color:#fef08a;font-size:0.7rem;"]);
35591
35831
  var PriceValue = /*#__PURE__*/styled.div.withConfig({
35592
35832
  displayName: "MarketplaceRows__PriceValue",
35593
- componentId: "sc-wmpr1o-7"
35833
+ componentId: "sc-wmpr1o-9"
35594
35834
  })(["margin-left:40px;"]);
35595
35835
  var ButtonContainer$3 = /*#__PURE__*/styled.div.withConfig({
35596
35836
  displayName: "MarketplaceRows__ButtonContainer",
35597
- componentId: "sc-wmpr1o-8"
35837
+ componentId: "sc-wmpr1o-10"
35598
35838
  })(["margin:auto;"]);
35599
35839
  var RarityContainer = /*#__PURE__*/styled.div.withConfig({
35600
35840
  displayName: "MarketplaceRows__RarityContainer",
35601
- componentId: "sc-wmpr1o-9"
35841
+ componentId: "sc-wmpr1o-11"
35602
35842
  })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
35603
35843
  var item = _ref2.item;
35604
35844
  return rarityColor(item);
@@ -35669,7 +35909,11 @@ var BuyPanel = function BuyPanel(_ref) {
35669
35909
  characterId = _ref.characterId,
35670
35910
  enableHotkeys = _ref.enableHotkeys,
35671
35911
  disableHotkeys = _ref.disableHotkeys,
35672
- currentPage = _ref.currentPage;
35912
+ currentPage = _ref.currentPage,
35913
+ _ref$dcBalance = _ref.dcBalance,
35914
+ dcBalance = _ref$dcBalance === void 0 ? 0 : _ref$dcBalance,
35915
+ _ref$dcToGoldSwapRate = _ref.dcToGoldSwapRate,
35916
+ dcToGoldSwapRate = _ref$dcToGoldSwapRate === void 0 ? 0 : _ref$dcToGoldSwapRate;
35673
35917
  var _useState = useState(''),
35674
35918
  name = _useState[0],
35675
35919
  setName = _useState[1];
@@ -35690,7 +35934,26 @@ var BuyPanel = function BuyPanel(_ref) {
35690
35934
  var _itemsContainer$curre;
35691
35935
  (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
35692
35936
  }, [currentPage]);
35693
- return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
35937
+ var buyingItem = buyingItemId ? items.find(function (i) {
35938
+ return i._id === buyingItemId;
35939
+ }) : null;
35940
+ var hasDCBalance = dcBalance > 0 && dcToGoldSwapRate > 0;
35941
+ var getDCEquivalentPrice = function getDCEquivalentPrice(goldPrice) {
35942
+ return dcToGoldSwapRate > 0 ? Math.ceil(goldPrice / dcToGoldSwapRate) : 0;
35943
+ };
35944
+ return React.createElement(React.Fragment, null, buyingItemId && buyingItem && hasDCBalance && React.createElement(MarketplaceBuyModal, {
35945
+ goldPrice: buyingItem.price,
35946
+ dcEquivalentPrice: getDCEquivalentPrice(buyingItem.price),
35947
+ dcBalance: dcBalance,
35948
+ onClose: function onClose() {
35949
+ return setBuyingItemId(null);
35950
+ },
35951
+ onConfirm: function onConfirm(paymentMethod) {
35952
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId, paymentMethod);
35953
+ setBuyingItemId(null);
35954
+ enableHotkeys == null ? void 0 : enableHotkeys();
35955
+ }
35956
+ }), buyingItemId && !hasDCBalance && React.createElement(ConfirmModal, {
35694
35957
  onClose: setBuyingItemId.bind(null, null),
35695
35958
  onConfirm: function onConfirm() {
35696
35959
  onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
@@ -35795,6 +36058,7 @@ var BuyPanel = function BuyPanel(_ref) {
35795
36058
  atlasJSON: atlasJSON,
35796
36059
  item: item,
35797
36060
  itemPrice: price,
36061
+ dcEquivalentPrice: dcToGoldSwapRate > 0 ? getDCEquivalentPrice(price) : undefined,
35798
36062
  equipmentSet: equipmentSet,
35799
36063
  onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
35800
36064
  disabled: owner === characterId
@@ -36169,7 +36433,7 @@ var PartyCreate = function PartyCreate(_ref) {
36169
36433
  style: {
36170
36434
  width: '100%'
36171
36435
  }
36172
- }, React.createElement(Title$8, null, "Create Party"), React.createElement("hr", {
36436
+ }, React.createElement(Title$9, null, "Create Party"), React.createElement("hr", {
36173
36437
  className: "golden"
36174
36438
  }))), React.createElement("h1", null, "Type your party name"), React.createElement(Input, {
36175
36439
  placeholder: "Type party name",
@@ -36192,7 +36456,7 @@ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
36192
36456
  displayName: "PartyCreate__Wrapper",
36193
36457
  componentId: "sc-13brop0-0"
36194
36458
  })(["display:flex;flex-direction:column;width:100%;"]);
36195
- var Title$8 = /*#__PURE__*/styled.h1.withConfig({
36459
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
36196
36460
  displayName: "PartyCreate__Title",
36197
36461
  componentId: "sc-13brop0-1"
36198
36462
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -36241,7 +36505,7 @@ var PartyDashboard = function PartyDashboard(_ref) {
36241
36505
  style: {
36242
36506
  width: '100%'
36243
36507
  }
36244
- }, React.createElement(Title$9, null, "Party Dashboard"), React.createElement(Button, {
36508
+ }, React.createElement(Title$a, null, "Party Dashboard"), React.createElement(Button, {
36245
36509
  buttonType: ButtonTypes.RPGUIButton
36246
36510
  }, "Create"), React.createElement("hr", {
36247
36511
  className: "golden"
@@ -36268,7 +36532,7 @@ var RowsWrapper = /*#__PURE__*/styled.div.withConfig({
36268
36532
  displayName: "PartyDashboard__RowsWrapper",
36269
36533
  componentId: "sc-16cm41r-1"
36270
36534
  })(["overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;height:200px;"]);
36271
- var Title$9 = /*#__PURE__*/styled.h1.withConfig({
36535
+ var Title$a = /*#__PURE__*/styled.h1.withConfig({
36272
36536
  displayName: "PartyDashboard__Title",
36273
36537
  componentId: "sc-16cm41r-2"
36274
36538
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -36305,7 +36569,7 @@ var PartyInvite = function PartyInvite(_ref) {
36305
36569
  style: {
36306
36570
  width: '100%'
36307
36571
  }
36308
- }, React.createElement(Title$a, null, "Invite for Party"), React.createElement("hr", {
36572
+ }, React.createElement(Title$b, null, "Invite for Party"), React.createElement("hr", {
36309
36573
  className: "golden"
36310
36574
  }))), React.createElement(RowsWrapper$1, {
36311
36575
  className: "playersRows"
@@ -36324,7 +36588,7 @@ var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
36324
36588
  displayName: "PartyInvite__Wrapper",
36325
36589
  componentId: "sc-eu8ggt-0"
36326
36590
  })(["display:flex;flex-direction:column;width:100%;"]);
36327
- var Title$a = /*#__PURE__*/styled.h1.withConfig({
36591
+ var Title$b = /*#__PURE__*/styled.h1.withConfig({
36328
36592
  displayName: "PartyInvite__Title",
36329
36593
  componentId: "sc-eu8ggt-1"
36330
36594
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -36766,7 +37030,7 @@ var QuestInfo = function QuestInfo(_ref) {
36766
37030
  onPointerDown: onRightClick
36767
37031
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
36768
37032
  className: "drag-handler"
36769
- }, React.createElement(Title$b, null, React.createElement(Thumbnail, {
37033
+ }, React.createElement(Title$c, null, React.createElement(Thumbnail, {
36770
37034
  src: quests[currentIndex].thumbnail || img$8
36771
37035
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
36772
37036
  className: "golden"
@@ -36785,7 +37049,7 @@ var QuestInfo = function QuestInfo(_ref) {
36785
37049
  }, button.title);
36786
37050
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
36787
37051
  className: "drag-handler"
36788
- }, React.createElement(Title$b, null, React.createElement(Thumbnail, {
37052
+ }, React.createElement(Title$c, null, React.createElement(Thumbnail, {
36789
37053
  src: quests[0].thumbnail || img$8
36790
37054
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
36791
37055
  className: "golden"
@@ -36832,7 +37096,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
36832
37096
  displayName: "QuestInfo__TitleContainer",
36833
37097
  componentId: "sc-1wccpiy-6"
36834
37098
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
36835
- var Title$b = /*#__PURE__*/styled.h1.withConfig({
37099
+ var Title$c = /*#__PURE__*/styled.h1.withConfig({
36836
37100
  displayName: "QuestInfo__Title",
36837
37101
  componentId: "sc-1wccpiy-7"
36838
37102
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -37360,7 +37624,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
37360
37624
  cancelDrag: "#skillsDiv",
37361
37625
  scale: scale,
37362
37626
  width: "100%"
37363
- }, onCloseButton && React.createElement(CloseButton$9, {
37627
+ }, onCloseButton && React.createElement(CloseButton$a, {
37364
37628
  onPointerDown: onCloseButton
37365
37629
  }, "X"), React.createElement(SkillsContainerDiv, {
37366
37630
  id: "skillsDiv"
@@ -37395,7 +37659,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
37395
37659
  displayName: "SkillsContainer__SkillSplitDiv",
37396
37660
  componentId: "sc-1g0c67q-2"
37397
37661
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
37398
- var CloseButton$9 = /*#__PURE__*/styled.div.withConfig({
37662
+ var CloseButton$a = /*#__PURE__*/styled.div.withConfig({
37399
37663
  displayName: "SkillsContainer__CloseButton",
37400
37664
  componentId: "sc-1g0c67q-3"
37401
37665
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -37531,7 +37795,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
37531
37795
  castingType = spell.castingType,
37532
37796
  cooldown = spell.cooldown,
37533
37797
  maxDistanceGrid = spell.maxDistanceGrid;
37534
- return React.createElement(Container$F, null, React.createElement(Header$7, null, React.createElement("div", null, React.createElement(Title$c, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
37798
+ return React.createElement(Container$F, null, React.createElement(Header$8, null, React.createElement("div", null, React.createElement(Title$d, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
37535
37799
  className: "label"
37536
37800
  }, "Casting Type:"), React.createElement("div", {
37537
37801
  className: "value"
@@ -37561,7 +37825,7 @@ var Container$F = /*#__PURE__*/styled.div.withConfig({
37561
37825
  displayName: "SpellInfo__Container",
37562
37826
  componentId: "sc-4hbw3q-0"
37563
37827
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
37564
- var Title$c = /*#__PURE__*/styled.div.withConfig({
37828
+ var Title$d = /*#__PURE__*/styled.div.withConfig({
37565
37829
  displayName: "SpellInfo__Title",
37566
37830
  componentId: "sc-4hbw3q-1"
37567
37831
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -37573,7 +37837,7 @@ var Description$4 = /*#__PURE__*/styled.div.withConfig({
37573
37837
  displayName: "SpellInfo__Description",
37574
37838
  componentId: "sc-4hbw3q-3"
37575
37839
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
37576
- var Header$7 = /*#__PURE__*/styled.div.withConfig({
37840
+ var Header$8 = /*#__PURE__*/styled.div.withConfig({
37577
37841
  displayName: "SpellInfo__Header",
37578
37842
  componentId: "sc-4hbw3q-4"
37579
37843
  })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
@@ -37789,7 +38053,7 @@ var Spell = function Spell(_ref) {
37789
38053
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
37790
38054
  isSettingShortcut: isSettingShortcut && !disabled,
37791
38055
  className: "spell"
37792
- }, disabled && React.createElement(Overlay$4, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
38056
+ }, disabled && React.createElement(Overlay$5, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
37793
38057
  className: "cooldown"
37794
38058
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, React.createElement(SpriteFromAtlas, {
37795
38059
  atlasIMG: atlasIMG,
@@ -37798,7 +38062,7 @@ var Spell = function Spell(_ref) {
37798
38062
  imgScale: IMAGE_SCALE,
37799
38063
  containerStyle: CONTAINER_STYLE,
37800
38064
  centered: true
37801
- })), React.createElement(Info, null, React.createElement(Title$d, null, React.createElement("span", null, name), React.createElement("span", {
38065
+ })), React.createElement(Info, null, React.createElement(Title$e, null, React.createElement("span", null, name), React.createElement("span", {
37802
38066
  className: "spell"
37803
38067
  }, "(", magicWords, ")")), React.createElement(Description$5, null, description)), React.createElement(Divider$1, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
37804
38068
  className: "mana"
@@ -37819,7 +38083,7 @@ var Info = /*#__PURE__*/styled.span.withConfig({
37819
38083
  displayName: "Spell__Info",
37820
38084
  componentId: "sc-j96fa2-2"
37821
38085
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
37822
- var Title$d = /*#__PURE__*/styled.p.withConfig({
38086
+ var Title$e = /*#__PURE__*/styled.p.withConfig({
37823
38087
  displayName: "Spell__Title",
37824
38088
  componentId: "sc-j96fa2-3"
37825
38089
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
@@ -37835,7 +38099,7 @@ var Cost = /*#__PURE__*/styled.p.withConfig({
37835
38099
  displayName: "Spell__Cost",
37836
38100
  componentId: "sc-j96fa2-6"
37837
38101
  })(["display:flex;align-items:center;flex-direction:column;gap:0.5rem;div{z-index:1;}.mana{position:relative;font-size:", ";font-weight:bold;z-index:1;&::after{position:absolute;content:'';top:0;left:0;background-color:", ";width:100%;height:100%;border-radius:50%;transform:scale(1.8);filter:blur(10px);z-index:-1;}}"], uiFonts.size.medium, uiColors.blue);
37838
- var Overlay$4 = /*#__PURE__*/styled.p.withConfig({
38102
+ var Overlay$5 = /*#__PURE__*/styled.p.withConfig({
37839
38103
  displayName: "Spell__Overlay",
37840
38104
  componentId: "sc-j96fa2-7"
37841
38105
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
@@ -37884,7 +38148,7 @@ var Spellbook = function Spellbook(_ref) {
37884
38148
  height: "inherit",
37885
38149
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
37886
38150
  scale: scale
37887
- }, React.createElement(Container$J, null, React.createElement(Title$e, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
38151
+ }, React.createElement(Container$J, null, React.createElement(Title$f, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
37888
38152
  setSettingShortcutIndex: setSettingShortcutIndex,
37889
38153
  settingShortcutIndex: settingShortcutIndex,
37890
38154
  shortcuts: shortcuts,
@@ -37917,7 +38181,7 @@ var Spellbook = function Spellbook(_ref) {
37917
38181
  }, spell)));
37918
38182
  }))));
37919
38183
  };
37920
- var Title$e = /*#__PURE__*/styled.h1.withConfig({
38184
+ var Title$f = /*#__PURE__*/styled.h1.withConfig({
37921
38185
  displayName: "Spellbook__Title",
37922
38186
  componentId: "sc-r02nfq-0"
37923
38187
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -58359,7 +58623,7 @@ var CartView = function CartView(_ref2) {
58359
58623
  return _ref3.apply(this, arguments);
58360
58624
  };
58361
58625
  }();
58362
- return React.createElement(Container$K, null, React.createElement(Header$8, null, React.createElement(Title$f, null, "Shopping Cart"), React.createElement(CloseButton$a, {
58626
+ return React.createElement(Container$K, null, React.createElement(Header$9, null, React.createElement(Title$g, null, "Shopping Cart"), React.createElement(CloseButton$b, {
58363
58627
  onPointerDown: onClose
58364
58628
  }, React.createElement(FaTimes, null))), React.createElement(CartItems, null, cartItems.length === 0 ? React.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
58365
58629
  var _cartItem$metadata, _cartItem$metadata2;
@@ -58399,15 +58663,15 @@ var Container$K = /*#__PURE__*/styled.div.withConfig({
58399
58663
  displayName: "CartView__Container",
58400
58664
  componentId: "sc-ydtyl1-0"
58401
58665
  })(["display:flex;flex-direction:column;width:100%;height:100%;gap:1.5rem;padding:1.5rem;"]);
58402
- var Header$8 = /*#__PURE__*/styled.div.withConfig({
58666
+ var Header$9 = /*#__PURE__*/styled.div.withConfig({
58403
58667
  displayName: "CartView__Header",
58404
58668
  componentId: "sc-ydtyl1-1"
58405
58669
  })(["display:flex;justify-content:space-between;align-items:center;"]);
58406
- var Title$f = /*#__PURE__*/styled.h2.withConfig({
58670
+ var Title$g = /*#__PURE__*/styled.h2.withConfig({
58407
58671
  displayName: "CartView__Title",
58408
58672
  componentId: "sc-ydtyl1-2"
58409
58673
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;margin:0;"]);
58410
- var CloseButton$a = /*#__PURE__*/styled.div.withConfig({
58674
+ var CloseButton$b = /*#__PURE__*/styled.div.withConfig({
58411
58675
  displayName: "CartView__CloseButton",
58412
58676
  componentId: "sc-ydtyl1-3"
58413
58677
  })(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
@@ -58889,7 +59153,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
58889
59153
  height: 32,
58890
59154
  imgScale: 2,
58891
59155
  centered: true
58892
- }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$1, null, React.createElement(Header$9, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
59156
+ }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$1, null, React.createElement(Header$a, null, React.createElement(ItemName$1, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
58893
59157
  direction: "left",
58894
59158
  onPointerDown: handlePreviousSkin,
58895
59159
  size: 24
@@ -58941,7 +59205,7 @@ var SkinNavArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
58941
59205
  displayName: "StoreCharacterSkinRow__SkinNavArrow",
58942
59206
  componentId: "sc-81xqsx-7"
58943
59207
  })(["position:static;"]);
58944
- var Header$9 = /*#__PURE__*/styled.div.withConfig({
59208
+ var Header$a = /*#__PURE__*/styled.div.withConfig({
58945
59209
  displayName: "StoreCharacterSkinRow__Header",
58946
59210
  componentId: "sc-81xqsx-8"
58947
59211
  })(["display:flex;align-items:center;gap:0.5rem;"]);
@@ -59265,7 +59529,9 @@ var usePackFiltering = function usePackFiltering(packs) {
59265
59529
  var StorePacksSection = function StorePacksSection(_ref) {
59266
59530
  var packs = _ref.packs,
59267
59531
  onAddToCart = _ref.onAddToCart,
59268
- onSelectPack = _ref.onSelectPack;
59532
+ onSelectPack = _ref.onSelectPack,
59533
+ atlasJSON = _ref.atlasJSON,
59534
+ atlasIMG = _ref.atlasIMG;
59269
59535
  var _usePackFiltering = usePackFiltering(packs),
59270
59536
  searchQuery = _usePackFiltering.searchQuery,
59271
59537
  setSearchQuery = _usePackFiltering.setSearchQuery,
@@ -59274,16 +59540,32 @@ var StorePacksSection = function StorePacksSection(_ref) {
59274
59540
  if (typeof imageUrl === 'string') return imageUrl;
59275
59541
  return imageUrl["default"] || imageUrl.src;
59276
59542
  };
59543
+ var renderPackIcon = useCallback(function (pack) {
59544
+ var _atlasJSON$frames;
59545
+ var imgSrc = getImageSrc(pack.image);
59546
+ if (atlasJSON && atlasIMG && imgSrc && atlasJSON != null && (_atlasJSON$frames = atlasJSON.frames) != null && _atlasJSON$frames[imgSrc]) {
59547
+ return React.createElement(SpriteFromAtlas, {
59548
+ atlasJSON: atlasJSON,
59549
+ atlasIMG: atlasIMG,
59550
+ spriteKey: imgSrc,
59551
+ width: 40,
59552
+ height: 40,
59553
+ imgScale: 1.2,
59554
+ centered: true
59555
+ });
59556
+ }
59557
+ return React.createElement("img", {
59558
+ src: imgSrc,
59559
+ alt: pack.title
59560
+ });
59561
+ }, [atlasJSON, atlasIMG]);
59277
59562
  var renderPack = useCallback(function (pack) {
59278
59563
  return React.createElement(PackRow, {
59279
59564
  key: pack.key,
59280
59565
  onClick: function onClick() {
59281
59566
  return onSelectPack == null ? void 0 : onSelectPack(pack);
59282
59567
  }
59283
- }, React.createElement(PackIconContainer, null, React.createElement("img", {
59284
- src: getImageSrc(pack.image),
59285
- alt: pack.title
59286
- })), React.createElement(PackDetails, null, React.createElement(PackName, null, pack.title), React.createElement(PackPrice, null, "$", pack.priceUSD), pack.description && React.createElement(PackDescription, null, pack.description)), React.createElement(Controls$2, null, React.createElement(CTAButton, {
59568
+ }, React.createElement(PackIconContainer, null, renderPackIcon(pack)), React.createElement(PackDetails, null, React.createElement(PackName, null, pack.title), React.createElement(PackPrice, null, "$", pack.priceUSD), pack.description && React.createElement(PackDescription, null, pack.description)), React.createElement(Controls$2, null, React.createElement(CTAButton, {
59287
59569
  icon: React.createElement(FaCartPlus, null),
59288
59570
  label: "Add",
59289
59571
  onClick: function onClick(e) {
@@ -59344,7 +59626,7 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
59344
59626
  if (typeof imageUrl === 'string') return imageUrl;
59345
59627
  return imageUrl["default"] || imageUrl.src;
59346
59628
  };
59347
- return React.createElement(Container$M, null, React.createElement(Header$a, null, React.createElement(BackButton, {
59629
+ return React.createElement(Container$M, null, React.createElement(Header$b, null, React.createElement(BackButton, {
59348
59630
  onClick: onBack
59349
59631
  }, 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", {
59350
59632
  src: getImageSrc(),
@@ -59362,7 +59644,7 @@ var Container$M = /*#__PURE__*/styled.div.withConfig({
59362
59644
  displayName: "StoreItemDetails__Container",
59363
59645
  componentId: "sc-k3ho5z-0"
59364
59646
  })(["display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;height:100%;"]);
59365
- var Header$a = /*#__PURE__*/styled.div.withConfig({
59647
+ var Header$b = /*#__PURE__*/styled.div.withConfig({
59366
59648
  displayName: "StoreItemDetails__Header",
59367
59649
  componentId: "sc-k3ho5z-1"
59368
59650
  })(["display:flex;align-items:center;gap:1rem;"]);
@@ -59546,18 +59828,22 @@ var Store = function Store(_ref) {
59546
59828
  return pack.priceUSD >= 9.99;
59547
59829
  }),
59548
59830
  onAddToCart: handleAddPackToCart,
59549
- onSelectPack: setSelectedPack
59831
+ onSelectPack: setSelectedPack,
59832
+ atlasJSON: atlasJSON,
59833
+ atlasIMG: atlasIMG
59550
59834
  })
59551
59835
  },
59552
59836
  packs: {
59553
59837
  id: 'packs',
59554
59838
  title: packsTabLabel,
59555
59839
  content: customPacksContent != null ? customPacksContent : React.createElement(StorePacksSection, {
59556
- packs: packs.filter(function (pack) {
59840
+ packs: hidePremiumTab ? packs : packs.filter(function (pack) {
59557
59841
  return pack.priceUSD < 9.99;
59558
59842
  }),
59559
59843
  onAddToCart: handleAddPackToCart,
59560
- onSelectPack: setSelectedPack
59844
+ onSelectPack: setSelectedPack,
59845
+ atlasJSON: atlasJSON,
59846
+ atlasIMG: atlasIMG
59561
59847
  })
59562
59848
  },
59563
59849
  items: {
@@ -59721,63 +60007,63 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
59721
60007
  onPayWithCard();
59722
60008
  }
59723
60009
  }, [selected, onPayWithDC, onPayWithCard]);
59724
- return React.createElement(ModalPortal, null, React.createElement(Overlay$5, {
60010
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$6, {
59725
60011
  onPointerDown: onClose
59726
- }), React.createElement(ModalContainer$2, null, React.createElement(ModalContent$2, {
60012
+ }), React.createElement(ModalContainer$3, null, React.createElement(ModalContent$3, {
59727
60013
  onClick: stopPropagation,
59728
60014
  onTouchStart: stopPropagation,
59729
60015
  onPointerDown: stopPropagation
59730
- }, React.createElement(Header$b, null, React.createElement(Title$g, null, "How would you like to pay?"), React.createElement(CloseButton$b, {
60016
+ }, React.createElement(Header$c, null, React.createElement(Title$h, null, "How would you like to pay?"), React.createElement(CloseButton$c, {
59731
60017
  onPointerDown: onClose,
59732
60018
  "aria-label": "Close"
59733
- }, React.createElement(FaTimes, null))), React.createElement(Options, null, React.createElement(RadioOption, {
60019
+ }, React.createElement(FaTimes, null))), React.createElement(Options$1, null, React.createElement(RadioOption$1, {
59734
60020
  "$selected": selected === 'card',
59735
60021
  onPointerDown: function onPointerDown() {
59736
60022
  return setSelected('card');
59737
60023
  }
59738
- }, React.createElement(RadioCircle, {
60024
+ }, React.createElement(RadioCircle$1, {
59739
60025
  "$selected": selected === 'card'
59740
- }), React.createElement(OptionText, null, React.createElement(OptionLabel, null, "Credit Card"), React.createElement(OptionSub, null, "Stripe secure checkout"))), React.createElement(RadioOption, {
60026
+ }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$1, null, "Credit Card"), React.createElement(OptionSub$1, null, "Stripe secure checkout"))), React.createElement(RadioOption$1, {
59741
60027
  "$selected": selected === 'dc',
59742
60028
  onPointerDown: function onPointerDown() {
59743
60029
  return setSelected('dc');
59744
60030
  }
59745
- }, React.createElement(RadioCircle, {
60031
+ }, React.createElement(RadioCircle$1, {
59746
60032
  "$selected": selected === 'dc'
59747
- }), React.createElement(OptionText, null, React.createElement(OptionLabel, null, "Definya Coin"), React.createElement(OptionSub, null, dcBalance.toLocaleString(), " DC available")))), React.createElement(ConfirmRow, null, React.createElement(Button, {
60033
+ }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$1, null, "Definya Coin"), React.createElement(OptionSub$1, null, dcBalance.toLocaleString(), " DC available")))), React.createElement(ConfirmRow$1, null, React.createElement(Button, {
59748
60034
  buttonType: ButtonTypes.RPGUIButton,
59749
60035
  onPointerDown: handleConfirm
59750
60036
  }, "Confirm")))));
59751
60037
  };
59752
- var Overlay$5 = /*#__PURE__*/styled.div.withConfig({
60038
+ var Overlay$6 = /*#__PURE__*/styled.div.withConfig({
59753
60039
  displayName: "PaymentMethodModal__Overlay",
59754
60040
  componentId: "sc-1dxy6lr-0"
59755
60041
  })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
59756
- var ModalContainer$2 = /*#__PURE__*/styled.div.withConfig({
60042
+ var ModalContainer$3 = /*#__PURE__*/styled.div.withConfig({
59757
60043
  displayName: "PaymentMethodModal__ModalContainer",
59758
60044
  componentId: "sc-1dxy6lr-1"
59759
60045
  })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
59760
- var ModalContent$2 = /*#__PURE__*/styled.div.withConfig({
60046
+ var ModalContent$3 = /*#__PURE__*/styled.div.withConfig({
59761
60047
  displayName: "PaymentMethodModal__ModalContent",
59762
60048
  componentId: "sc-1dxy6lr-2"
59763
60049
  })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:20px 24px 24px;min-width:300px;max-width:90%;display:flex;flex-direction:column;gap:16px;pointer-events:auto;animation:scaleIn 0.15s ease-out;@keyframes scaleIn{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}"]);
59764
- var Header$b = /*#__PURE__*/styled.div.withConfig({
60050
+ var Header$c = /*#__PURE__*/styled.div.withConfig({
59765
60051
  displayName: "PaymentMethodModal__Header",
59766
60052
  componentId: "sc-1dxy6lr-3"
59767
60053
  })(["display:flex;align-items:center;justify-content:space-between;"]);
59768
- var Title$g = /*#__PURE__*/styled.h3.withConfig({
60054
+ var Title$h = /*#__PURE__*/styled.h3.withConfig({
59769
60055
  displayName: "PaymentMethodModal__Title",
59770
60056
  componentId: "sc-1dxy6lr-4"
59771
60057
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
59772
- var CloseButton$b = /*#__PURE__*/styled.button.withConfig({
60058
+ var CloseButton$c = /*#__PURE__*/styled.button.withConfig({
59773
60059
  displayName: "PaymentMethodModal__CloseButton",
59774
60060
  componentId: "sc-1dxy6lr-5"
59775
60061
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#ffffff;}"]);
59776
- var Options = /*#__PURE__*/styled.div.withConfig({
60062
+ var Options$1 = /*#__PURE__*/styled.div.withConfig({
59777
60063
  displayName: "PaymentMethodModal__Options",
59778
60064
  componentId: "sc-1dxy6lr-6"
59779
60065
  })(["display:flex;flex-direction:column;gap:8px;"]);
59780
- var RadioOption = /*#__PURE__*/styled.div.withConfig({
60066
+ var RadioOption$1 = /*#__PURE__*/styled.div.withConfig({
59781
60067
  displayName: "PaymentMethodModal__RadioOption",
59782
60068
  componentId: "sc-1dxy6lr-7"
59783
60069
  })(["display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid ", ";border-radius:6px;background:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s;&:hover{border-color:#f59e0b;}"], function (_ref2) {
@@ -59787,7 +60073,7 @@ var RadioOption = /*#__PURE__*/styled.div.withConfig({
59787
60073
  var $selected = _ref3.$selected;
59788
60074
  return $selected ? 'rgba(245,158,11,0.1)' : 'transparent';
59789
60075
  });
59790
- var RadioCircle = /*#__PURE__*/styled.div.withConfig({
60076
+ var RadioCircle$1 = /*#__PURE__*/styled.div.withConfig({
59791
60077
  displayName: "PaymentMethodModal__RadioCircle",
59792
60078
  componentId: "sc-1dxy6lr-8"
59793
60079
  })(["width:16px;height:16px;border-radius:50%;border:2px solid ", ";display:flex;align-items:center;justify-content:center;flex-shrink:0;&::after{content:'';width:8px;height:8px;border-radius:50%;background:#f59e0b;opacity:", ";transition:opacity 0.15s;}"], function (_ref4) {
@@ -59797,19 +60083,19 @@ var RadioCircle = /*#__PURE__*/styled.div.withConfig({
59797
60083
  var $selected = _ref5.$selected;
59798
60084
  return $selected ? 1 : 0;
59799
60085
  });
59800
- var OptionText = /*#__PURE__*/styled.div.withConfig({
60086
+ var OptionText$1 = /*#__PURE__*/styled.div.withConfig({
59801
60087
  displayName: "PaymentMethodModal__OptionText",
59802
60088
  componentId: "sc-1dxy6lr-9"
59803
60089
  })(["display:flex;flex-direction:column;gap:3px;"]);
59804
- var OptionLabel = /*#__PURE__*/styled.span.withConfig({
60090
+ var OptionLabel$1 = /*#__PURE__*/styled.span.withConfig({
59805
60091
  displayName: "PaymentMethodModal__OptionLabel",
59806
60092
  componentId: "sc-1dxy6lr-10"
59807
60093
  })(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:#ffffff;"]);
59808
- var OptionSub = /*#__PURE__*/styled.span.withConfig({
60094
+ var OptionSub$1 = /*#__PURE__*/styled.span.withConfig({
59809
60095
  displayName: "PaymentMethodModal__OptionSub",
59810
60096
  componentId: "sc-1dxy6lr-11"
59811
60097
  })(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.55);"]);
59812
- var ConfirmRow = /*#__PURE__*/styled.div.withConfig({
60098
+ var ConfirmRow$1 = /*#__PURE__*/styled.div.withConfig({
59813
60099
  displayName: "PaymentMethodModal__ConfirmRow",
59814
60100
  componentId: "sc-1dxy6lr-12"
59815
60101
  })(["display:flex;justify-content:center;margin-top:4px;"]);
@@ -59848,7 +60134,7 @@ var TimeWidget = function TimeWidget(_ref) {
59848
60134
  return React.createElement(Draggable, {
59849
60135
  scale: scale,
59850
60136
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
59851
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$c, {
60137
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$d, {
59852
60138
  onPointerDown: onClose,
59853
60139
  className: "time-widget-close"
59854
60140
  }, "X"), React.createElement(DayNightContainer, {
@@ -59865,7 +60151,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
59865
60151
  displayName: "TimeWidget__Time",
59866
60152
  componentId: "sc-1ja236h-1"
59867
60153
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
59868
- var CloseButton$c = /*#__PURE__*/styled.p.withConfig({
60154
+ var CloseButton$d = /*#__PURE__*/styled.p.withConfig({
59869
60155
  displayName: "TimeWidget__CloseButton",
59870
60156
  componentId: "sc-1ja236h-2"
59871
60157
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -60144,7 +60430,7 @@ var TradingMenu = function TradingMenu(_ref) {
60144
60430
  width: "500px",
60145
60431
  cancelDrag: "#TraderContainer",
60146
60432
  scale: scale
60147
- }, React.createElement(Container$O, null, React.createElement(Title$h, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
60433
+ }, React.createElement(Container$O, null, React.createElement(Title$i, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
60148
60434
  className: "golden"
60149
60435
  }), React.createElement(ScrollWrapper, {
60150
60436
  id: "TraderContainer"
@@ -60176,7 +60462,7 @@ var Container$O = /*#__PURE__*/styled.div.withConfig({
60176
60462
  displayName: "TradingMenu__Container",
60177
60463
  componentId: "sc-1wjsz1l-0"
60178
60464
  })(["width:100%;"]);
60179
- var Title$h = /*#__PURE__*/styled.h1.withConfig({
60465
+ var Title$i = /*#__PURE__*/styled.h1.withConfig({
60180
60466
  displayName: "TradingMenu__Title",
60181
60467
  componentId: "sc-1wjsz1l-1"
60182
60468
  })(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
@@ -60356,5 +60642,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
60356
60642
  componentId: "sc-7tgzv2-6"
60357
60643
  })(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
60358
60644
 
60359
- export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CTAButton, CartView, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, GemSelector, HistoryDialog, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceRows, MetadataCollector, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
60645
+ export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CTAButton, CartView, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, GemSelector, HistoryDialog, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceBuyModal, MarketplaceRows, MetadataCollector, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
60360
60646
  //# sourceMappingURL=long-bow.esm.js.map