@@ -99,6 +99,28 @@ const Home = () => {
9999 } ) ;
100100 } ;
101101
102+ /**
103+ * Change a number value
104+ * @param e The change event
105+ * @param action The action to dispatch
106+ */
107+ const changeNumberValue = ( e , action ) => {
108+ if ( e . target . value && e . target . value . length > 0 ) {
109+ switch ( action ) {
110+ case 'min' :
111+ d2 ( setPasswordLengthMin ( parseInt ( e . target . value , 10 ) ) ) ;
112+ break ;
113+ case 'max' :
114+ d2 ( setPasswordLengthMax ( parseInt ( e . target . value , 10 ) ) ) ;
115+ break ;
116+ case 'amount' :
117+ default :
118+ d2 ( setPasswordAmount ( parseInt ( e . target . value , 10 ) ) ) ;
119+ break ;
120+ }
121+ }
122+ } ;
123+
102124 useEffect ( ( ) => {
103125 d1 ( setPageIndex ( 0 ) ) ;
104126 } , [ ] ) ;
@@ -122,7 +144,7 @@ const Home = () => {
122144 value = { min }
123145 error = { min > max }
124146 fullWidth
125- onChange = { ( e ) => d2 ( setPasswordLengthMin ( parseInt ( e . target . value , 10 ) ) ) }
147+ onChange = { ( e ) => changeNumberValue ( e , 'min' ) }
126148 />
127149 </ Grid >
128150 < Grid item xs = { 12 } md = { 12 } lg = { 12 } >
@@ -133,7 +155,7 @@ const Home = () => {
133155 value = { max }
134156 error = { max < min }
135157 fullWidth
136- onChange = { ( e ) => d2 ( setPasswordLengthMax ( parseInt ( e . target . value , 10 ) ) ) }
158+ onChange = { ( e ) => changeNumberValue ( e , 'max' ) }
137159 />
138160 </ Grid >
139161 < Grid item xs = { 12 } md = { 12 } lg = { 12 } >
@@ -143,11 +165,7 @@ const Home = () => {
143165 label = { language . amount }
144166 value = { amount }
145167 error = { amount . length === 0 || amount < 1 }
146- onChange = { ( e ) => {
147- if ( e . target . value && e . target . value . length > 0 ) {
148- d2 ( setPasswordAmount ( parseInt ( e . target . value , 10 ) ) ) ;
149- }
150- } }
168+ onChange = { ( e ) => changeNumberValue ( e , 'amount' ) }
151169 fullWidth
152170 />
153171 </ Grid >
0 commit comments