diff --git a/src/pages/artist.rs b/src/pages/artist.rs new file mode 100644 index 0000000..978b2cc --- /dev/null +++ b/src/pages/artist.rs @@ -0,0 +1,40 @@ +use leptos::*; +use leptos_router::use_params_map; +use leptos_icons::*; +use server_fn::error::NoCustomError; + +use crate::components::loading::*; +use crate::components::error::*; + +#[component] +pub fn ArtistPage() -> 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 Artist ID" + error=e.to_string() + /> + }.into_view() + }, + None => { + view! { + + title="No Artist ID" + message="You must specify an artist ID to view their page." + /> + }.into_view() + } + } + })} +
+ } +}