From 8291f366601f27ef065eb8abe511ad8c4715a6cb Mon Sep 17 00:00:00 2001 From: emilis Date: Sat, 3 Jan 2026 03:19:23 +0000 Subject: [PATCH] actually allow username-only accounts to change password --- plan/src/pages/user_settings_page.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plan/src/pages/user_settings_page.rs b/plan/src/pages/user_settings_page.rs index 16af344..c59b986 100644 --- a/plan/src/pages/user_settings_page.rs +++ b/plan/src/pages/user_settings_page.rs @@ -17,6 +17,7 @@ use crate::{ state_input::{InputType, StateInput}, }, pages::mainpage::SignedOutMainPage, + storage::{LoginState, StorageKey}, }; #[function_component] @@ -35,7 +36,17 @@ pub fn UserSettingsPage() -> Html { }; - let current_password_state = use_state(String::new); + let current_password_state = { + let current_password = if let Ok(LoginState::Passwordless { password, .. }) = + LoginState::load_from_storage() + { + password.to_string() + } else { + String::new() + }; + + use_state(|| current_password) + }; let new_password_state = use_state(String::new); let new_password_repeat_state = use_state(String::new); let change_password = { @@ -98,6 +109,9 @@ pub fn UserSettingsPage() -> Html { return; }; let on_success = { + if let Err(err) = LoginState::NoLogin.save_to_storage() { + log::error!("saving NoLogin storage state: {err}"); + } let change_password_modal_id = change_password_modal_id.clone(); Callback::from(move |_| { if let Some(dialog) = gloo::utils::document()