summaryrefslogtreecommitdiff
path: root/webapp/src/components/game.rs
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/components/game.rs')
-rw-r--r--webapp/src/components/game.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/webapp/src/components/game.rs b/webapp/src/components/game.rs
index 1544f13..d6341ac 100644
--- a/webapp/src/components/game.rs
+++ b/webapp/src/components/game.rs
@@ -1,7 +1,8 @@
use crate::bridge_engine::{self, Contract, Player};
use crate::card;
use crate::card::Suit;
-use crate::components::{Bidding, Hand, HandProps, ShowBid};
+use crate::components::{Bidding, Hand, ShowBid};
+use log::info;
use yew::prelude::*;
pub const SUIT_DISPLAY_ORDER: [Suit; 4] = [Suit::Diamond, Suit::Club, Suit::Heart, Suit::Spade];
@@ -55,6 +56,8 @@ pub fn game() -> Html {
})
};
+ let on_card_clicked = { Callback::from(move |card| info!("Card clicked: {}", card)) };
+
html! {
<>
<div class="nav">
@@ -67,22 +70,30 @@ pub fn game() -> Html {
<div class="center">
<p>{ format!("Dealer: {:?}", *dealer) }</p>
if let Some(_) = &*contract {
- { "Let's play" }
+ { "Let's play." }
} else {
<Bidding {on_contract} dealer={ *dealer } />
}
</div>
<div class="hand west">
- <Hand ..{ dealt_cards.west.clone().into_iter().collect() }/>
+ <Hand cards={ dealt_cards.west.clone() }
+ on_card_clicked={ on_card_clicked.clone() }
+ />
</div>
<div class="hand north">
- <Hand ..{ dealt_cards.north.clone().into_iter().collect() }/>
+ <Hand cards={ dealt_cards.north.clone() }
+ on_card_clicked={ on_card_clicked.clone() }
+ />
</div>
<div class="hand east">
- <Hand ..{ dealt_cards.east.clone().into_iter().collect() }/>
+ <Hand cards={ dealt_cards.east.clone() }
+ on_card_clicked={ on_card_clicked.clone() }
+ />
</div>
<div class="hand south">
- <Hand ..{ dealt_cards.south.clone().into_iter().collect() }/>
+ <Hand cards={ dealt_cards.south.clone() }
+ on_card_clicked={ on_card_clicked.clone() }
+ />
</div>
</>
}