diff --git a/peach-web/src/private_router.rs b/peach-web/src/private_router.rs index 975eb75..e48f337 100644 --- a/peach-web/src/private_router.rs +++ b/peach-web/src/private_router.rs @@ -178,6 +178,10 @@ pub fn mount_peachpub_routes( routes::settings::scuttlebutt::configure::handle_form(request, true) }, + (GET) (/settings/scuttlebutt/configure/default) => { + routes::settings::scuttlebutt::default::write_config() + }, + (GET) (/settings/theme/{theme: String}) => { routes::settings::theme::set_theme(theme) }, diff --git a/peach-web/src/routes/settings/scuttlebutt/default.rs b/peach-web/src/routes/settings/scuttlebutt/default.rs new file mode 100644 index 0000000..daf8d94 --- /dev/null +++ b/peach-web/src/routes/settings/scuttlebutt/default.rs @@ -0,0 +1,21 @@ +use peach_lib::sbot::SbotConfig; +use rouille::Response; + +use crate::utils::flash::FlashResponse; + +/// Set default configuration parameters for the go-sbot and save them to file. +pub fn write_config() -> Response { + let default_config = SbotConfig::default(); + // write default config to file + let (name, msg) = match SbotConfig::write(default_config) { + Ok(_) => ("success", "Restored default configuration".to_string()), + Err(e) => ( + "error", + format!("Failed to restore default configuration: {}", e), + ), + }; + + let (flash_name, flash_msg) = (format!("flash_name={}", name), format!("flash_msg={}", msg)); + + Response::redirect_303("/settings/scuttlebutt/configure").add_flash(flash_name, flash_msg) +} diff --git a/peach-web/src/routes/settings/scuttlebutt/mod.rs b/peach-web/src/routes/settings/scuttlebutt/mod.rs index e969135..f4d9faf 100644 --- a/peach-web/src/routes/settings/scuttlebutt/mod.rs +++ b/peach-web/src/routes/settings/scuttlebutt/mod.rs @@ -1,4 +1,5 @@ pub mod configure; +pub mod default; pub mod menu; pub mod restart; pub mod start;