@@ -27,7 +27,6 @@ pub struct App {
2727 fingerprint : Vec < String > , // Password fingerprint
2828 show : u8 , // State to manage UI
2929 show_input_password : bool , // Flag to show/hide password input
30- disabled : String , // Flag to disable input fields
3130}
3231
3332// Implement default trait for the main application component
@@ -42,7 +41,6 @@ impl Default for App {
4241 fingerprint : fingerprint_calculate ( "" ) , // Calculate fingerprint
4342 show : 0 , // Initialize show state
4443 show_input_password : false , // Initialize show_input_password flag
45- disabled : String :: new ( ) , // Initialize disabled flag
4644 }
4745 }
4846}
@@ -61,8 +59,8 @@ impl Component for App {
6159 fn update ( & mut self , _ctx : & Context < Self > , msg : Self :: Message ) -> bool {
6260 match msg {
6361 Msg :: ChangeSettings ( settings) => {
64- self . disabled = update_disabled_characters ( & settings) ;
65- self . settings = settings; // Update settings
62+ self . settings = settings. clone ( ) ; // Update settings
63+ self . settings . disabled = update_disabled_characters ( & settings) ;
6664 self . settings . store ( ) ; // Store updated settings
6765 self . show = 0 ; // Reset password button state
6866 }
@@ -192,16 +190,16 @@ impl Component for App {
192190 <nav>
193191
194192 <Switch label="a-z" onchange={ settings_callback!( ctx. link( ) , settings; lowercase) }
195- value={ settings. lowercase. clone( ) } value_disabled={ if self . disabled. clone( ) =="a-z" { true } else { false
193+ value={ settings. lowercase. clone( ) } value_disabled={ if self . settings . disabled. clone( ) =="a-z" { true } else { false
196194 } } /> // Switch for lowercase
197195 <Switch label="A-Z" onchange={ settings_callback!( ctx. link( ) , settings; uppercase) }
198- value={ settings. uppercase. clone( ) } value_disabled={ if self . disabled. clone( ) =="A-Z" { true } else { false
196+ value={ settings. uppercase. clone( ) } value_disabled={ if self . settings . disabled. clone( ) =="A-Z" { true } else { false
199197 } } /> // Switch for uppercase
200198 <Switch label="0-9" onchange={ settings_callback!( ctx. link( ) , settings; numbers) }
201- value={ settings. numbers. clone( ) } value_disabled={ if self . disabled. clone( ) =="0-9" { true } else { false
199+ value={ settings. numbers. clone( ) } value_disabled={ if self . settings . disabled. clone( ) =="0-9" { true } else { false
202200 } } /> // Switch for numbers
203201 <Switch label="%!@" onchange={ settings_callback!( ctx. link( ) , settings; symbols) }
204- value={ settings. symbols. clone( ) } value_disabled={ if self . disabled. clone( ) =="%!@" { true } else { false
202+ value={ settings. symbols. clone( ) } value_disabled={ if self . settings . disabled. clone( ) =="%!@" { true } else { false
205203 } } /> // Switch for symbols
206204
207205 </nav>
@@ -231,4 +229,4 @@ impl Component for App {
231229 </body>
232230 }
233231 }
234- }
232+ }
0 commit comments