let dem_res = create_local_resource(
|| (),
|_| async {
let response = gloo_net::http::Request::get("/api/v0/clicked")
.send()
.await
.map_err(Rc::new)?;
let json = response.json::<Vec<Box<str>>>().await.map_err(Rc::new)?;
Ok::<_, Rc<gloo_net::Error>>(
json.into_iter()
.map(|s| Rc::from(s) as Rc<str>)
.collect::<Vec<_>>(),
)
},
);
let is_dem_res_error = move || dem_res.with(|res| res.as_ref().is_some_and(|res| res.is_err()));
let dem_res_data = move || {
if dem_res.loading().get() {
None
} else {
dem_res.with(|res| res.clone().and_then(|d| d.ok()))
}
};
let dem_res_error = move || {
if dem_res.loading().get() {
None
} else {
dem_res.with(|res| res.clone().and_then(|d| d.err()))
}
};