Refactor: Implement cleanup plan

This commit is contained in:
gpt-engineer-app[bot]
2025-10-03 13:54:27 +00:00
parent c51c848da4
commit f061bb9d5f
9 changed files with 49 additions and 155 deletions

View File

@@ -1,9 +1,8 @@
import { useMemo } from 'react';
import { useUnitPreferences } from '@/hooks/useUnitPreferences';
import {
convertSpeed,
convertDistance,
convertHeight,
convertValueFromMetric,
getDisplayUnit,
getSpeedUnit,
getDistanceUnit,
getHeightUnit,
@@ -29,47 +28,36 @@ export function MeasurementDisplay({
const { displayValue, unit, alternateDisplay, tooltipText } = useMemo(() => {
const system = unitPreferences.measurement_system;
let displayValue: number;
let unit: string;
let alternateValue: number;
let alternateUnit: string;
let metricUnit: string;
let displayUnit: string;
let alternateSystem: MeasurementSystem;
switch (type) {
case 'speed':
displayValue = convertSpeed(value, system);
unit = getSpeedUnit(system);
alternateValue = convertSpeed(value, system === 'metric' ? 'imperial' : 'metric');
alternateUnit = getSpeedUnit(system === 'metric' ? 'imperial' : 'metric');
metricUnit = 'km/h';
break;
case 'distance':
displayValue = convertDistance(value, system);
unit = getDistanceUnit(system);
alternateValue = convertDistance(value, system === 'metric' ? 'imperial' : 'metric');
alternateUnit = getDistanceUnit(system === 'metric' ? 'imperial' : 'metric');
case 'short_distance':
metricUnit = 'm';
break;
case 'height':
displayValue = convertHeight(value, system);
unit = getHeightUnit(system);
alternateValue = convertHeight(value, system === 'metric' ? 'imperial' : 'metric');
alternateUnit = getHeightUnit(system === 'metric' ? 'imperial' : 'metric');
break;
case 'short_distance':
displayValue = convertDistance(value, system);
unit = getShortDistanceUnit(system);
alternateValue = convertDistance(value, system === 'metric' ? 'imperial' : 'metric');
alternateUnit = getShortDistanceUnit(system === 'metric' ? 'imperial' : 'metric');
metricUnit = 'cm';
break;
default:
displayValue = value;
unit = '';
alternateValue = value;
alternateUnit = '';
return { displayValue: value, unit: '', alternateDisplay: '', tooltipText: undefined };
}
alternateSystem = system === 'metric' ? 'imperial' : 'metric';
displayUnit = getDisplayUnit(metricUnit, system);
const alternateUnit = getDisplayUnit(metricUnit, alternateSystem);
const displayValue = convertValueFromMetric(value, displayUnit, metricUnit);
const alternateValue = convertValueFromMetric(value, alternateUnit, metricUnit);
const alternateDisplay = showBothUnits ? ` (${alternateValue} ${alternateUnit})` : '';
const tooltipText = showBothUnits ? undefined : `${alternateValue} ${alternateUnit}`;
return { displayValue, unit, alternateDisplay, tooltipText };
return { displayValue, unit: displayUnit, alternateDisplay, tooltipText };
}, [value, type, unitPreferences.measurement_system, showBothUnits]);
return (