This commit is contained in:
2025-05-29 21:16:34 -04:00
parent ffe1e5ce3a
commit 0de755cfc9

View File

@@ -37,17 +37,33 @@ pub fn MediaGrid(props: MediaGridProps) -> Element {
let media_result = use_resource(use_reactive!(|(props)| async move { let media_result = use_resource(use_reactive!(|(props)| async move {
let mut client = get_rpc_client(); let mut client = get_rpc_client();
let result = client.list_media(props.into_request()).await; let result = client.list_media(props.into_request()).await;
return result.expect("Failed to load media").into_inner(); if let Ok(items) = result {
return Ok(items.into_inner());
} else {
let err = result.err().unwrap();
let message = err.message();
return Err(format!("Failed to load results: {message}"));
}
})); }));
match &*media_result.read_unchecked() { match media_result.cloned() {
Some(result) => rsx! { Some(value) => match value {
div{ Ok(result) => rsx! {
class: "mediaGrid", div{
{result.items.iter().map(|itm| rsx!{ class: "mediaGrid",
MediaItem { item: itm.clone() } {result.items.iter().map(|itm| rsx!{
})}, MediaItem { item: itm.clone() }
} })},
}
},
Err(msg) => rsx! {
div{
class: "mediaGrid",
div {
"Failed to load results: {msg}"
}
}
},
}, },
None => rsx! { None => rsx! {
div{ div{
@@ -59,3 +75,12 @@ pub fn MediaGrid(props: MediaGridProps) -> Element {
}, },
} }
} }
pub fn Nested() -> Element {
rsx! {
div{
"test",
slot { }
}
}
}