@rpg-engine/long-bow 0.8.35 → 0.8.37
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/Item/Inventory/ItemSlotQuality.d.ts +2 -0
- package/dist/long-bow.cjs.development.js +376 -220
- 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 +377 -221
- package/dist/long-bow.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/components/InformationCenter/InformationCenter.tsx +20 -2
- package/src/components/InformationCenter/InformationCenterCell.tsx +109 -11
- package/src/components/InformationCenter/sections/bestiary/InformationCenterBestiarySection.tsx +1 -1
- package/src/components/InformationCenter/sections/items/InformationCenterItemsSection.tsx +1 -1
- package/src/components/InformationCenter/sections/tutorials/InformationCenterTutorialsSection.tsx +5 -3
- package/src/components/InternalTabs/InternalTabs.tsx +19 -3
- package/src/components/Item/Cards/ItemInfo.tsx +18 -1
- package/src/components/Item/Inventory/ItemSlot.tsx +15 -3
- package/src/components/Item/Inventory/ItemSlotQuality.ts +18 -0
- package/src/components/Item/Inventory/ItemSlotRenderer.tsx +6 -2
- package/src/components/shared/AdvancedFilters/AdvancedFilters.tsx +160 -33
- package/src/components/shared/PaginatedContent/PaginatedContent.tsx +67 -10
- package/src/hooks/useTooltipPosition.ts +24 -5
- package/src/mocks/itemContainer.mocks.ts +7 -0
package/dist/long-bow.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import React, { useState, useEffect, Component, useRef, useCallback, useContext,
|
|
|
2
2
|
import styled, { css, keyframes } from 'styled-components';
|
|
3
3
|
import { BeatLoader } from 'react-spinners';
|
|
4
4
|
import { v4 } from 'uuid';
|
|
5
|
-
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath,
|
|
5
|
+
import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, ItemSlotType, isMobileOrTablet, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } from '@rpg-engine/shared';
|
|
6
6
|
import dayjs from 'dayjs';
|
|
7
7
|
import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
|
|
8
8
|
import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaChevronUp, FaChevronDown, FaReddit } from 'react-icons/fa';
|
|
@@ -27518,175 +27518,6 @@ function useTouchTarget() {
|
|
|
27518
27518
|
return getTouchTarget;
|
|
27519
27519
|
}
|
|
27520
27520
|
|
|
27521
|
-
var rarityColor = function rarityColor(item) {
|
|
27522
|
-
switch (item == null ? void 0 : item.rarity) {
|
|
27523
|
-
case ItemRarities.Uncommon:
|
|
27524
|
-
return 'rgba(13, 193, 13, 0.6)';
|
|
27525
|
-
case ItemRarities.Rare:
|
|
27526
|
-
return 'rgba(8, 104, 187, 0.6)';
|
|
27527
|
-
case ItemRarities.Epic:
|
|
27528
|
-
return 'rgba(191, 0, 255, 0.6)';
|
|
27529
|
-
case ItemRarities.Legendary:
|
|
27530
|
-
return 'rgba(255, 191, 0,0.6)';
|
|
27531
|
-
default:
|
|
27532
|
-
return null;
|
|
27533
|
-
}
|
|
27534
|
-
};
|
|
27535
|
-
|
|
27536
|
-
var gemColors = {
|
|
27537
|
-
'emerald-gem': '#50C878',
|
|
27538
|
-
'topaz-radiance': '#FFC87C',
|
|
27539
|
-
'sapphire-gem': '#0F52BA',
|
|
27540
|
-
'ruby-gem': '#E0115F',
|
|
27541
|
-
'misty-quartz-gem': '#D9D9F3',
|
|
27542
|
-
'coral-reef-gem': '#FF7F50',
|
|
27543
|
-
'jasper-gem': '#D73B3E',
|
|
27544
|
-
'earthstone-gem': '#8B4513',
|
|
27545
|
-
'obsidian-gem': '#0B0C0E',
|
|
27546
|
-
'amethyst-gem': '#9966CC'
|
|
27547
|
-
};
|
|
27548
|
-
var defaultColor = '#FFFFFF'; // Default color (white)
|
|
27549
|
-
var onRenderGems = function onRenderGems(item) {
|
|
27550
|
-
var _item$attachedGems;
|
|
27551
|
-
var gemQty = ((_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.length) || 0;
|
|
27552
|
-
if (gemQty > 0) {
|
|
27553
|
-
return React.createElement(ItemSlotQty, {
|
|
27554
|
-
item: item
|
|
27555
|
-
});
|
|
27556
|
-
}
|
|
27557
|
-
return undefined;
|
|
27558
|
-
};
|
|
27559
|
-
var ItemSlotQty = function ItemSlotQty(_ref) {
|
|
27560
|
-
var _item$attachedGems2;
|
|
27561
|
-
var item = _ref.item;
|
|
27562
|
-
var itemId = item._id;
|
|
27563
|
-
return React.createElement(ItemQtyContainer, {
|
|
27564
|
-
key: "qty-" + itemId,
|
|
27565
|
-
className: "item-slot-qty"
|
|
27566
|
-
}, (_item$attachedGems2 = item.attachedGems) == null ? void 0 : _item$attachedGems2.map(function (gem, index) {
|
|
27567
|
-
return React.createElement(Gem, {
|
|
27568
|
-
key: itemId + "-gem-" + index,
|
|
27569
|
-
color: gemColors[gem.key] || defaultColor
|
|
27570
|
-
});
|
|
27571
|
-
}));
|
|
27572
|
-
};
|
|
27573
|
-
var ItemQtyContainer = /*#__PURE__*/styled.div.withConfig({
|
|
27574
|
-
displayName: "ItemGem__ItemQtyContainer",
|
|
27575
|
-
componentId: "sc-1ekseaq-0"
|
|
27576
|
-
})(["position:relative;width:85%;height:16px;top:28px;left:0px;pointer-events:none;transform:scale(0.8);display:flex;align-items:center;justify-content:flex-start;opacity:0.8;"]);
|
|
27577
|
-
var Gem = /*#__PURE__*/styled.div.withConfig({
|
|
27578
|
-
displayName: "ItemGem__Gem",
|
|
27579
|
-
componentId: "sc-1ekseaq-1"
|
|
27580
|
-
})(["width:8px;height:8px;background:", ";border:1px solid black;transform:rotate(45deg);margin:0 2px;box-shadow:0 0 5px ", ";transition:transform 0.2s,box-shadow 0.2s;&:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 0 10px ", ";}"], function (_ref2) {
|
|
27581
|
-
var color = _ref2.color;
|
|
27582
|
-
return "radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.8), transparent 30%), \n linear-gradient(45deg, " + color + ", " + color + " 50%, rgba(255, 255, 255, 0.2))";
|
|
27583
|
-
}, function (_ref3) {
|
|
27584
|
-
var color = _ref3.color;
|
|
27585
|
-
return color;
|
|
27586
|
-
}, function (_ref4) {
|
|
27587
|
-
var color = _ref4.color;
|
|
27588
|
-
return color;
|
|
27589
|
-
});
|
|
27590
|
-
|
|
27591
|
-
var onRenderStackInfo = function onRenderStackInfo(itemId, stackQty) {
|
|
27592
|
-
var isFractionalStackQty = stackQty % 1 !== 0;
|
|
27593
|
-
var isLargerThan999 = stackQty > 999;
|
|
27594
|
-
var qtyClassName = 'regular';
|
|
27595
|
-
if (isLargerThan999) qtyClassName = 'small';
|
|
27596
|
-
if (isFractionalStackQty) qtyClassName = 'xsmall';
|
|
27597
|
-
if (stackQty > 1) {
|
|
27598
|
-
return React.createElement(ItemSlotQty$1, {
|
|
27599
|
-
itemId: itemId,
|
|
27600
|
-
stackQty: stackQty,
|
|
27601
|
-
qtyClassName: qtyClassName
|
|
27602
|
-
});
|
|
27603
|
-
}
|
|
27604
|
-
return undefined;
|
|
27605
|
-
};
|
|
27606
|
-
var ItemSlotQty$1 = function ItemSlotQty(_ref) {
|
|
27607
|
-
var itemId = _ref.itemId,
|
|
27608
|
-
stackQty = _ref.stackQty,
|
|
27609
|
-
qtyClassName = _ref.qtyClassName;
|
|
27610
|
-
return React.createElement(ItemQtyContainer$1, {
|
|
27611
|
-
key: "qty-" + itemId,
|
|
27612
|
-
className: "item-slot-qty"
|
|
27613
|
-
}, React.createElement(Ellipsis, {
|
|
27614
|
-
maxLines: 1,
|
|
27615
|
-
maxWidth: "48px"
|
|
27616
|
-
}, React.createElement(ItemQty, {
|
|
27617
|
-
className: qtyClassName
|
|
27618
|
-
}, Math.round(stackQty * 100) / 100, ' ')));
|
|
27619
|
-
};
|
|
27620
|
-
var ItemQtyContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
27621
|
-
displayName: "ItemSlotQty__ItemQtyContainer",
|
|
27622
|
-
componentId: "sc-keb1s5-0"
|
|
27623
|
-
})(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
|
|
27624
|
-
var ItemQty = /*#__PURE__*/styled.span.withConfig({
|
|
27625
|
-
displayName: "ItemSlotQty__ItemQty",
|
|
27626
|
-
componentId: "sc-keb1s5-1"
|
|
27627
|
-
})(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
|
|
27628
|
-
|
|
27629
|
-
var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
|
|
27630
|
-
var containerType = _ref.containerType,
|
|
27631
|
-
atlasJSON = _ref.atlasJSON,
|
|
27632
|
-
atlasIMG = _ref.atlasIMG,
|
|
27633
|
-
slotSpriteMask = _ref.slotSpriteMask,
|
|
27634
|
-
item = _ref.item;
|
|
27635
|
-
var renderStackInfo = function renderStackInfo(item) {
|
|
27636
|
-
return item.stackQty && item.stackQty > 1 && onRenderStackInfo(item._id, item.stackQty);
|
|
27637
|
-
};
|
|
27638
|
-
var renderGems = function renderGems(item) {
|
|
27639
|
-
return item.attachedGems && onRenderGems(item);
|
|
27640
|
-
};
|
|
27641
|
-
var renderItem = function renderItem(item) {
|
|
27642
|
-
if (!(item != null && item.texturePath)) {
|
|
27643
|
-
return null;
|
|
27644
|
-
}
|
|
27645
|
-
return React.createElement(ErrorBoundary, {
|
|
27646
|
-
key: item._id
|
|
27647
|
-
}, React.createElement(SpriteFromAtlas, {
|
|
27648
|
-
atlasIMG: atlasIMG,
|
|
27649
|
-
atlasJSON: atlasJSON,
|
|
27650
|
-
spriteKey: getItemTextureKeyPath({
|
|
27651
|
-
key: item.texturePath,
|
|
27652
|
-
texturePath: item.texturePath,
|
|
27653
|
-
stackQty: item.stackQty || 1,
|
|
27654
|
-
isStackable: item.isStackable
|
|
27655
|
-
}, atlasJSON),
|
|
27656
|
-
imgScale: 3,
|
|
27657
|
-
imgClassname: "sprite-from-atlas-img--item",
|
|
27658
|
-
tintColor: item.tintColor
|
|
27659
|
-
}), renderStackInfo(item), renderGems(item));
|
|
27660
|
-
};
|
|
27661
|
-
var renderEquipment = function renderEquipment(itemToRender) {
|
|
27662
|
-
var _itemToRender$allowed;
|
|
27663
|
-
if (!(itemToRender != null && itemToRender.texturePath) || !((_itemToRender$allowed = itemToRender.allowedEquipSlotType) != null && _itemToRender$allowed.includes(slotSpriteMask))) {
|
|
27664
|
-
return React.createElement(ErrorBoundary, {
|
|
27665
|
-
key: v4()
|
|
27666
|
-
}, React.createElement(SpriteFromAtlas, {
|
|
27667
|
-
key: v4(),
|
|
27668
|
-
atlasIMG: atlasIMG,
|
|
27669
|
-
atlasJSON: atlasJSON,
|
|
27670
|
-
spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
|
|
27671
|
-
imgScale: 3,
|
|
27672
|
-
grayScale: true,
|
|
27673
|
-
opacity: 0.4,
|
|
27674
|
-
imgClassname: "sprite-from-atlas-img--item"
|
|
27675
|
-
}));
|
|
27676
|
-
}
|
|
27677
|
-
return renderItem(itemToRender);
|
|
27678
|
-
};
|
|
27679
|
-
var onRenderSlot = function onRenderSlot(itemToRender) {
|
|
27680
|
-
switch (containerType) {
|
|
27681
|
-
case ItemContainerType.Equipment:
|
|
27682
|
-
return renderEquipment(itemToRender);
|
|
27683
|
-
default:
|
|
27684
|
-
return renderItem(itemToRender);
|
|
27685
|
-
}
|
|
27686
|
-
};
|
|
27687
|
-
return React.createElement(React.Fragment, null, onRenderSlot(item));
|
|
27688
|
-
};
|
|
27689
|
-
|
|
27690
27521
|
var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
|
|
27691
27522
|
var contextMenu = actionsByTypeList.map(function (action) {
|
|
27692
27523
|
return {
|
|
@@ -27948,6 +27779,194 @@ var ItemSlotDraggingProvider = function ItemSlotDraggingProvider(_ref) {
|
|
|
27948
27779
|
}, children);
|
|
27949
27780
|
};
|
|
27950
27781
|
|
|
27782
|
+
var qualityColorHex = function qualityColorHex(item) {
|
|
27783
|
+
switch (item == null ? void 0 : item.quality) {
|
|
27784
|
+
case ItemQualityLevel.HighQuality:
|
|
27785
|
+
return '#00bfff';
|
|
27786
|
+
case ItemQualityLevel.Exceptional:
|
|
27787
|
+
return '#ff8c00';
|
|
27788
|
+
case ItemQualityLevel.Mastercrafted:
|
|
27789
|
+
return '#ff00ff';
|
|
27790
|
+
case ItemQualityLevel.Ancient:
|
|
27791
|
+
return '#ffd700';
|
|
27792
|
+
case ItemQualityLevel.Mythic:
|
|
27793
|
+
return '#ff0080';
|
|
27794
|
+
default:
|
|
27795
|
+
return 'transparent';
|
|
27796
|
+
}
|
|
27797
|
+
};
|
|
27798
|
+
|
|
27799
|
+
var rarityColor = function rarityColor(item) {
|
|
27800
|
+
switch (item == null ? void 0 : item.rarity) {
|
|
27801
|
+
case ItemRarities.Uncommon:
|
|
27802
|
+
return 'rgba(13, 193, 13, 0.6)';
|
|
27803
|
+
case ItemRarities.Rare:
|
|
27804
|
+
return 'rgba(8, 104, 187, 0.6)';
|
|
27805
|
+
case ItemRarities.Epic:
|
|
27806
|
+
return 'rgba(191, 0, 255, 0.6)';
|
|
27807
|
+
case ItemRarities.Legendary:
|
|
27808
|
+
return 'rgba(255, 191, 0,0.6)';
|
|
27809
|
+
default:
|
|
27810
|
+
return null;
|
|
27811
|
+
}
|
|
27812
|
+
};
|
|
27813
|
+
|
|
27814
|
+
var gemColors = {
|
|
27815
|
+
'emerald-gem': '#50C878',
|
|
27816
|
+
'topaz-radiance': '#FFC87C',
|
|
27817
|
+
'sapphire-gem': '#0F52BA',
|
|
27818
|
+
'ruby-gem': '#E0115F',
|
|
27819
|
+
'misty-quartz-gem': '#D9D9F3',
|
|
27820
|
+
'coral-reef-gem': '#FF7F50',
|
|
27821
|
+
'jasper-gem': '#D73B3E',
|
|
27822
|
+
'earthstone-gem': '#8B4513',
|
|
27823
|
+
'obsidian-gem': '#0B0C0E',
|
|
27824
|
+
'amethyst-gem': '#9966CC'
|
|
27825
|
+
};
|
|
27826
|
+
var defaultColor = '#FFFFFF'; // Default color (white)
|
|
27827
|
+
var onRenderGems = function onRenderGems(item) {
|
|
27828
|
+
var _item$attachedGems;
|
|
27829
|
+
var gemQty = ((_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.length) || 0;
|
|
27830
|
+
if (gemQty > 0) {
|
|
27831
|
+
return React.createElement(ItemSlotQty, {
|
|
27832
|
+
item: item
|
|
27833
|
+
});
|
|
27834
|
+
}
|
|
27835
|
+
return undefined;
|
|
27836
|
+
};
|
|
27837
|
+
var ItemSlotQty = function ItemSlotQty(_ref) {
|
|
27838
|
+
var _item$attachedGems2;
|
|
27839
|
+
var item = _ref.item;
|
|
27840
|
+
var itemId = item._id;
|
|
27841
|
+
return React.createElement(ItemQtyContainer, {
|
|
27842
|
+
key: "qty-" + itemId,
|
|
27843
|
+
className: "item-slot-qty"
|
|
27844
|
+
}, (_item$attachedGems2 = item.attachedGems) == null ? void 0 : _item$attachedGems2.map(function (gem, index) {
|
|
27845
|
+
return React.createElement(Gem, {
|
|
27846
|
+
key: itemId + "-gem-" + index,
|
|
27847
|
+
color: gemColors[gem.key] || defaultColor
|
|
27848
|
+
});
|
|
27849
|
+
}));
|
|
27850
|
+
};
|
|
27851
|
+
var ItemQtyContainer = /*#__PURE__*/styled.div.withConfig({
|
|
27852
|
+
displayName: "ItemGem__ItemQtyContainer",
|
|
27853
|
+
componentId: "sc-1ekseaq-0"
|
|
27854
|
+
})(["position:relative;width:85%;height:16px;top:28px;left:0px;pointer-events:none;transform:scale(0.8);display:flex;align-items:center;justify-content:flex-start;opacity:0.8;"]);
|
|
27855
|
+
var Gem = /*#__PURE__*/styled.div.withConfig({
|
|
27856
|
+
displayName: "ItemGem__Gem",
|
|
27857
|
+
componentId: "sc-1ekseaq-1"
|
|
27858
|
+
})(["width:8px;height:8px;background:", ";border:1px solid black;transform:rotate(45deg);margin:0 2px;box-shadow:0 0 5px ", ";transition:transform 0.2s,box-shadow 0.2s;&:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 0 10px ", ";}"], function (_ref2) {
|
|
27859
|
+
var color = _ref2.color;
|
|
27860
|
+
return "radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.8), transparent 30%), \n linear-gradient(45deg, " + color + ", " + color + " 50%, rgba(255, 255, 255, 0.2))";
|
|
27861
|
+
}, function (_ref3) {
|
|
27862
|
+
var color = _ref3.color;
|
|
27863
|
+
return color;
|
|
27864
|
+
}, function (_ref4) {
|
|
27865
|
+
var color = _ref4.color;
|
|
27866
|
+
return color;
|
|
27867
|
+
});
|
|
27868
|
+
|
|
27869
|
+
var onRenderStackInfo = function onRenderStackInfo(itemId, stackQty) {
|
|
27870
|
+
var isFractionalStackQty = stackQty % 1 !== 0;
|
|
27871
|
+
var isLargerThan999 = stackQty > 999;
|
|
27872
|
+
var qtyClassName = 'regular';
|
|
27873
|
+
if (isLargerThan999) qtyClassName = 'small';
|
|
27874
|
+
if (isFractionalStackQty) qtyClassName = 'xsmall';
|
|
27875
|
+
if (stackQty > 1) {
|
|
27876
|
+
return React.createElement(ItemSlotQty$1, {
|
|
27877
|
+
itemId: itemId,
|
|
27878
|
+
stackQty: stackQty,
|
|
27879
|
+
qtyClassName: qtyClassName
|
|
27880
|
+
});
|
|
27881
|
+
}
|
|
27882
|
+
return undefined;
|
|
27883
|
+
};
|
|
27884
|
+
var ItemSlotQty$1 = function ItemSlotQty(_ref) {
|
|
27885
|
+
var itemId = _ref.itemId,
|
|
27886
|
+
stackQty = _ref.stackQty,
|
|
27887
|
+
qtyClassName = _ref.qtyClassName;
|
|
27888
|
+
return React.createElement(ItemQtyContainer$1, {
|
|
27889
|
+
key: "qty-" + itemId,
|
|
27890
|
+
className: "item-slot-qty"
|
|
27891
|
+
}, React.createElement(Ellipsis, {
|
|
27892
|
+
maxLines: 1,
|
|
27893
|
+
maxWidth: "48px"
|
|
27894
|
+
}, React.createElement(ItemQty, {
|
|
27895
|
+
className: qtyClassName
|
|
27896
|
+
}, Math.round(stackQty * 100) / 100, ' ')));
|
|
27897
|
+
};
|
|
27898
|
+
var ItemQtyContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
27899
|
+
displayName: "ItemSlotQty__ItemQtyContainer",
|
|
27900
|
+
componentId: "sc-keb1s5-0"
|
|
27901
|
+
})(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
|
|
27902
|
+
var ItemQty = /*#__PURE__*/styled.span.withConfig({
|
|
27903
|
+
displayName: "ItemSlotQty__ItemQty",
|
|
27904
|
+
componentId: "sc-keb1s5-1"
|
|
27905
|
+
})(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
|
|
27906
|
+
|
|
27907
|
+
var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
|
|
27908
|
+
var containerType = _ref.containerType,
|
|
27909
|
+
atlasJSON = _ref.atlasJSON,
|
|
27910
|
+
atlasIMG = _ref.atlasIMG,
|
|
27911
|
+
slotSpriteMask = _ref.slotSpriteMask,
|
|
27912
|
+
item = _ref.item;
|
|
27913
|
+
var renderStackInfo = function renderStackInfo(item) {
|
|
27914
|
+
return item.stackQty && item.stackQty > 1 && onRenderStackInfo(item._id, item.stackQty);
|
|
27915
|
+
};
|
|
27916
|
+
var renderGems = function renderGems(item) {
|
|
27917
|
+
return item.attachedGems && onRenderGems(item);
|
|
27918
|
+
};
|
|
27919
|
+
var renderItem = function renderItem(item) {
|
|
27920
|
+
if (!(item != null && item.texturePath)) {
|
|
27921
|
+
return null;
|
|
27922
|
+
}
|
|
27923
|
+
return React.createElement(ErrorBoundary, {
|
|
27924
|
+
key: item._id
|
|
27925
|
+
}, item.quality && item.quality !== ItemQualityLevel.Normal && React.createElement("div", {
|
|
27926
|
+
className: "quality-star"
|
|
27927
|
+
}, "\u2605"), React.createElement(SpriteFromAtlas, {
|
|
27928
|
+
atlasIMG: atlasIMG,
|
|
27929
|
+
atlasJSON: atlasJSON,
|
|
27930
|
+
spriteKey: getItemTextureKeyPath({
|
|
27931
|
+
key: item.texturePath,
|
|
27932
|
+
texturePath: item.texturePath,
|
|
27933
|
+
stackQty: item.stackQty || 1,
|
|
27934
|
+
isStackable: item.isStackable
|
|
27935
|
+
}, atlasJSON),
|
|
27936
|
+
imgScale: 3,
|
|
27937
|
+
imgClassname: "sprite-from-atlas-img--item",
|
|
27938
|
+
tintColor: item.tintColor
|
|
27939
|
+
}), renderStackInfo(item), renderGems(item));
|
|
27940
|
+
};
|
|
27941
|
+
var renderEquipment = function renderEquipment(itemToRender) {
|
|
27942
|
+
var _itemToRender$allowed;
|
|
27943
|
+
if (!(itemToRender != null && itemToRender.texturePath) || !((_itemToRender$allowed = itemToRender.allowedEquipSlotType) != null && _itemToRender$allowed.includes(slotSpriteMask))) {
|
|
27944
|
+
return React.createElement(ErrorBoundary, {
|
|
27945
|
+
key: v4()
|
|
27946
|
+
}, React.createElement(SpriteFromAtlas, {
|
|
27947
|
+
key: v4(),
|
|
27948
|
+
atlasIMG: atlasIMG,
|
|
27949
|
+
atlasJSON: atlasJSON,
|
|
27950
|
+
spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
|
|
27951
|
+
imgScale: 3,
|
|
27952
|
+
grayScale: true,
|
|
27953
|
+
opacity: 0.4,
|
|
27954
|
+
imgClassname: "sprite-from-atlas-img--item"
|
|
27955
|
+
}));
|
|
27956
|
+
}
|
|
27957
|
+
return renderItem(itemToRender);
|
|
27958
|
+
};
|
|
27959
|
+
var onRenderSlot = function onRenderSlot(itemToRender) {
|
|
27960
|
+
switch (containerType) {
|
|
27961
|
+
case ItemContainerType.Equipment:
|
|
27962
|
+
return renderEquipment(itemToRender);
|
|
27963
|
+
default:
|
|
27964
|
+
return renderItem(itemToRender);
|
|
27965
|
+
}
|
|
27966
|
+
};
|
|
27967
|
+
return onRenderSlot(item);
|
|
27968
|
+
};
|
|
27969
|
+
|
|
27951
27970
|
var EquipmentSlotSpriteByType = {
|
|
27952
27971
|
Neck: 'accessories/corruption-necklace.png',
|
|
27953
27972
|
LeftHand: 'swords/broad-sword.png',
|
|
@@ -28264,7 +28283,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
|
|
|
28264
28283
|
var Container$a = /*#__PURE__*/styled.div.withConfig({
|
|
28265
28284
|
displayName: "ItemSlot__Container",
|
|
28266
28285
|
componentId: "sc-l2j5ef-0"
|
|
28267
|
-
})(["margin:0.1rem;.react-draggable-dragging{opacity:", ";}position:relative;.sprite-from-atlas-img--item{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
|
|
28286
|
+
})(["margin:0.1rem;.react-draggable-dragging{opacity:", ";}position:relative;.sprite-from-atlas-img--item{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}.quality-star{position:absolute;top:0.5rem;left:0.5rem;font-size:1.2rem;z-index:2;text-shadow:0 0 3px black;pointer-events:none;color:", ";}&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
|
|
28268
28287
|
var isDraggingItem = _ref2.isDraggingItem;
|
|
28269
28288
|
return isDraggingItem ? 0 : 1;
|
|
28270
28289
|
}, function (_ref3) {
|
|
@@ -28277,7 +28296,10 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
|
|
|
28277
28296
|
var item = _ref5.item;
|
|
28278
28297
|
return "0 0 4px 3px " + rarityColor(item);
|
|
28279
28298
|
}, function (_ref6) {
|
|
28280
|
-
var
|
|
28299
|
+
var item = _ref6.item;
|
|
28300
|
+
return qualityColorHex(item);
|
|
28301
|
+
}, function (_ref7) {
|
|
28302
|
+
var isSelectingShortcut = _ref7.isSelectingShortcut;
|
|
28281
28303
|
return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
|
|
28282
28304
|
});
|
|
28283
28305
|
var ItemContainer = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -28394,10 +28416,16 @@ var ItemInfo = function ItemInfo(_ref) {
|
|
|
28394
28416
|
var Container$b = /*#__PURE__*/styled.div.withConfig({
|
|
28395
28417
|
displayName: "ItemInfo__Container",
|
|
28396
28418
|
componentId: "sc-1xm4q8k-0"
|
|
28397
|
-
})(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:18rem
|
|
28419
|
+
})(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";box-shadow:", ";height:max-content;width:18rem;position:relative;", " @media (max-width:640px){width:80vw;}"], uiFonts.size.small, function (_ref2) {
|
|
28398
28420
|
var _rarityColor;
|
|
28399
28421
|
var item = _ref2.item;
|
|
28400
28422
|
return (_rarityColor = rarityColor(item)) != null ? _rarityColor : uiColors.lightGray;
|
|
28423
|
+
}, function (_ref3) {
|
|
28424
|
+
var item = _ref3.item;
|
|
28425
|
+
return "0 0 5px 2px " + rarityColor(item);
|
|
28426
|
+
}, function (_ref4) {
|
|
28427
|
+
var item = _ref4.item;
|
|
28428
|
+
return (item == null ? void 0 : item.quality) && item.quality !== ItemQualityLevel.Normal && "\n &::before {\n content: '\u2605';\n position: absolute;\n top: 0.2rem;\n left: 0.5rem;\n font-size: 1.2rem;\n color: " + qualityColorHex(item) + ";\n text-shadow: 0 0 3px black;\n }\n ";
|
|
28401
28429
|
});
|
|
28402
28430
|
var Title$1 = /*#__PURE__*/styled.div.withConfig({
|
|
28403
28431
|
displayName: "ItemInfo__Title",
|
|
@@ -28406,8 +28434,8 @@ var Title$1 = /*#__PURE__*/styled.div.withConfig({
|
|
|
28406
28434
|
var Rarity = /*#__PURE__*/styled.div.withConfig({
|
|
28407
28435
|
displayName: "ItemInfo__Rarity",
|
|
28408
28436
|
componentId: "sc-1xm4q8k-2"
|
|
28409
|
-
})(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (
|
|
28410
|
-
var item =
|
|
28437
|
+
})(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref5) {
|
|
28438
|
+
var item = _ref5.item;
|
|
28411
28439
|
return rarityColor(item);
|
|
28412
28440
|
});
|
|
28413
28441
|
var Type = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -28421,8 +28449,8 @@ var LevelRequirement = /*#__PURE__*/styled.div.withConfig({
|
|
|
28421
28449
|
var Statistic = /*#__PURE__*/styled.div.withConfig({
|
|
28422
28450
|
displayName: "ItemInfo__Statistic",
|
|
28423
28451
|
componentId: "sc-1xm4q8k-5"
|
|
28424
|
-
})(["margin-bottom:0.4rem;width:100%;color:", ";.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], function (
|
|
28425
|
-
var $isSpecial =
|
|
28452
|
+
})(["margin-bottom:0.4rem;width:100%;color:", ";.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], function (_ref6) {
|
|
28453
|
+
var $isSpecial = _ref6.$isSpecial;
|
|
28426
28454
|
return $isSpecial ? uiColors.darkYellow : 'inherit';
|
|
28427
28455
|
}, uiColors.lightGreen, uiColors.cardinal);
|
|
28428
28456
|
var Description = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -30765,6 +30793,9 @@ var FadeInCarouselImg = /*#__PURE__*/styled(CarouselImg).withConfig({
|
|
|
30765
30793
|
componentId: "sc-gdvbly-5"
|
|
30766
30794
|
})(["animation:", " 0.5s;"], fadeIn);
|
|
30767
30795
|
|
|
30796
|
+
var UI_BREAKPOINT_MOBILE = '950px';
|
|
30797
|
+
var UI_BREAKPOINT_SMALL_LAPTOP = '1400px';
|
|
30798
|
+
|
|
30768
30799
|
var InternalTabs = function InternalTabs(_ref) {
|
|
30769
30800
|
var _tabs$find;
|
|
30770
30801
|
var tabs = _ref.tabs,
|
|
@@ -30813,39 +30844,56 @@ var TabHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
30813
30844
|
var TabButton = /*#__PURE__*/styled.button.withConfig({
|
|
30814
30845
|
displayName: "InternalTabs__TabButton",
|
|
30815
30846
|
componentId: "sc-ldufv0-2"
|
|
30816
|
-
})(["flex:1;padding:0.5rem
|
|
30847
|
+
})(["flex:1;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;border-right:1px solid ", ";background-color:", ";color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:480px){padding:0.375rem 0.75rem;font-size:0.8125rem;}@media (min-width:", "){padding:0.5rem 1rem;font-size:0.875rem;}&:last-child{border-right:none;}&:hover{background-color:", ";}"], function (props) {
|
|
30817
30848
|
return props.borderColor;
|
|
30818
30849
|
}, function (props) {
|
|
30819
30850
|
return props.active ? props.activeColor : 'transparent';
|
|
30820
30851
|
}, function (props) {
|
|
30821
30852
|
return props.active ? props.activeTextColor : props.inactiveColor;
|
|
30822
|
-
}, function (props) {
|
|
30853
|
+
}, UI_BREAKPOINT_MOBILE, function (props) {
|
|
30823
30854
|
return props.active ? props.activeColor : props.hoverColor;
|
|
30824
30855
|
});
|
|
30825
30856
|
var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
30826
30857
|
displayName: "InternalTabs__ContentWrapper",
|
|
30827
30858
|
componentId: "sc-ldufv0-3"
|
|
30828
|
-
})([""]);
|
|
30859
|
+
})(["width:100%;"]);
|
|
30829
30860
|
|
|
30830
|
-
var TOOLTIP_WIDTH = 300;
|
|
30831
30861
|
var TOOLTIP_OFFSET = 10;
|
|
30832
30862
|
var MIN_VISIBLE_HEIGHT = 100;
|
|
30833
30863
|
var useTooltipPosition = function useTooltipPosition() {
|
|
30864
|
+
// Dynamically calculate tooltip width based on screen size
|
|
30865
|
+
var getTooltipWidth = function getTooltipWidth() {
|
|
30866
|
+
var viewportWidth = window.innerWidth;
|
|
30867
|
+
if (viewportWidth < 360) {
|
|
30868
|
+
return Math.min(280, viewportWidth - 20);
|
|
30869
|
+
}
|
|
30870
|
+
if (viewportWidth < 480) {
|
|
30871
|
+
return 300;
|
|
30872
|
+
}
|
|
30873
|
+
return 320;
|
|
30874
|
+
};
|
|
30875
|
+
var TOOLTIP_WIDTH = getTooltipWidth();
|
|
30834
30876
|
var _useState = useState(null),
|
|
30835
30877
|
tooltipState = _useState[0],
|
|
30836
30878
|
setTooltipState = _useState[1];
|
|
30837
30879
|
var calculateTooltipPosition = function calculateTooltipPosition(rect) {
|
|
30838
30880
|
var viewportWidth = window.innerWidth;
|
|
30839
30881
|
var viewportHeight = window.innerHeight;
|
|
30882
|
+
var tooltipWidth = getTooltipWidth();
|
|
30840
30883
|
// Try to position to the right first
|
|
30841
30884
|
var x = rect.right + TOOLTIP_OFFSET;
|
|
30842
30885
|
// If it would overflow right, try positioning to the left
|
|
30843
|
-
if (x +
|
|
30844
|
-
x = rect.left -
|
|
30886
|
+
if (x + tooltipWidth > viewportWidth - TOOLTIP_OFFSET) {
|
|
30887
|
+
x = rect.left - tooltipWidth - TOOLTIP_OFFSET;
|
|
30845
30888
|
}
|
|
30846
|
-
// If left positioning would go off screen, position relative to viewport
|
|
30889
|
+
// If left positioning would go off screen, center it or position relative to viewport
|
|
30847
30890
|
if (x < TOOLTIP_OFFSET) {
|
|
30848
|
-
|
|
30891
|
+
if (viewportWidth < 400) {
|
|
30892
|
+
// For very small screens, center the tooltip
|
|
30893
|
+
x = Math.max(TOOLTIP_OFFSET, (viewportWidth - tooltipWidth) / 2);
|
|
30894
|
+
} else {
|
|
30895
|
+
x = TOOLTIP_OFFSET;
|
|
30896
|
+
}
|
|
30849
30897
|
}
|
|
30850
30898
|
// Position vertically aligned with the top of the element
|
|
30851
30899
|
var y = rect.top;
|
|
@@ -31078,15 +31126,13 @@ var PaginatedContent = function PaginatedContent(_ref) {
|
|
|
31078
31126
|
var Container$n = /*#__PURE__*/styled.div.withConfig({
|
|
31079
31127
|
displayName: "PaginatedContent__Container",
|
|
31080
31128
|
componentId: "sc-lzp9hn-0"
|
|
31081
|
-
})(["display:flex;flex-direction:column;gap:
|
|
31129
|
+
})(["display:flex;flex-direction:column;gap:0.5rem;min-height:400px;width:100%;"]);
|
|
31082
31130
|
var Content = /*#__PURE__*/styled.div.withConfig({
|
|
31083
31131
|
displayName: "PaginatedContent__Content",
|
|
31084
31132
|
componentId: "sc-lzp9hn-1"
|
|
31085
|
-
})(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:
|
|
31086
|
-
return props.$
|
|
31087
|
-
}, function (props) {
|
|
31088
|
-
return props.$maxHeight ? 'auto' : 'visible';
|
|
31089
|
-
}, function (props) {
|
|
31133
|
+
})(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:0.25rem;min-height:200px;max-height:60vh;height:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.3) rgba(0,0,0,0.2);@media (min-width:360px){padding:0.5rem;}@media (min-width:480px){padding:1rem;}&.grid{display:grid;grid-template-columns:1fr;gap:0.5rem;align-items:start;justify-content:center;width:100%;@media (min-width:320px){grid-template-columns:repeat(2,minmax(100px,1fr));}@media (min-width:400px){grid-template-columns:repeat(2,minmax(120px,1fr));gap:0.75rem;}@media (min-width:480px){grid-template-columns:repeat(3,minmax(120px,1fr));gap:1rem;}@media (min-width:768px){grid-template-columns:repeat(4,minmax(120px,1fr));}@media (min-width:", "){grid-template-columns:repeat( ", ",minmax(120px,1fr) );}@media (min-width:", "){grid-template-columns:repeat( ", ",minmax(120px,1fr) );}.PaginatedContent-item{display:flex;align-items:flex-start;justify-content:center;height:", ";width:100%;box-sizing:border-box;min-height:120px;}}&.list{display:flex;flex-direction:column;gap:0.5rem;}"], UI_BREAKPOINT_MOBILE, function (props) {
|
|
31134
|
+
return Math.min(props.$gridColumns, 4);
|
|
31135
|
+
}, UI_BREAKPOINT_SMALL_LAPTOP, function (props) {
|
|
31090
31136
|
return props.$gridColumns;
|
|
31091
31137
|
}, function (props) {
|
|
31092
31138
|
var _props$$itemHeight;
|
|
@@ -31095,7 +31141,7 @@ var Content = /*#__PURE__*/styled.div.withConfig({
|
|
|
31095
31141
|
var PaginationContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
31096
31142
|
displayName: "PaginatedContent__PaginationContainer",
|
|
31097
31143
|
componentId: "sc-lzp9hn-2"
|
|
31098
|
-
})(["display:flex;justify-content:center;padding:1rem;"]);
|
|
31144
|
+
})(["display:flex;justify-content:center;padding:0.5rem;@media (min-width:480px){padding:1rem;}"]);
|
|
31099
31145
|
var EmptyMessage = /*#__PURE__*/styled.div.withConfig({
|
|
31100
31146
|
displayName: "PaginatedContent__EmptyMessage",
|
|
31101
31147
|
componentId: "sc-lzp9hn-3"
|
|
@@ -31126,12 +31172,46 @@ var InformationCenterCell = function InformationCenterCell(_ref) {
|
|
|
31126
31172
|
onMouseLeave = _ref.onMouseLeave,
|
|
31127
31173
|
onMouseMove = _ref.onMouseMove,
|
|
31128
31174
|
onTouchStart = _ref.onTouchStart;
|
|
31175
|
+
var _useState = useState(null),
|
|
31176
|
+
touchStartY = _useState[0],
|
|
31177
|
+
setTouchStartY = _useState[1];
|
|
31178
|
+
var _useState2 = useState(null),
|
|
31179
|
+
touchStartX = _useState2[0],
|
|
31180
|
+
setTouchStartX = _useState2[1];
|
|
31181
|
+
var _useState3 = useState(false),
|
|
31182
|
+
isTouchScrolling = _useState3[0],
|
|
31183
|
+
setIsTouchScrolling = _useState3[1];
|
|
31184
|
+
var handleTouchStart = function handleTouchStart(e) {
|
|
31185
|
+
setTouchStartY(e.touches[0].clientY);
|
|
31186
|
+
setTouchStartX(e.touches[0].clientX);
|
|
31187
|
+
setIsTouchScrolling(false);
|
|
31188
|
+
};
|
|
31189
|
+
var handleTouchMove = function handleTouchMove(e) {
|
|
31190
|
+
if (touchStartY !== null && touchStartX !== null) {
|
|
31191
|
+
var touchDiffY = Math.abs(e.touches[0].clientY - touchStartY);
|
|
31192
|
+
var touchDiffX = Math.abs(e.touches[0].clientX - touchStartX);
|
|
31193
|
+
// If user moved finger more than 15px in any direction, consider it scrolling
|
|
31194
|
+
if (touchDiffY > 15 || touchDiffX > 15) {
|
|
31195
|
+
setIsTouchScrolling(true);
|
|
31196
|
+
e.stopPropagation(); // Prevent parent elements from handling this touch
|
|
31197
|
+
}
|
|
31198
|
+
}
|
|
31199
|
+
};
|
|
31200
|
+
var handleTouchEnd = function handleTouchEnd(e) {
|
|
31201
|
+
if (!isTouchScrolling && onTouchStart) {
|
|
31202
|
+
onTouchStart(e);
|
|
31203
|
+
}
|
|
31204
|
+
setTouchStartY(null);
|
|
31205
|
+
setTouchStartX(null);
|
|
31206
|
+
};
|
|
31129
31207
|
return React.createElement(CellContainer, {
|
|
31130
31208
|
onClick: onClick,
|
|
31131
31209
|
onMouseEnter: onMouseEnter,
|
|
31132
31210
|
onMouseLeave: onMouseLeave,
|
|
31133
31211
|
onMouseMove: onMouseMove,
|
|
31134
|
-
onTouchStart:
|
|
31212
|
+
onTouchStart: handleTouchStart,
|
|
31213
|
+
onTouchMove: handleTouchMove,
|
|
31214
|
+
onTouchEnd: handleTouchEnd
|
|
31135
31215
|
}, React.createElement(SpriteContainer$1, null, React.createElement(SpriteFromAtlas, {
|
|
31136
31216
|
atlasJSON: atlasJSON,
|
|
31137
31217
|
atlasIMG: atlasIMG,
|
|
@@ -31139,20 +31219,24 @@ var InformationCenterCell = function InformationCenterCell(_ref) {
|
|
|
31139
31219
|
width: 32,
|
|
31140
31220
|
height: 32,
|
|
31141
31221
|
imgScale: 1
|
|
31142
|
-
})), React.createElement(CellName, null, name));
|
|
31222
|
+
})), React.createElement(CellNameContainer, null, React.createElement(CellName, null, name)));
|
|
31143
31223
|
};
|
|
31144
31224
|
var CellContainer = /*#__PURE__*/styled.div.withConfig({
|
|
31145
31225
|
displayName: "InformationCenterCell__CellContainer",
|
|
31146
31226
|
componentId: "sc-w48fdf-0"
|
|
31147
|
-
})(["position:relative;background:rgba(0,0,0,0.2);padding:0.
|
|
31227
|
+
})(["position:relative;background:rgba(0,0,0,0.2);padding:0.2rem;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;width:100%;height:100%;min-height:90px;box-sizing:border-box;gap:0.2rem;margin:0;@media (min-width:360px){padding:0.3rem;gap:0.3rem;margin:1px;width:calc(100% - 2px);min-height:100px;}@media (min-width:", "){min-height:110px;}&:hover{background:rgba(0,0,0,0.3);}"], UI_BREAKPOINT_MOBILE);
|
|
31148
31228
|
var SpriteContainer$1 = /*#__PURE__*/styled.div.withConfig({
|
|
31149
31229
|
displayName: "InformationCenterCell__SpriteContainer",
|
|
31150
31230
|
componentId: "sc-w48fdf-1"
|
|
31151
|
-
})(["
|
|
31231
|
+
})(["display:flex;justify-content:center;align-items:center;width:32px;height:32px;position:relative;background:rgba(0,0,0,0.3);border-radius:4px;flex-shrink:0;overflow:hidden;padding:1rem;margin-top:1rem;@media (min-width:360px){width:36px;height:36px;}@media (min-width:480px){width:42px;height:42px;}@media (min-width:", "){width:48px;height:48px;}.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);image-rendering:pixelated;}"], UI_BREAKPOINT_MOBILE);
|
|
31232
|
+
var CellNameContainer = /*#__PURE__*/styled.div.withConfig({
|
|
31233
|
+
displayName: "InformationCenterCell__CellNameContainer",
|
|
31234
|
+
componentId: "sc-w48fdf-2"
|
|
31235
|
+
})(["display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;padding-top:0.1rem;"]);
|
|
31152
31236
|
var CellName = /*#__PURE__*/styled.h3.withConfig({
|
|
31153
31237
|
displayName: "InformationCenterCell__CellName",
|
|
31154
|
-
componentId: "sc-w48fdf-
|
|
31155
|
-
})(["font-size:0.
|
|
31238
|
+
componentId: "sc-w48fdf-3"
|
|
31239
|
+
})(["font-size:0.5rem;color:#fef08a;margin:0;text-align:center;font-family:'Press Start 2P',cursive;line-height:1.1;word-break:break-word;max-width:100%;overflow-wrap:break-word;hyphens:auto;width:100%;padding:0 0.125rem;box-sizing:border-box;@media (min-width:320px){padding:0 0.25rem;}@media (min-width:360px){font-size:0.55rem;}@media (min-width:480px){font-size:0.6rem;}@media (min-width:", "){font-size:0.65rem;}"], UI_BREAKPOINT_MOBILE);
|
|
31156
31240
|
|
|
31157
31241
|
var BaseInformationDetails = function BaseInformationDetails(_ref) {
|
|
31158
31242
|
var name = _ref.name,
|
|
@@ -31493,18 +31577,64 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
|
|
|
31493
31577
|
case 'dropdown':
|
|
31494
31578
|
return React.createElement(FilterSection, {
|
|
31495
31579
|
key: section.key
|
|
31496
|
-
}, React.createElement(Label$1, null, section.label), React.createElement(Dropdown, {
|
|
31580
|
+
}, React.createElement(Label$1, null, section.label), React.createElement(StyledDropdownWrapper, null, React.createElement(Dropdown, {
|
|
31497
31581
|
options: section.options || [],
|
|
31498
31582
|
onChange: section.onChange,
|
|
31499
31583
|
width: "100%"
|
|
31500
|
-
}));
|
|
31584
|
+
})));
|
|
31501
31585
|
default:
|
|
31502
31586
|
return null;
|
|
31503
31587
|
}
|
|
31504
31588
|
};
|
|
31589
|
+
// Calculate button position for the portal
|
|
31590
|
+
var _React$useState = React.useState({
|
|
31591
|
+
top: 0,
|
|
31592
|
+
left: 0,
|
|
31593
|
+
isMobile: false
|
|
31594
|
+
}),
|
|
31595
|
+
buttonPosition = _React$useState[0],
|
|
31596
|
+
setButtonPosition = _React$useState[1];
|
|
31597
|
+
var buttonRef = useRef(null);
|
|
31598
|
+
var panelRef = useRef(null);
|
|
31599
|
+
useEffect(function () {
|
|
31600
|
+
if (isOpen && buttonRef.current) {
|
|
31601
|
+
var rect = buttonRef.current.getBoundingClientRect();
|
|
31602
|
+
var isMobileView = window.innerWidth < 480;
|
|
31603
|
+
if (isMobileView) {
|
|
31604
|
+
// For mobile, position in center of screen
|
|
31605
|
+
setButtonPosition({
|
|
31606
|
+
top: window.innerHeight / 2,
|
|
31607
|
+
left: window.innerWidth / 2,
|
|
31608
|
+
isMobile: true
|
|
31609
|
+
});
|
|
31610
|
+
} else {
|
|
31611
|
+
// Position below the button for larger screens
|
|
31612
|
+
setButtonPosition({
|
|
31613
|
+
top: rect.bottom + window.scrollY,
|
|
31614
|
+
left: rect.left + rect.width / 2 + window.scrollX,
|
|
31615
|
+
isMobile: false
|
|
31616
|
+
});
|
|
31617
|
+
}
|
|
31618
|
+
}
|
|
31619
|
+
}, [isOpen]);
|
|
31620
|
+
// Handle click outside to close the panel
|
|
31621
|
+
useEffect(function () {
|
|
31622
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
31623
|
+
if (isOpen && panelRef.current && !panelRef.current.contains(event.target) && buttonRef.current && !buttonRef.current.contains(event.target)) {
|
|
31624
|
+
onToggle();
|
|
31625
|
+
}
|
|
31626
|
+
};
|
|
31627
|
+
if (isOpen) {
|
|
31628
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
31629
|
+
}
|
|
31630
|
+
return function () {
|
|
31631
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
31632
|
+
};
|
|
31633
|
+
}, [isOpen, onToggle]);
|
|
31505
31634
|
return React.createElement(Container$q, null, React.createElement(FilterButton, {
|
|
31506
31635
|
onClick: onToggle,
|
|
31507
|
-
"$hasActiveFilters": hasActiveFilters
|
|
31636
|
+
"$hasActiveFilters": hasActiveFilters,
|
|
31637
|
+
ref: buttonRef
|
|
31508
31638
|
}, hasActiveFilters ? React.createElement(AiFillFilter, {
|
|
31509
31639
|
size: 20
|
|
31510
31640
|
}) : React.createElement(AiOutlineFilter, {
|
|
@@ -31517,9 +31647,21 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
|
|
|
31517
31647
|
return rangeValue[0] !== undefined || rangeValue[1] !== undefined;
|
|
31518
31648
|
}
|
|
31519
31649
|
return section.value !== 'all';
|
|
31520
|
-
}).length)), isOpen && React.createElement(
|
|
31650
|
+
}).length)), isOpen && React.createElement(Portal, null, React.createElement(FiltersPanel, {
|
|
31651
|
+
ref: panelRef,
|
|
31652
|
+
style: {
|
|
31653
|
+
position: 'fixed',
|
|
31654
|
+
top: buttonPosition.isMobile ? '50vh' : buttonPosition.top + "px",
|
|
31655
|
+
left: buttonPosition.isMobile ? '50vw' : buttonPosition.left + "px",
|
|
31656
|
+
transform: buttonPosition.isMobile ? 'translate(-50%, -50%)' : 'translateX(-50%)',
|
|
31657
|
+
zIndex: 9999
|
|
31658
|
+
},
|
|
31659
|
+
"$isMobile": buttonPosition.isMobile
|
|
31660
|
+
}, React.createElement(FilterHeader, null, React.createElement(FilterTitle, null, "Advanced Filters"), React.createElement(CloseButton$6, {
|
|
31661
|
+
onClick: onToggle
|
|
31662
|
+
}, "\xD7")), sections.map(renderFilterSection), hasActiveFilters && React.createElement(ClearFiltersButton, {
|
|
31521
31663
|
onClick: onClearAll
|
|
31522
|
-
}, "Clear All Filters")));
|
|
31664
|
+
}, "Clear All Filters"))));
|
|
31523
31665
|
};
|
|
31524
31666
|
var Container$q = /*#__PURE__*/styled.div.withConfig({
|
|
31525
31667
|
displayName: "AdvancedFilters__Container",
|
|
@@ -31548,7 +31690,9 @@ var FilterCount = /*#__PURE__*/styled.div.withConfig({
|
|
|
31548
31690
|
var FiltersPanel = /*#__PURE__*/styled.div.withConfig({
|
|
31549
31691
|
displayName: "AdvancedFilters__FiltersPanel",
|
|
31550
31692
|
componentId: "sc-1xj6ldr-3"
|
|
31551
|
-
})(["
|
|
31693
|
+
})(["background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:1rem;width:280px;max-width:calc(100vw - 20px);display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px rgba(0,0,0,0.3);font-family:'Press Start 2P',cursive;@media (max-width:320px){width:250px;padding:0.75rem;gap:0.75rem;}&:before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#1a1a1a;border-left:1px solid #333;border-top:1px solid #333;display:", ";}"], function (props) {
|
|
31694
|
+
return props.$isMobile ? 'none' : 'block';
|
|
31695
|
+
});
|
|
31552
31696
|
var FilterHeader = /*#__PURE__*/styled.div.withConfig({
|
|
31553
31697
|
displayName: "AdvancedFilters__FilterHeader",
|
|
31554
31698
|
componentId: "sc-1xj6ldr-4"
|
|
@@ -31556,7 +31700,7 @@ var FilterHeader = /*#__PURE__*/styled.div.withConfig({
|
|
|
31556
31700
|
var FilterTitle = /*#__PURE__*/styled.div.withConfig({
|
|
31557
31701
|
displayName: "AdvancedFilters__FilterTitle",
|
|
31558
31702
|
componentId: "sc-1xj6ldr-5"
|
|
31559
|
-
})(["font-weight:600;color:#ffd700;font-size:0.
|
|
31703
|
+
})(["font-weight:600;color:#ffd700;font-size:0.75rem;"]);
|
|
31560
31704
|
var FilterSection = /*#__PURE__*/styled.div.withConfig({
|
|
31561
31705
|
displayName: "AdvancedFilters__FilterSection",
|
|
31562
31706
|
componentId: "sc-1xj6ldr-6"
|
|
@@ -31564,15 +31708,23 @@ var FilterSection = /*#__PURE__*/styled.div.withConfig({
|
|
|
31564
31708
|
var Label$1 = /*#__PURE__*/styled.div.withConfig({
|
|
31565
31709
|
displayName: "AdvancedFilters__Label",
|
|
31566
31710
|
componentId: "sc-1xj6ldr-7"
|
|
31567
|
-
})(["color:#999;font-size:0.
|
|
31711
|
+
})(["color:#999;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;"]);
|
|
31568
31712
|
var RangeInputs = /*#__PURE__*/styled.div.withConfig({
|
|
31569
31713
|
displayName: "AdvancedFilters__RangeInputs",
|
|
31570
31714
|
componentId: "sc-1xj6ldr-8"
|
|
31571
|
-
})(["display:flex;align-items:center;gap:0.5rem;input{width:80px;background:#262626 !important;border:1px solid #
|
|
31715
|
+
})(["display:flex;align-items:center;gap:0.5rem;input{width:80px;background:#262626 !important;border:1px solid #444 !important;border-radius:4px !important;color:#ddd !important;font-size:0.65rem !important;padding:0.5rem !important;height:auto !important;box-shadow:inset 0 1px 3px rgba(0,0,0,0.2) !important;&::placeholder{color:#666 !important;}&:focus{border-color:#f59e0b !important;outline:none !important;}}svg{color:#666;font-size:0.875rem;}"]);
|
|
31572
31716
|
var ClearFiltersButton = /*#__PURE__*/styled.button.withConfig({
|
|
31573
31717
|
displayName: "AdvancedFilters__ClearFiltersButton",
|
|
31574
31718
|
componentId: "sc-1xj6ldr-9"
|
|
31575
|
-
})(["width:100%;background:transparent;color:#666;border:none;padding:0.75rem 0;margin-top:0.5rem;cursor:pointer;font-size:0.
|
|
31719
|
+
})(["width:100%;background:transparent;color:#666;border:none;padding:0.75rem 0;margin-top:0.5rem;cursor:pointer;font-size:0.65rem;transition:all 0.2s;border-top:1px solid #333;text-transform:uppercase;letter-spacing:0.05em;font-family:'Press Start 2P',cursive;&:hover{color:#ffd700;}"]);
|
|
31720
|
+
var CloseButton$6 = /*#__PURE__*/styled.button.withConfig({
|
|
31721
|
+
displayName: "AdvancedFilters__CloseButton",
|
|
31722
|
+
componentId: "sc-1xj6ldr-10"
|
|
31723
|
+
})(["background:transparent;border:none;color:#999;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;&:hover{color:#ffd700;}"]);
|
|
31724
|
+
var StyledDropdownWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
31725
|
+
displayName: "AdvancedFilters__StyledDropdownWrapper",
|
|
31726
|
+
componentId: "sc-1xj6ldr-11"
|
|
31727
|
+
})([".rpgui-dropdown-imp{font-size:0.8rem;min-height:unset;padding-top:0.3rem;}"]);
|
|
31576
31728
|
|
|
31577
31729
|
var ItemsAdvancedFilters = function ItemsAdvancedFilters(_ref) {
|
|
31578
31730
|
var isOpen = _ref.isOpen,
|
|
@@ -31746,7 +31898,7 @@ var InformationCenterItemsSection = function InformationCenterItemsSection(_ref)
|
|
|
31746
31898
|
dependencies: [selectedItemCategory, selectedTier],
|
|
31747
31899
|
tabId: tabId,
|
|
31748
31900
|
layout: "grid",
|
|
31749
|
-
itemHeight:
|
|
31901
|
+
itemHeight: isMobile ? '150px' : '180px'
|
|
31750
31902
|
}), !isMobile && tooltipState && tooltipState.item && React.createElement(Portal, null, React.createElement(TooltipWrapper, {
|
|
31751
31903
|
width: TOOLTIP_WIDTH,
|
|
31752
31904
|
style: {
|
|
@@ -32346,7 +32498,7 @@ var InformationCenterBestiarySection = function InformationCenterBestiarySection
|
|
|
32346
32498
|
rightElement: SearchBarRightElement
|
|
32347
32499
|
},
|
|
32348
32500
|
dependencies: [selectedBestiaryCategory, levelRange, selectedSubtype, selectedAttackType],
|
|
32349
|
-
itemHeight:
|
|
32501
|
+
itemHeight: isMobile ? '150px' : '180px'
|
|
32350
32502
|
}), !isMobile && tooltipState && tooltipState.item && React.createElement(Portal, null, React.createElement(TooltipWrapper$1, {
|
|
32351
32503
|
width: TOOLTIP_WIDTH,
|
|
32352
32504
|
style: {
|
|
@@ -32396,6 +32548,7 @@ var InformationCenterTutorialsSection = function InformationCenterTutorialsSecti
|
|
|
32396
32548
|
var videoGuides = _ref.videoGuides,
|
|
32397
32549
|
initialSearchQuery = _ref.initialSearchQuery,
|
|
32398
32550
|
tabId = _ref.tabId;
|
|
32551
|
+
var isMobile = isMobileOrTablet();
|
|
32399
32552
|
var _useState = useState(initialSearchQuery),
|
|
32400
32553
|
searchQuery = _useState[0],
|
|
32401
32554
|
setSearchQuery = _useState[1];
|
|
@@ -32446,7 +32599,7 @@ var InformationCenterTutorialsSection = function InformationCenterTutorialsSecti
|
|
|
32446
32599
|
maxLines: 2
|
|
32447
32600
|
}, guide.title)), React.createElement(GuideDescription, null, React.createElement(Ellipsis, {
|
|
32448
32601
|
maxWidth: "100%",
|
|
32449
|
-
maxLines: 5
|
|
32602
|
+
maxLines: isMobile ? 3 : 5
|
|
32450
32603
|
}, guide.description)), React.createElement(GuideLabelsContainer, null, React.createElement(GuideCategory, null, guide.category), React.createElement(GuideLanguage, null, guide.language))));
|
|
32451
32604
|
};
|
|
32452
32605
|
var filteredGuides = useMemo(function () {
|
|
@@ -32484,9 +32637,9 @@ var InformationCenterTutorialsSection = function InformationCenterTutorialsSecti
|
|
|
32484
32637
|
dependencies: [selectedCategory],
|
|
32485
32638
|
tabId: tabId,
|
|
32486
32639
|
layout: "grid",
|
|
32487
|
-
gridColumns: GRID_COLUMNS,
|
|
32640
|
+
gridColumns: isMobile ? 1 : GRID_COLUMNS,
|
|
32488
32641
|
itemsPerPage: ITEMS_PER_PAGE$2,
|
|
32489
|
-
itemHeight:
|
|
32642
|
+
itemHeight: isMobile ? '280px' : '320px'
|
|
32490
32643
|
});
|
|
32491
32644
|
};
|
|
32492
32645
|
var GuideItem = /*#__PURE__*/styled.div.withConfig({
|
|
@@ -32543,6 +32696,7 @@ var InformationCenter = function InformationCenter(_ref) {
|
|
|
32543
32696
|
var _useState = useState('bestiary'),
|
|
32544
32697
|
activeTab = _useState[0],
|
|
32545
32698
|
setActiveTab = _useState[1];
|
|
32699
|
+
var isMobile = isMobileOrTablet();
|
|
32546
32700
|
if (loading) {
|
|
32547
32701
|
return React.createElement(LoadingMessage, null, "Loading...");
|
|
32548
32702
|
}
|
|
@@ -32585,7 +32739,9 @@ var InformationCenter = function InformationCenter(_ref) {
|
|
|
32585
32739
|
}];
|
|
32586
32740
|
return React.createElement(DraggableContainer, {
|
|
32587
32741
|
title: "Information Center",
|
|
32588
|
-
type: RPGUIContainerTypes.Framed
|
|
32742
|
+
type: RPGUIContainerTypes.Framed,
|
|
32743
|
+
width: isMobile ? '95%' : '80%',
|
|
32744
|
+
minWidth: "300px"
|
|
32589
32745
|
}, React.createElement(Container$r, null, React.createElement(InternalTabs, {
|
|
32590
32746
|
tabs: tabs,
|
|
32591
32747
|
activeTextColor: "#000000",
|
|
@@ -32600,7 +32756,7 @@ var InformationCenter = function InformationCenter(_ref) {
|
|
|
32600
32756
|
var Container$r = /*#__PURE__*/styled.div.withConfig({
|
|
32601
32757
|
displayName: "InformationCenter__Container",
|
|
32602
32758
|
componentId: "sc-1ttl62e-0"
|
|
32603
|
-
})(["width:100%;max-width:
|
|
32759
|
+
})(["width:100%;max-width:100%;margin:0 auto;padding:0.125rem;overflow:hidden;box-sizing:border-box;@media (min-width:320px){padding:0.25rem;}@media (min-width:360px){padding:0.5rem;}@media (min-width:480px){padding:0.75rem;}"]);
|
|
32604
32760
|
var LoadingMessage = /*#__PURE__*/styled.div.withConfig({
|
|
32605
32761
|
displayName: "InformationCenter__LoadingMessage",
|
|
32606
32762
|
componentId: "sc-1ttl62e-1"
|
|
@@ -32900,7 +33056,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
|
|
|
32900
33056
|
return React.createElement(StyledContainer, {
|
|
32901
33057
|
type: RPGUIContainerTypes.Framed,
|
|
32902
33058
|
width: "25rem"
|
|
32903
|
-
}, React.createElement(CloseButton$
|
|
33059
|
+
}, React.createElement(CloseButton$7, {
|
|
32904
33060
|
className: "container-close",
|
|
32905
33061
|
onPointerDown: onClose
|
|
32906
33062
|
}, "X"), React.createElement("h2", null, title), React.createElement(StyledForm, {
|
|
@@ -32945,7 +33101,7 @@ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
|
|
|
32945
33101
|
displayName: "QuantitySelector__StyledContainer",
|
|
32946
33102
|
componentId: "sc-z4ut57-0"
|
|
32947
33103
|
})(["position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem;h2{margin:0;margin-bottom:1rem;font-size:1rem;}"]);
|
|
32948
|
-
var CloseButton$
|
|
33104
|
+
var CloseButton$7 = /*#__PURE__*/styled.div.withConfig({
|
|
32949
33105
|
displayName: "QuantitySelector__CloseButton",
|
|
32950
33106
|
componentId: "sc-z4ut57-1"
|
|
32951
33107
|
})(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;cursor:pointer;"]);
|
|
@@ -35575,7 +35731,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
|
|
|
35575
35731
|
cancelDrag: "#skillsDiv",
|
|
35576
35732
|
scale: scale,
|
|
35577
35733
|
width: "100%"
|
|
35578
|
-
}, onCloseButton && React.createElement(CloseButton$
|
|
35734
|
+
}, onCloseButton && React.createElement(CloseButton$8, {
|
|
35579
35735
|
onPointerDown: onCloseButton
|
|
35580
35736
|
}, "X"), React.createElement(SkillsContainerDiv, {
|
|
35581
35737
|
id: "skillsDiv"
|
|
@@ -35610,7 +35766,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
|
|
|
35610
35766
|
displayName: "SkillsContainer__SkillSplitDiv",
|
|
35611
35767
|
componentId: "sc-1g0c67q-2"
|
|
35612
35768
|
})(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
|
|
35613
|
-
var CloseButton$
|
|
35769
|
+
var CloseButton$8 = /*#__PURE__*/styled.div.withConfig({
|
|
35614
35770
|
displayName: "SkillsContainer__CloseButton",
|
|
35615
35771
|
componentId: "sc-1g0c67q-3"
|
|
35616
35772
|
})(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
|
|
@@ -36291,7 +36447,7 @@ var TimeWidget = function TimeWidget(_ref) {
|
|
|
36291
36447
|
return React.createElement(Draggable, {
|
|
36292
36448
|
scale: scale,
|
|
36293
36449
|
cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
|
|
36294
|
-
}, React.createElement(WidgetContainer, null, React.createElement(CloseButton$
|
|
36450
|
+
}, React.createElement(WidgetContainer, null, React.createElement(CloseButton$9, {
|
|
36295
36451
|
onPointerDown: onClose,
|
|
36296
36452
|
className: "time-widget-close"
|
|
36297
36453
|
}, "X"), React.createElement(DayNightContainer, {
|
|
@@ -36308,7 +36464,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
|
|
|
36308
36464
|
displayName: "TimeWidget__Time",
|
|
36309
36465
|
componentId: "sc-1ja236h-1"
|
|
36310
36466
|
})(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
|
|
36311
|
-
var CloseButton$
|
|
36467
|
+
var CloseButton$9 = /*#__PURE__*/styled.p.withConfig({
|
|
36312
36468
|
displayName: "TimeWidget__CloseButton",
|
|
36313
36469
|
componentId: "sc-1ja236h-2"
|
|
36314
36470
|
})(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
|