-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ setTransferAmount(clampAmount(e.target.value, getTransferMax()))
+ }
+ />
+ {getTransferMax() !== undefined && (
+
+ Max: {getTransferMax()!.toLocaleString()} stored
+
+ )}
+ {transferToId &&
+ transferResourceId &&
+ (() => {
+ const dest = allStructures.find((s) => s.id === Number(transferToId));
+ const destType = dest?.type;
+ if (!dest || !destType) return null;
+ const stored = findStoredResource(transferResourceId);
+ if (!stored) return null;
+ const resId = stored.resource.id;
+ if (isResourceProhibited(destType, resId)) {
+ return (
+
+ Destination prohibits this resource.
+
+ );
+ }
+ if (!isResourceWhitelisted(destType, resId)) {
+ return (
+
+ Destination only accepts items on its allowed storage list. This
+ resource is not permitted.
+
+ );
+ }
+ const cap = getResourceStorageCap(destType, resId);
+ const destStored = getStoredAmountOf(dest, resId);
return (
-
- {resource.name} ({entry.amount.toLocaleString()}{" "}
- {pluralize(entry.amount, resource.unitOfMeasure)})
-
- );
- })}
-
-
-
-
-
-
- setTransferAmount(clampAmount(e.target.value, getTransferMax()))
- }
- />
- {getTransferMax() !== undefined && (
-
- Max: {getTransferMax()!.toLocaleString()} stored
-
- )}
- {transferToId &&
- transferResourceId &&
- (() => {
- const dest = allStructures.find((s) => s.id === Number(transferToId));
- const destType = dest?.type;
- if (!dest || !destType) return null;
- const stored = findStoredResource(transferResourceId);
- if (!stored) return null;
- const resId = stored.resource.id;
- if (isResourceProhibited(destType, resId)) {
- return (
-
- Destination prohibits this resource.
+
+ {cap != null
+ ? `Destination allowance: ${Math.max(0, cap - destStored).toLocaleString()} / ${cap.toLocaleString()}`
+ : "Destination has no per-item storage limit"}
);
- }
- if (!isResourceWhitelisted(destType, resId)) {
- return (
-
- Destination only accepts items on its allowed storage list. This
- resource is not permitted.
-
- );
- }
- const cap = getResourceStorageCap(destType, resId);
- const destStored = getStoredAmountOf(dest, resId);
- return (
-
- {cap != null
- ? `Destination allowance: ${Math.max(0, cap - destStored).toLocaleString()} / ${cap.toLocaleString()}`
- : "Destination has no per-item storage limit"}
-
- );
- })()}
-
- {renderCapacityPreview("transfer")}
-
-
+ })()}
+