diff --git a/peach-web/src/routes/settings/scuttlebutt.rs b/peach-web/src/routes/settings/scuttlebutt.rs new file mode 100644 index 00000000..bd1a129e --- /dev/null +++ b/peach-web/src/routes/settings/scuttlebutt.rs @@ -0,0 +1,41 @@ +use rocket::{get, request::FlashMessage, serde::Serialize}; +use rocket_dyn_templates::Template; + +use crate::routes::authentication::Authenticated; + +// HELPERS AND ROUTES FOR /settings/scuttlebutt + +#[derive(Debug, Serialize)] +pub struct ScuttlebuttSettingsContext { + pub back: Option, + pub title: Option, + pub flash_name: Option, + pub flash_msg: Option, +} + +impl ScuttlebuttSettingsContext { + pub fn build() -> ScuttlebuttSettingsContext { + ScuttlebuttSettingsContext { + back: None, + title: None, + flash_name: None, + flash_msg: None, + } + } +} + +/// Scuttlebutt settings menu. +#[get("/")] +pub fn ssb_settings_menu(flash: Option, _auth: Authenticated) -> Template { + let mut context = ScuttlebuttSettingsContext::build(); + // set back icon link to network route + context.back = Some("/settings".to_string()); + context.title = Some("Scuttlebutt Settings".to_string()); + // check to see if there is a flash message to display + if let Some(flash) = flash { + // add flash message contents to the context object + context.flash_name = Some(flash.kind().to_string()); + context.flash_msg = Some(flash.message().to_string()); + }; + Template::render("settings/scuttlebutt", &context) +} diff --git a/peach-web/templates/settings/ssb_settings.html.tera b/peach-web/templates/settings/scuttlebutt.html.tera similarity index 100% rename from peach-web/templates/settings/ssb_settings.html.tera rename to peach-web/templates/settings/scuttlebutt.html.tera