1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use crate::*;
use unwrap::unwrap;
use wasm_bindgen_futures::spawn_local;
#[allow(clippy::needless_pass_by_value)]
pub fn fetch_games_metadata_request(href: String, vdom_weak: dodrio::VdomWeak) {
let url_config = format!("{}/content/gamesmetadata.json", href);
spawn_local(set_game_metadata_from_json(url_config, vdom_weak));
}
pub async fn set_game_metadata_from_json(url_config: String, vdom: dodrio::VdomWeak) {
let respbody = fetchmod::fetch_response(url_config).await;
let v: gamedatamod::GamesMetadata = unwrap!(serde_json::from_str(&respbody));
unwrap!(
vdom.with_component({
move |root| {
let rrc = root.unwrap_mut::<RootRenderingComponent>();
rrc.game_data.content_folders.clear();
for x in &v.vec_game_metadata {
rrc.game_data.content_folders.push(x.folder.clone());
}
rrc.game_data.games_metadata = Some(v);
}
})
.await
);
}