use protocol::card; use yew::prelude::*; #[function_component(Card)] pub fn ccard(props: &CardProps) -> Html { let card::Card(suit, rank) = props.card; let onclick = { let card = props.card; let onclick = props.onclick.clone(); Callback::from(move |_| onclick.emit(card)) }; // SVG rendering looks better with the filled versions of the symbols. let (color, symbol) = match suit { card::Suit::Club => ("#000", "♣"), card::Suit::Diamond => ("#d00", "♦"), card::Suit::Heart => ("#d00", "♥"), card::Suit::Spade => ("#000", "♠"), }; html! { <>