diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2022-09-11 13:03:36 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2022-09-11 13:03:36 -0400 |
commit | 435272c941d6cb8e7e18312cac16e319b16e8f50 (patch) | |
tree | 3da95e1e2e2d90c883d07b3185d49654fdd590de /webapp/src/components/game.rs | |
parent | 9656f8ce14360dc0eb83e2b65ed25eef79c02e42 (diff) |
Add card callbacks
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> </> } |