diff options
Diffstat (limited to '')
| -rw-r--r-- | src/login_modal.rs | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/login_modal.rs b/src/login_modal.rs deleted file mode 100644 index f61c204..0000000 --- a/src/login_modal.rs +++ /dev/null @@ -1,112 +0,0 @@ -use filamento::presence::{Offline, Presence}; -use iced::{ - futures::StreamExt, - widget::{button, checkbox, column, container, text, text_input}, - Element, Task, -}; -use jid::JID; -use keyring::Entry; -use serde::{Deserialize, Serialize}; -use tokio_stream::wrappers::ReceiverStream; -use tracing::info; - -use crate::Client; - -#[derive(Default)] -pub struct LoginModal { - jid: String, - password: String, - remember_me: bool, - error: Option<Error>, -} - -#[derive(Debug, Clone)] -pub enum Message { - JID(String), - Password(String), - RememberMe, - Submit, - Error(Error), -} - -#[derive(Debug, Clone)] -pub enum Error { - InvalidJID, -} - -pub enum Action { - None, - ClientCreated(Task<crate::Message>), - CreateClient(String, String, bool), -} - -#[derive(Serialize, Deserialize, Clone)] -pub struct Creds { - pub jid: String, - pub password: String, -} - -impl LoginModal { - pub fn update(&mut self, message: Message) -> Action { - match message { - Message::JID(j) => { - self.jid = j; - Action::None - } - Message::Password(p) => { - self.password = p; - Action::None - } - Message::RememberMe => { - self.remember_me = !self.remember_me; - Action::None - } - Message::Submit => { - info!("submitting login"); - let jid_str = self.jid.clone(); - let password = self.password.clone(); - let remember_me = self.remember_me.clone(); - Action::CreateClient(jid_str, password, remember_me) - } - Message::Error(error) => { - self.error = Some(error); - Action::None - } - } - } - - pub fn view(&self) -> Element<Message> { - container( - column![ - text("Log In").size(24), - column![ - column![ - text("JID").size(12), - text_input("berry@macaw.chat", &self.jid) - .on_input(|j| Message::JID(j)) - .on_submit(Message::Submit) - .padding(5), - ] - .spacing(5), - column![ - text("Password").size(12), - text_input("", &self.password) - .on_input(|p| Message::Password(p)) - .on_submit(Message::Submit) - .secure(true) - .padding(5), - ] - .spacing(5), - checkbox("remember me", self.remember_me).on_toggle(|_| Message::RememberMe), - button(text("Submit")).on_press(Message::Submit), - ] - .spacing(10) - ] - .spacing(20), - ) - .width(300) - .padding(10) - .style(container::rounded_box) - .into() - } -} |
