5 Commits

Author SHA1 Message Date
calli
b185e5d044 hide extraction simulation for planets without extractors 2025-04-23 15:23:57 +03:00
calli
f0d4708b43 show extraction tooltip only if we have extractors 2025-04-23 15:23:32 +03:00
calli
0f33a7ff0c Move activity level local storage read to useState 2025-04-23 15:18:32 +03:00
calli
bbdcece163 Show imports per planet 2025-04-23 15:15:26 +03:00
calli
2a1e74ca79 Remove sentry tunnel routing 2025-04-23 15:14:59 +03:00
6 changed files with 37 additions and 31 deletions

View File

@@ -43,11 +43,6 @@ module.exports = withSentryConfig(
// Transpiles SDK to be compatible with IE11 (increases bundle size)
transpileClientSDK: true,
// Route browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers.
// This can increase your server load as well as your hosting bill.
// Note: Check that the configured route will not match with your Next.js middleware, otherwise reporting of client-
// side errors will fail.
tunnelRoute: "/monitoring",
// Hides source maps from generated client bundles
hideSourceMaps: true,

View File

@@ -170,7 +170,7 @@ export const ExtractionSimulationDisplay: React.FC<ExtractionSimulationDisplayPr
return (
<Box>
<Paper sx={{ p: 2 }}>
{extractors.length > 0 ? <Paper sx={{ p: 2 }}>
<Typography variant="h6" gutterBottom>
Extraction Simulation
</Typography>
@@ -210,7 +210,7 @@ export const ExtractionSimulationDisplay: React.FC<ExtractionSimulationDisplayPr
<div style={{ height: '300px' }}>
<Line data={chartData} options={chartOptions} />
</div>
</Paper>
</Paper> : null}
<ProductionChainVisualization
extractedTypeIds={extractedTypeIds}

View File

@@ -102,9 +102,11 @@ export const PlanetCard = ({
return (
<Tooltip
title={
<ExtractionSimulationTooltip
extractors={extractors}
/>
extractors.length > 0 ? (
<ExtractionSimulationTooltip
extractors={extractors}
/>
) : null
}
componentsProps={{
tooltip: {

View File

@@ -165,11 +165,8 @@ export const PlanetTableRow = ({
}
}}
onClick={(e) => {
// Only trigger if clicking a cell with the clickable-cell class
if (!(e.target as HTMLElement).closest('.clickable-cell')) return;
if (extractors.length > 0) {
setSimulationOpen(!simulationOpen);
}
setSimulationOpen(!simulationOpen);
}}
>
<TableCell component="th" scope="row" className="clickable-cell">
@@ -190,17 +187,19 @@ export const PlanetTableRow = ({
<Tooltip
placement="right"
title={
<ExtractionSimulationTooltip
extractors={extractors
.filter(e => e.extractor_details?.product_type_id && e.extractor_details?.qty_per_cycle)
.map(e => ({
typeId: e.extractor_details!.product_type_id!,
baseValue: e.extractor_details!.qty_per_cycle!,
cycleTime: e.extractor_details!.cycle_time || 3600,
installTime: e.install_time ?? "",
expiryTime: e.expiry_time ?? ""
}))}
/>
extractors.length > 0 ? (
<ExtractionSimulationTooltip
extractors={extractors
.filter(e => e.extractor_details?.product_type_id && e.extractor_details?.qty_per_cycle)
.map(e => ({
typeId: e.extractor_details!.product_type_id!,
baseValue: e.extractor_details!.qty_per_cycle!,
cycleTime: e.extractor_details!.cycle_time || 3600,
installTime: e.install_time ?? "",
expiryTime: e.expiry_time ?? ""
}))}
/>
) : null
}
componentsProps={{
tooltip: {
@@ -291,7 +290,7 @@ export const PlanetTableRow = ({
key={`import-${character.character.characterId}-${planet.planet_id}-${i.type_id}`}
fontSize={theme.custom.smallText}
>
{PI_TYPES_MAP[i.type_id].name} ({i.quantity}/h)
{PI_TYPES_MAP[i.type_id].name} ({i.quantity * i.factoryCount}/h)
</Typography>
))}
</div>

View File

@@ -51,18 +51,22 @@ export const Summary = ({ characters }: { characters: AccessToken[] }) => {
const [sortDirection, setSortDirection] = useState<SortDirection>("asc");
const [sortBy, setSortBy] = useState<SortBy>("name");
const [startDate, setStartDate] = useState<string>(DateTime.now().startOf('day').toISO());
const [activityPercentage, setActivityPercentage] = useState<number>(() => {
const saved = localStorage.getItem('activityPercentage');
return saved ? parseFloat(saved) : 100;
});
const [activityPercentage, setActivityPercentage] = useState<number>(100);
// Load saved values from localStorage on mount
useEffect(() => {
const savedDate = localStorage.getItem('productionStartDate');
if (savedDate) {
setStartDate(savedDate);
}
const savedActivity = localStorage.getItem('activityPercentage');
if (savedActivity) {
setActivityPercentage(parseFloat(savedActivity));
}
}, []);
// Save values to localStorage when they change
useEffect(() => {
localStorage.setItem('productionStartDate', startDate);
}, [startDate]);

View File

@@ -94,7 +94,13 @@ export const planetCalculations = (planet: PlanetWithInfo) => {
![...locallyProduced, ...locallyExcavated].some(
(lp) => lp === p.type_id,
),
);
).map((p) => ({
...p,
factoryCount: planetInfo.pins
.filter((f) => f.schematic_id === p.schematic_id)
.length,
}));
const localExports = locallyProduced
.filter((p) => !locallyConsumed.some((lp) => lp === p))