@@ -7,6 +7,31 @@ document.addEventListener('DOMContentLoaded', function() {
77 const convertButton = document . getElementById ( 'convertButton' ) ;
88 const clearButton = document . getElementById ( 'clearButton' ) ;
99
10+ function saveConversion ( ) {
11+ localStorage . setItem ( 'lastKilograms' , kilogramsInput . value ) ;
12+ localStorage . setItem ( 'lastGrams' , gramsInput . value ) ;
13+ localStorage . setItem ( 'lastPounds' , poundsInput . value ) ;
14+ localStorage . setItem ( 'lastMilligrams' , milligramsInput . value ) ;
15+ }
16+
17+ function loadLastConversion ( ) {
18+ const lastKilograms = localStorage . getItem ( 'lastKilograms' ) ;
19+ const lastGrams = localStorage . getItem ( 'lastGrams' ) ;
20+ const lastPounds = localStorage . getItem ( 'lastPounds' ) ;
21+ const lastMilligrams = localStorage . getItem ( 'lastMilligrams' ) ;
22+
23+ if ( lastKilograms !== null ) kilogramsInput . value = lastKilograms ;
24+ if ( lastGrams !== null ) gramsInput . value = lastGrams ;
25+ if ( lastPounds !== null ) poundsInput . value = lastPounds ;
26+ if ( lastMilligrams !== null ) milligramsInput . value = lastMilligrams ;
27+
28+ // Trigger input events to perform conversions on load if values are present
29+ if ( lastKilograms ) kilogramsInput . dispatchEvent ( new Event ( 'input' ) ) ;
30+ else if ( lastGrams ) gramsInput . dispatchEvent ( new Event ( 'input' ) ) ;
31+ else if ( lastPounds ) poundsInput . dispatchEvent ( new Event ( 'input' ) ) ;
32+ else if ( lastMilligrams ) milligramsInput . dispatchEvent ( new Event ( 'input' ) ) ;
33+ }
34+
1035 function clearAllInputsExcept ( elementToExclude ) {
1136 if ( elementToExclude !== kilogramsInput ) kilogramsInput . value = '' ;
1237 if ( elementToExclude !== gramsInput ) gramsInput . value = '' ;
@@ -21,6 +46,9 @@ document.addEventListener('DOMContentLoaded', function() {
2146 gramsInput . value = ( kg * 1000 ) . toFixed ( 2 ) ;
2247 poundsInput . value = ( kg * 2.20462 ) . toFixed ( 2 ) ;
2348 milligramsInput . value = ( kg * 1000000 ) . toFixed ( 2 ) ;
49+ saveConversion ( ) ;
50+ } else {
51+ saveConversion ( ) ; // Still save even if input is cleared
2452 }
2553 } ) ;
2654
@@ -31,6 +59,9 @@ document.addEventListener('DOMContentLoaded', function() {
3159 kilogramsInput . value = ( g / 1000 ) . toFixed ( 2 ) ;
3260 poundsInput . value = ( g * 0.00220462 ) . toFixed ( 2 ) ;
3361 milligramsInput . value = ( g * 1000 ) . toFixed ( 2 ) ;
62+ saveConversion ( ) ;
63+ } else {
64+ saveConversion ( ) ;
3465 }
3566 } ) ;
3667
@@ -41,6 +72,9 @@ document.addEventListener('DOMContentLoaded', function() {
4172 kilogramsInput . value = ( lbs / 2.20462 ) . toFixed ( 2 ) ;
4273 gramsInput . value = ( lbs / 0.00220462 ) . toFixed ( 2 ) ;
4374 milligramsInput . value = ( lbs * 453592.37 ) . toFixed ( 2 ) ;
75+ saveConversion ( ) ;
76+ } else {
77+ saveConversion ( ) ;
4478 }
4579 } ) ;
4680
@@ -51,12 +85,13 @@ document.addEventListener('DOMContentLoaded', function() {
5185 kilogramsInput . value = ( mg / 1000000 ) . toFixed ( 2 ) ;
5286 gramsInput . value = ( mg / 1000 ) . toFixed ( 2 ) ;
5387 poundsInput . value = ( mg / 453592.37 ) . toFixed ( 2 ) ;
88+ saveConversion ( ) ;
89+ } else {
90+ saveConversion ( ) ;
5491 }
5592 } ) ;
5693
5794 convertButton . addEventListener ( 'click' , function ( ) {
58- // The input event listeners already handle the conversion in real-time.
59- // This button could be repurposed for something else or removed.
6095 alert ( "Conversions are now real-time as you type!" ) ;
6196 } ) ;
6297
@@ -65,5 +100,8 @@ document.addEventListener('DOMContentLoaded', function() {
65100 gramsInput . value = '' ;
66101 poundsInput . value = '' ;
67102 milligramsInput . value = '' ;
103+ saveConversion ( ) ; // Save empty values to clear local storage on clear
68104 } ) ;
105+
106+ loadLastConversion ( ) ;
69107} ) ;
0 commit comments