diff --git a/packages/website-ue/src/components/Price/index.module.css b/packages/website-ue/src/components/Price/index.module.css
index 74404e1c7..3bfc7cd39 100644
--- a/packages/website-ue/src/components/Price/index.module.css
+++ b/packages/website-ue/src/components/Price/index.module.css
@@ -1,11 +1,11 @@
.price {
display: flex;
- align-items: center;
gap: var(--space-3);
.entry {
display: block;
+ line-height: 1;
.wrapper {
display: flex;
diff --git a/packages/website-ue/src/components/TankopediaLoadout/index.module.css b/packages/website-ue/src/components/TankopediaLoadout/index.module.css
index dedf03720..74e4b61a8 100644
--- a/packages/website-ue/src/components/TankopediaLoadout/index.module.css
+++ b/packages/website-ue/src/components/TankopediaLoadout/index.module.css
@@ -20,25 +20,32 @@
.slots {
display: flex;
+ flex-direction: column;
+ gap: var(--space-2);
+ align-items: center;
- .slot {
- aspect-ratio: 1 / 1;
- padding: var(--space-3);
+ .options {
+ display: flex;
- font-size: var(--space-5);
+ .slot {
+ aspect-ratio: 1 / 1;
+ padding: var(--space-3);
- &:first-child {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
+ font-size: var(--space-5);
- &:last-child {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
+ &:first-child {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
- &[data-selected="true"] {
- z-index: 1;
+ &:last-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+
+ &[data-selected="true"] {
+ z-index: 1;
+ }
}
}
}
@@ -53,37 +60,41 @@
.line {
display: flex;
- align-items: center;
gap: var(--space-3);
- .stage {
- position: relative;
+ .wrapper {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: var(--space-2);
- padding: var(--space-3);
+ .stage {
+ position: relative;
- font-size: 2em;
+ padding: var(--space-3);
- .icon {
- width: 1em;
- height: 1em;
+ font-size: 2em;
- padding: var(--space-3) 0;
+ .icon {
+ width: 1em;
+ height: 1em;
- transform: translate(var(--space-1), calc(-1 * var(--space-1)));
- }
+ transform: translate(var(--space-1), var(--space-1));
+ }
- .tier {
- position: absolute;
- left: var(--space-2);
- top: var(--space-2);
- }
+ .tier {
+ position: absolute;
+ left: var(--space-2);
+ top: var(--space-2);
+ }
- .price {
- position: absolute;
- left: 50%;
- bottom: var(--space-2);
- transform: translateX(-50%);
+ .price {
+ position: absolute;
+ left: 50%;
+ bottom: var(--space-2);
+ transform: translateX(-50%);
+ }
}
}
}
diff --git a/packages/website-ue/src/components/TankopediaLoadout/index.tsx b/packages/website-ue/src/components/TankopediaLoadout/index.tsx
index 6f80e4ffc..1b1f49283 100644
--- a/packages/website-ue/src/components/TankopediaLoadout/index.tsx
+++ b/packages/website-ue/src/components/TankopediaLoadout/index.tsx
@@ -39,10 +39,7 @@ export function TankopediaLoadout() {
function Equipment() {
const strings = useStrings();
const tank = useProtagonist();
- const equipment = useEquipment(
- tank.tank!.equipment_preset_catalog_id,
- tank.tank!.equipment_price_preset_catalog_id,
- );
+ const equipment = useEquipment(tank.tank!);
return (
@@ -86,16 +83,25 @@ interface EquipmentSlotProps {
}
function EquipmentSlot({ slot, rowIndex, columnIndex }: EquipmentSlotProps) {
+ const equipmentIndex = rowIndex * equipmentColumns + columnIndex;
+ const tank = useProtagonist();
+ const equipment = useEquipment(tank.tank!);
+ const { price } = equipment.price.unlock_slot_prices[equipmentIndex];
+
return (
- {slot.options_catalog_i_ds.map((id, index) => (
-
- ))}
+
+ {slot.options_catalog_i_ds.map((id, index) => (
+
+ ))}
+
+
+
);
}
@@ -112,11 +118,17 @@ function EquipmentOption({
columnIndex,
}: EquipmentOptionProps) {
const equipmentIndex = rowIndex * equipmentColumns + columnIndex;
+
+ const tank = useProtagonist();
+ const equipment = useEquipment(tank.tank!);
const isSelected = Tankopedia.use(
(state) =>
equipmentIndex in state.protagonist.equipment &&
state.protagonist.equipment[equipmentIndex] === optionIndex,
);
+ const name =
+ equipment.preset.slots[equipmentIndex].options_catalog_i_ds[optionIndex];
+ const equipmentData = equipment.equipments[name];
return (