diff options
Diffstat (limited to 'webapp/src/components/game.rs')
-rw-r--r-- | webapp/src/components/game.rs | 23 |
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> </> } |