Skip to content

Commit db8e5dd

Browse files
authored
Fix issue loading overlay without guide or games (#746)
Signed-off-by: Sergio Castaño Arteaga <[email protected]>
1 parent 6d6ce9a commit db8e5dd

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

crates/wasm/overlay/src/lib.rs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,19 +82,27 @@ pub async fn get_overlay_data(input: JsValue) -> Result<String, String> {
8282
.map_err(to_str)?;
8383

8484
// Get landscape guide
85-
let default_guide_url = format!("{}/{}", input.landscape_url, DEFAULT_GUIDE_PATH);
86-
let guide_url = input.guide_url.unwrap_or(default_guide_url);
87-
let guide_src = GuideSource::new_from_url(guide_url);
88-
let guide = LandscapeGuide::new(&guide_src).await.context("error fetching guide").map_err(to_str)?;
85+
let guide = if let Some(guide_url) = input.guide_url {
86+
let guide_src = GuideSource::new_from_url(guide_url.clone());
87+
LandscapeGuide::new(&guide_src).await.context("error fetching guide").map_err(to_str)?
88+
} else {
89+
let default_guide_url = format!("{}/{}", input.landscape_url, DEFAULT_GUIDE_PATH);
90+
let guide_src = GuideSource::new_from_url(default_guide_url);
91+
LandscapeGuide::new(&guide_src).await.ok().flatten()
92+
};
8993

9094
// Get landscape games data
91-
let default_games_url = format!("{}/{}", input.landscape_url, DEFAULT_GAMES_PATH);
92-
let games_url = input.games_url.unwrap_or(default_games_url);
93-
let games_src = GamesSource::new_from_url(games_url);
94-
let games = LandscapeGames::new(&games_src)
95-
.await
96-
.context("error fetching games data")
97-
.map_err(to_str)?;
95+
let games = if let Some(games_url) = input.games_url {
96+
let games_src = GamesSource::new_from_url(games_url);
97+
LandscapeGames::new(&games_src)
98+
.await
99+
.context("error fetching games data")
100+
.map_err(to_str)?
101+
} else {
102+
let default_games_url = format!("{}/{}", input.landscape_url, DEFAULT_GAMES_PATH);
103+
let games_src = GamesSource::new_from_url(default_games_url);
104+
LandscapeGames::new(&games_src).await.ok().flatten()
105+
};
98106

99107
// Get Crunchbase and GitHub data from deployed full dataset
100108
let deployed_full_dataset = get_full_dataset(&input.landscape_url).await.map_err(to_str)?;

0 commit comments

Comments
 (0)