diff --git a/components/converter/MainConverter.tsx b/components/converter/MainConverter.tsx index 76fd56b..1193114 100644 --- a/components/converter/MainConverter.tsx +++ b/components/converter/MainConverter.tsx @@ -128,11 +128,14 @@ export default function MainConverter() { // Handle value change from draggable bars const handleValueChange = useCallback((value: number, unit: string, dragging: boolean) => { - // When dragging a bar, switch to that unit as the source setIsDragging(dragging); - setInputValue(value.toString()); - setSelectedUnit(unit); - }, []); + + // Convert the dragged unit's value back to the currently selected unit + // This keeps the source unit stable while updating the value + const convertedValue = convertUnit(value, unit, selectedUnit); + setInputValue(convertedValue.toString()); + // Keep selectedUnit unchanged + }, [selectedUnit]); return (