diff options
Diffstat (limited to 'webapp/src/components/card.rs')
-rw-r--r-- | webapp/src/components/card.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/webapp/src/components/card.rs b/webapp/src/components/card.rs new file mode 100644 index 0000000..6fbe7e7 --- /dev/null +++ b/webapp/src/components/card.rs @@ -0,0 +1,26 @@ +use yew::prelude::*; +use crate::card::{self, Suit, Rank}; +use crate::components::suit_css_class; + +#[function_component(Card)] +pub fn ccard(props: &CardProps) -> Html { + html! { + <div class="card"> + <div class={ suit_css_class(props.suit) }> + { props.rank } + </div> + </div> + } +} + +#[derive(PartialEq, Properties, Clone)] +pub struct CardProps { + pub suit: Suit, + pub rank: Rank, +} + +impl From<card::Card> for CardProps { + fn from(card::Card(suit, rank): card::Card) -> Self { + CardProps { suit, rank } + } +} |