diff --git a/src/pages/songpage.rs b/src/pages/songpage.rs new file mode 100644 index 0000000..516f998 --- /dev/null +++ b/src/pages/songpage.rs @@ -0,0 +1,32 @@ +#[component] +pub fn SongPage() -> impl IntoView { + let params = use_params_map(); + + view! { +
+ {move || params.with(|params| { + match params.get("id").map(|id| id.parse::()) { + Some(Ok(id)) => { + view! { }.into_view() + }, + Some(Err(e)) => { + view! { + + title="Invalid Song ID" + error=e.to_string() + /> + }.into_view() + }, + None => { + view! { + + title="No Song ID" + message="You must specify a song ID to view its page." + /> + }.into_view() + } + } + })} +
+ } +} diff --git a/style/song.scss b/style/song.scss new file mode 100644 index 0000000..e69de29