Use of Conversations layout

This commit is contained in:
2024-05-26 11:39:18 +02:00
parent c8e8e2da67
commit 62015f8d13
5 changed files with 88 additions and 153 deletions

View File

@@ -4,9 +4,11 @@ use tracing::{debug, trace, warn};
use super::{button::Button, icons::SearchIcon, text_input::TextInput};
use crate::{
base::{ACCOUNT, STORE},
domain::model::{common::PresenceState as DomainPresenceState, room::RoomId, space::SpaceId},
ui::components::icons::{ChatsIcon, LogoIcon, RoomsIcon, SpacesIcon},
ui::{
components::icons::{ChatsIcon, LogoIcon, RoomsIcon, SpacesIcon},
ACCOUNT, STORE,
},
};
turf::style_sheet!("src/ui/components/conversations.scss");

View File

@@ -1,7 +1,4 @@
use std::borrow::Cow;
use std::cell::RefCell;
use std::collections::HashMap;
use std::rc::Rc;
use std::{borrow::Cow, cell::RefCell, collections::HashMap, rc::Rc};
use const_format::formatcp;
use dioxus::prelude::*;
@@ -9,16 +6,18 @@ use tracing::{debug, error, warn};
use validator::{Validate, ValidateArgs, ValidateEmail, ValidationError, ValidationErrors};
use zxcvbn::zxcvbn;
use crate::base::SESSION;
use crate::domain::model::session::Session;
use crate::infrastructure::services::random_svg_generators::{
generate_random_svg_shape, ShapeConfig,
use crate::{
domain::model::session::Session,
infrastructure::services::random_svg_generators::{generate_random_svg_shape, ShapeConfig},
ui::SESSION,
};
use super::button::{LoginButton, RegisterButton};
use super::modal::{Modal, Severity};
use super::spinner::Spinner;
use super::text_input::{PasswordInputState, PasswordTextInput, TextInput, TextInputState};
use super::{
button::{LoginButton, RegisterButton},
modal::{Modal, Severity},
spinner::Spinner,
text_input::{PasswordInputState, PasswordTextInput, TextInput, TextInputState},
};
include!(concat!(env!("OUT_DIR"), "/style_vars.rs"));

View File

@@ -1,3 +1,13 @@
pub(crate) mod components;
pub(crate) mod layouts;
pub(crate) mod store;
use dioxus::prelude::{GlobalSignal, Signal};
use super::domain::model::{account::Account, session::Session};
use store::Store;
pub static STORE: GlobalSignal<Store> = Signal::global(Store::new);
// TODO: Merge ACCOUNT and SESSION
pub static ACCOUNT: GlobalSignal<Account> = Signal::global(|| Account::new(&STORE));
pub static SESSION: GlobalSignal<Session> = Signal::global(Session::new);