Add login manager

Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
kernelkind
2024-04-01 11:04:47 -04:00
committed by William Casarin
parent 83197bac78
commit 343d3dc569
2 changed files with 24 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ mod timeline;
mod colors;
mod profile;
mod key_parsing;
mod login_manager;
#[cfg(test)]
#[macro_use]

23
src/login_manager.rs Normal file
View File

@@ -0,0 +1,23 @@
use crate::key_parsing::LoginError;
use nostr_sdk::Keys;
use poll_promise::Promise;
/// Helper storage object for retrieving the plaintext key from the user and converting it into a
/// nostr-sdk Keys object if possible.
pub struct LoginManager {
pub login_key: String,
pub promise: Option<Promise<Result<Keys, LoginError>>>,
pub error: Option<LoginError>,
pub key_on_error: Option<String>
}
impl LoginManager {
pub fn new() -> Self {
LoginManager {
login_key: String::new(),
promise: None,
error: None,
key_on_error: None
}
}
}