Clean up login form, add files for others
Some checks failed
Build Crate / build (push) Failing after 1m46s

This commit is contained in:
2024-08-26 19:44:52 -04:00
parent 65d47615da
commit e376874afa
6 changed files with 45 additions and 15 deletions

View File

@@ -41,6 +41,14 @@ impl AuthDataRx {
let value = serde_json::to_string(&auth_info).unwrap();
storage.set_item("auth", &value).unwrap();
}
// Save into session storage always
let storage: web_sys::Storage = web_sys::window()
.unwrap()
.session_storage()
.unwrap()
.unwrap();
let value = serde_json::to_string(&auth_info).unwrap();
storage.set_item("auth", &value).unwrap();
// Save token to session storage
self.username.set(Some(auth_info.username.clone()));
@@ -55,6 +63,12 @@ impl AuthDataRx {
let storage: web_sys::Storage =
web_sys::window().unwrap().local_storage().unwrap().unwrap();
storage.remove_item("auth").unwrap();
let storage: web_sys::Storage = web_sys::window()
.unwrap()
.session_storage()
.unwrap()
.unwrap();
storage.remove_item("auth").unwrap();
// Update state
self.auth_info.set(None);
self.username.set(None);
@@ -108,7 +122,22 @@ impl AuthDataRx {
self.handle_log_in(auth_info);
}
None => {
self.state.set(LoginState::NotAuthenticated);
// Try session storage
let storage: web_sys::Storage = web_sys::window()
.unwrap()
.session_storage()
.unwrap()
.unwrap();
let saved_auth = storage.get("auth").unwrap();
match saved_auth {
Some(auth_info) => {
let auth_info = serde_json::from_str(&auth_info).unwrap();
self.handle_log_in(auth_info);
}
None => {
self.state.set(LoginState::NotAuthenticated);
}
}
}
}
}