diff --git a/crates/ezidam/src/routes/setup.rs b/crates/ezidam/src/routes/setup.rs index 4518d62..6af527d 100644 --- a/crates/ezidam/src/routes/setup.rs +++ b/crates/ezidam/src/routes/setup.rs @@ -15,7 +15,6 @@ async fn setup_completed(_setup: CompletedSetup) -> Redirect { #[get("/", rank = 2)] async fn setup(flash: Option>) -> Template { - // TODO: show flash on html page flash .map(|flash| Page::with_flash(Page::Setup, flash)) .unwrap_or_else(|| Page::Setup.into()) @@ -37,13 +36,16 @@ async fn create_first_account( let form = form.into_inner(); // Parse url - return Ok(Either::Right(Flash::new( - Redirect::to(uri!(self::setup)), - FlashKind::Danger, - "Failed to parse url".to_string(), - ))); - - let url = Url::parse(form.url).unwrap(); + let url = match Url::parse(form.url) { + Ok(url) => url, + Err(e) => { + return Ok(Either::Right(Flash::new( + Redirect::to(uri!(self::setup)), + FlashKind::Danger, + e.to_string(), + ))); + } + }; // Generate UserID let user_id = task::spawn_blocking(UserID::default).await?; diff --git a/crates/ezidam/templates/setup.html.tera b/crates/ezidam/templates/setup.html.tera index d6b4a84..c8d0232 100644 --- a/crates/ezidam/templates/setup.html.tera +++ b/crates/ezidam/templates/setup.html.tera @@ -10,6 +10,14 @@ + + {% if flash %} + + {% endif %} +