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)
+
+ )}
+
+ );
+ })}