diff --git a/src/app/components/PlanetaryInteraction/PlanetTableRow.tsx b/src/app/components/PlanetaryInteraction/PlanetTableRow.tsx index 572934d..4f66507 100644 --- a/src/app/components/PlanetaryInteraction/PlanetTableRow.tsx +++ b/src/app/components/PlanetaryInteraction/PlanetTableRow.tsx @@ -418,50 +418,55 @@ export const PlanetTableRow = ({ - {planetDetails.storageInfo.map((storage: StorageInfo, idx: number) => { - const isLaunchpad = LAUNCHPAD_IDS.includes(storage.type_id); - const fillRate = storage.fillRate; - const color = fillRate > 90 ? '#ff0000' : fillRate > 80 ? '#ffa500' : fillRate > 60 ? '#ffd700' : 'inherit'; - const contents = planet.info.pins.find(p => p.type_id === storage.type_id)?.contents || []; - - return ( - - - {isLaunchpad ? 'Launchpad' : 'Storage'} - {storage.capacity.toFixed(1)} m³ - {storage.used.toFixed(1)} m³ - {fillRate.toFixed(1)}% - - {storage.value > 0 ? ( - storage.value >= 1000000000 - ? `${(storage.value / 1000000000).toFixed(2)} B` - : `${(storage.value / 1000000).toFixed(0)} M` - ) : '-'} ISK - - - {contents.length > 0 && ( + {planetDetails.storageInfo + .map(storage => ({ + ...storage, + isLaunchpad: LAUNCHPAD_IDS.includes(storage.type_id) + })) + .sort((a, b) => (b.isLaunchpad ? 1 : 0) - (a.isLaunchpad ? 1 : 0)) + .map((storage, idx) => { + const fillRate = storage.fillRate; + const color = fillRate > 90 ? '#ff0000' : fillRate > 80 ? '#ffa500' : fillRate > 60 ? '#ffd700' : 'inherit'; + const contents = planet.info.pins.find(p => p.type_id === storage.type_id)?.contents || []; + + return ( + - - - - {contents.map((content, idy) => ( - - - {PI_TYPES_MAP[content.type_id]?.name} - - - {content.amount.toFixed(1)} units - - - ))} - -
+ {storage.isLaunchpad ? 'Launchpad' : 'Storage'} + {storage.capacity.toFixed(1)} m³ + {storage.used.toFixed(1)} m³ + {fillRate.toFixed(1)}% + + {storage.value > 0 ? ( + storage.value >= 1000000000 + ? `${(storage.value / 1000000000).toFixed(2)} B` + : `${(storage.value / 1000000).toFixed(0)} M` + ) : '-'} ISK
- )} -
- ); - })} + {contents.length > 0 && ( + + + + + {contents.map((content, idy) => ( + + + {PI_TYPES_MAP[content.type_id]?.name} + + + {content.amount.toFixed(1)} units + + + ))} + +
+
+
+ )} +
+ ); + })}
@@ -481,27 +486,32 @@ export const PlanetTableRow = ({ >
{planetDetails.storageInfo.length === 0 &&No storage} - {planetDetails.storageInfo.map((storage: StorageInfo, idx: number) => { - const isLaunchpad = LAUNCHPAD_IDS.includes(storage.type_id); - const fillRate = storage.fillRate; - const color = fillRate > 90 ? '#ff0000' : fillRate > 80 ? '#ffa500' : fillRate > 60 ? '#ffd700' : 'inherit'; - - return ( -
- - {isLaunchpad ? 'L' : 'S'} - - - {fillRate.toFixed(1)}% - - {storage.value > 0 && ( - - ({Math.round(storage.value / 1000000)}M) + {planetDetails.storageInfo + .map(storage => ({ + ...storage, + isLaunchpad: LAUNCHPAD_IDS.includes(storage.type_id) + })) + .sort((a, b) => (b.isLaunchpad ? 1 : 0) - (a.isLaunchpad ? 1 : 0)) + .map((storage, idx) => { + const fillRate = storage.fillRate; + const color = fillRate > 90 ? '#ff0000' : fillRate > 80 ? '#ffa500' : fillRate > 60 ? '#ffd700' : 'inherit'; + + return ( +
+ + {storage.isLaunchpad ? 'L' : 'S'} - )} -
- ); - })} + + {fillRate.toFixed(1)}% + + {storage.value > 0 && ( + + ({Math.round(storage.value / 1000000)}M) + + )} +
+ ); + })}