use crate::*; pub fn settings(state: &State) -> Element<'_, Message> {} #[derive(Debug, Clone)] pub struct SettingsState { login_form: LoginForm, server_form: ServerForm, screen: SettingsScreen, } #[derive(Debug, Clone)] pub enum SettingsMessage { Open, Close, Select(SettingsScreen), } #[derive(Debug, Clone)] pub enum SettingsScreen { Main, Users, Servers, } #[derive(Debug, Clone)] pub struct ServerItem { pub id: uuid::Uuid, pub name: SharedString, pub url: SharedString, pub users: Vec, } #[derive(Debug, Clone)] pub struct UserItem { pub id: uuid::Uuid, pub name: SharedString, } #[derive(Debug, Clone)] pub struct LoginForm { username: String, password: String, } #[derive(Debug, Clone)] pub struct ServerForm { name: String, url: String, } mod screens { pub fn main(state: &State) -> Element<'_, Message> {} pub fn server(state: &State) -> Element<'_, Message> {} pub fn user(state: &State) -> Element<'_, Message> {} }