diff --git a/src/joke.rs b/src/joke.rs index 78272f5..1693f5e 100644 --- a/src/joke.rs +++ b/src/joke.rs @@ -24,15 +24,30 @@ pub struct JokeProps { pub joke: JokeStruct, } +pub fn format_tags(tags: &HashSet) -> String { + let taglist: Vec<&str> = tags.iter().map(String::as_ref).collect(); + taglist.join(", ") +} + #[function_component(Joke)] pub fn joke(joke: &JokeProps) -> Html { - html! { + html! { <>
{"Knock-Knock!"}
{"Who's there?"}
{joke.joke.whos_there.clone()}
{format!("{} who?", &joke.joke.whos_there)}
- {joke.joke.answer_who.clone()}
+ {joke.joke.answer_who.clone()}
- } + + {format!("[id: {}", &joke.joke.id)} + if let Some(ref tags) = joke.joke.tags { + {format!("; tags: {}", &format_tags(tags))} + } + if let Some(ref source) = joke.joke.source { + {format!("; source: {}", source)} + } + {"]"} + + } }