From 1168e1494c112e9290e7e568307bc9ed38c130c0 Mon Sep 17 00:00:00 2001 From: Philippe Loctaux Date: Wed, 12 Apr 2023 09:30:59 +0200 Subject: [PATCH] added settings/visual: moved theme toggle here --- crates/ezidam/src/menu/items/user.rs | 4 ++ crates/ezidam/src/page.rs | 5 ++ crates/ezidam/src/routes/settings.rs | 10 +++ crates/ezidam/src/routes/settings/visual.rs | 7 +++ .../pages/settings/personal.html.tera | 2 + .../pages/settings/security.html.tera | 2 + .../templates/pages/settings/visual.html.tera | 61 +++++++++++++++++++ .../ezidam/templates/shell/header.html.tera | 12 ---- 8 files changed, 91 insertions(+), 12 deletions(-) create mode 100644 crates/ezidam/src/routes/settings/visual.rs create mode 100644 crates/ezidam/templates/pages/settings/visual.html.tera diff --git a/crates/ezidam/src/menu/items/user.rs b/crates/ezidam/src/menu/items/user.rs index d9b2dbf..e7c56ea 100644 --- a/crates/ezidam/src/menu/items/user.rs +++ b/crates/ezidam/src/menu/items/user.rs @@ -38,6 +38,10 @@ impl UserMenu { label: "Security", link: uri!(routes::settings::security::user_settings_security).to_string(), }, + SubItem { + label: "Visual", + link: uri!(routes::settings::visual::user_settings_visual).to_string(), + }, ]), }, ] diff --git a/crates/ezidam/src/page.rs b/crates/ezidam/src/page.rs index 1f38779..f1d67ab 100644 --- a/crates/ezidam/src/page.rs +++ b/crates/ezidam/src/page.rs @@ -23,6 +23,7 @@ pub enum Page { AdminAppsView(AdminAppsView), UserPersonalSettings(UserPersonalSettings), UserSecuritySettings(UserSecuritySettings), + UserVisualSettings(UserVisualSettings), } impl Page { @@ -42,6 +43,7 @@ impl Page { Page::AdminAppsView(_) => "pages/admin/apps/view", Page::UserPersonalSettings(_) => "pages/settings/personal", Page::UserSecuritySettings(_) => "pages/settings/security", + Page::UserVisualSettings(_) => "pages/settings/visual", } } @@ -61,6 +63,7 @@ impl Page { Page::AdminAppsView(_) => "Application info", Page::UserPersonalSettings(_) => "Personal settings", Page::UserSecuritySettings(_) => "Security settings", + Page::UserVisualSettings(_) => "Visual settings", } } @@ -82,6 +85,7 @@ impl Page { Page::AdminAppsView(_) => Some(AdminMenu::Apps.into()), Page::UserPersonalSettings(_) => Some(UserMenu::Settings.into()), Page::UserSecuritySettings(_) => Some(UserMenu::Settings.into()), + Page::UserVisualSettings(_) => Some(UserMenu::Settings.into()), } } @@ -101,6 +105,7 @@ impl Page { Page::AdminAppsView(view) => Box::new(view), Page::UserPersonalSettings(personal) => Box::new(personal), Page::UserSecuritySettings(security) => Box::new(security), + Page::UserVisualSettings(visual) => Box::new(visual), } } } diff --git a/crates/ezidam/src/routes/settings.rs b/crates/ezidam/src/routes/settings.rs index 02b5b53..49cac3f 100644 --- a/crates/ezidam/src/routes/settings.rs +++ b/crates/ezidam/src/routes/settings.rs @@ -2,9 +2,11 @@ use super::prelude::*; use personal::*; use rocket::get; use security::*; +use visual::*; pub mod personal; pub mod security; +pub mod visual; pub fn routes() -> Vec { routes![ @@ -15,6 +17,7 @@ pub fn routes() -> Vec { user_settings_security_logout_everywhere, user_settings_security_paper_key, user_settings_security_password, + user_settings_visual, ] } @@ -44,4 +47,11 @@ pub mod content { pub user: JwtClaims, pub logout_time_effective: i64, } + + #[derive(Serialize)] + #[serde(crate = "rocket::serde")] + #[derive(Clone)] + pub struct UserVisualSettings { + pub user: JwtClaims, + } } diff --git a/crates/ezidam/src/routes/settings/visual.rs b/crates/ezidam/src/routes/settings/visual.rs new file mode 100644 index 0000000..7b622c1 --- /dev/null +++ b/crates/ezidam/src/routes/settings/visual.rs @@ -0,0 +1,7 @@ +use crate::routes::prelude::*; +use rocket::get; + +#[get("/settings/visual")] +pub async fn user_settings_visual(jwt_user: JwtUser) -> Page { + Page::UserVisualSettings(super::content::UserVisualSettings { user: jwt_user.0 }) +} diff --git a/crates/ezidam/templates/pages/settings/personal.html.tera b/crates/ezidam/templates/pages/settings/personal.html.tera index a49e651..4bb4997 100644 --- a/crates/ezidam/templates/pages/settings/personal.html.tera +++ b/crates/ezidam/templates/pages/settings/personal.html.tera @@ -32,6 +32,8 @@ class="list-group-item list-group-item-action d-flex align-items-center active">Personal Security + Visual diff --git a/crates/ezidam/templates/pages/settings/security.html.tera b/crates/ezidam/templates/pages/settings/security.html.tera index 95a0046..428f45e 100644 --- a/crates/ezidam/templates/pages/settings/security.html.tera +++ b/crates/ezidam/templates/pages/settings/security.html.tera @@ -32,6 +32,8 @@ class="list-group-item list-group-item-action d-flex align-items-center">Personal Security + Visual diff --git a/crates/ezidam/templates/pages/settings/visual.html.tera b/crates/ezidam/templates/pages/settings/visual.html.tera new file mode 100644 index 0000000..9d7489a --- /dev/null +++ b/crates/ezidam/templates/pages/settings/visual.html.tera @@ -0,0 +1,61 @@ +{% extends "shell" %} + +{% block content %} + + + +
+
+ + {% if flash %} + + {% endif %} + + +
+
+{% endblock content %} diff --git a/crates/ezidam/templates/shell/header.html.tera b/crates/ezidam/templates/shell/header.html.tera index 5985c54..4f23f15 100644 --- a/crates/ezidam/templates/shell/header.html.tera +++ b/crates/ezidam/templates/shell/header.html.tera @@ -8,18 +8,6 @@ {% include "utils/logo_header" %}