summaryrefslogtreecommitdiff
path: root/webapp/src/components/card.rs
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/components/card.rs')
-rw-r--r--webapp/src/components/card.rs26
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 }
+ }
+}