summaryrefslogtreecommitdiffstats
path: root/src/login_modal.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/login_modal.rs112
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()
- }
-}