Skip to content

Commit bf47e25

Browse files
authored
Merge pull request RustedLessPass#23 from RustedLessPass/fix-last-switch-on-reload
fix: 🐛 show disabled switch on reload
2 parents 7344f3a + d08c5d9 commit bf47e25

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "rustedlesspass"
3-
version = "1.0.1"
3+
version = "1.0.2"
44
edition = "2021"
55

66
[dependencies]

src/app.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}

src/settings.rs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ use serde::{Deserialize, Serialize};
44
// Define a struct to hold settings
55
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
66
pub struct Settings {
7-
pub size: u64, // Length of generated password
8-
pub counter: u64, // Number of passwords generated
9-
pub lowercase: u64, // Include lowercase characters
10-
pub uppercase: u64, // Include uppercase characters
11-
pub numbers: u64, // Include numeric characters
12-
pub symbols: u64, // Include symbolic characters
7+
pub size: u64, // Length of generated password
8+
pub counter: u64, // Number of passwords generated
9+
pub lowercase: u64, // Include lowercase characters
10+
pub uppercase: u64, // Include uppercase characters
11+
pub numbers: u64, // Include numeric characters
12+
pub symbols: u64, // Include symbolic characters
13+
pub disabled: String, // List of disabled characters
1314
}
1415

1516
impl Settings {
@@ -31,12 +32,13 @@ impl Default for Settings {
3132
// Provide a default implementation
3233
fn default() -> Self {
3334
Self {
34-
size: 16, // Default password length
35-
counter: 1, // Default number of passwords
36-
lowercase: 1, // Include lowercase characters by default
37-
uppercase: 1, // Include uppercase characters by default
38-
numbers: 1, // Include numeric characters by default
39-
symbols: 1, // Include symbolic characters by default
35+
size: 16, // Default password length
36+
counter: 1, // Default number of passwords
37+
lowercase: 1, // Include lowercase characters by default
38+
uppercase: 1, // Include uppercase characters by default
39+
numbers: 1, // Include numeric characters by default
40+
symbols: 1, // Include symbolic characters by default
41+
disabled: String::new(), // No disabled characters by default
4042
}
4143
}
4244
}

0 commit comments

Comments
 (0)