diff --git a/src/components/MobileCalculator.tsx b/src/components/MobileCalculator.tsx index c80714d..812a57d 100644 --- a/src/components/MobileCalculator.tsx +++ b/src/components/MobileCalculator.tsx @@ -82,6 +82,19 @@ export function MobileCalculator({ vesselData, onOffsetClick, onBack }: Props) { const handleCalculate = useCallback((e: React.FormEvent) => { e.preventDefault(); + + // Save state before setting results + saveState({ + calculationType, + distance, + speed, + fuelRate, + fuelAmount, + fuelUnit, + customAmount, + offsetPercentage: 100, + }); + if (calculationType === 'distance') { const estimate = calculateTripCarbon( vesselData, @@ -99,7 +112,7 @@ export function MobileCalculator({ vesselData, onOffsetClick, onBack }: Props) { co2Emissions }); } - }, [calculationType, distance, speed, fuelRate, fuelAmount, fuelUnit, vesselData]); + }, [calculationType, distance, speed, fuelRate, fuelAmount, fuelUnit, customAmount, vesselData, saveState]); const handleCustomAmountChange = useCallback((e: React.ChangeEvent) => { diff --git a/src/components/TripCalculator.tsx b/src/components/TripCalculator.tsx index aae17c9..d922aa2 100644 --- a/src/components/TripCalculator.tsx +++ b/src/components/TripCalculator.tsx @@ -66,6 +66,19 @@ export function TripCalculator({ vesselData, onOffsetClick }: Props) { const handleCalculate = useCallback((e: React.FormEvent) => { e.preventDefault(); + + // Save state before navigating + saveState({ + calculationType, + distance, + speed, + fuelRate, + fuelAmount, + fuelUnit, + customAmount, + offsetPercentage: 100, + }); + if (calculationType === 'distance') { const estimate = calculateTripCarbon( vesselData, @@ -80,7 +93,7 @@ export function TripCalculator({ vesselData, onOffsetClick }: Props) { // Immediately navigate to projects page without showing results onOffsetClick?.(co2Emissions); } - }, [calculationType, distance, speed, fuelRate, fuelAmount, fuelUnit, vesselData, onOffsetClick]); + }, [calculationType, distance, speed, fuelRate, fuelAmount, fuelUnit, customAmount, vesselData, onOffsetClick, saveState]); const handleCustomAmountChange = useCallback((e: React.ChangeEvent) => {