diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2022-09-06 21:19:32 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2022-09-06 21:19:32 -0400 |
commit | 92c68e821ee381ee2aa52bdfcbaebdccc76f0870 (patch) | |
tree | 80815947cc557cef07edf695b54370391ec51368 /webapp/src/main.rs | |
parent | c19d8d2d475d12b45b85e44682f39aaa70923d74 (diff) |
Set up initial shared (empty) bidding state
Diffstat (limited to 'webapp/src/main.rs')
-rw-r--r-- | webapp/src/main.rs | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/webapp/src/main.rs b/webapp/src/main.rs index dd69eca..c99eeee 100644 --- a/webapp/src/main.rs +++ b/webapp/src/main.rs @@ -6,6 +6,7 @@ pub mod bridge_engine; pub mod card; use bridge_engine::Bid; use bridge_engine::Bidding; +use bridge_engine::BiddingResult; use bridge_engine::Player; use bridge_engine::Raise; extern crate wee_alloc; @@ -33,6 +34,8 @@ pub fn app() -> Html { let south = use_state(|| HandProps::from_iter(deal.south.into_iter())); let east = use_state(|| HandProps::from_iter(deal.east.into_iter())); + let bidding_state = use_state(|| BiddingResult::new(Player::East)); + let shuffle = { let north = north.clone(); let west = west.clone(); @@ -50,21 +53,12 @@ pub fn app() -> Html { }) }; - let bidding = Bidding::new(Player::North); - let bidding = bidding.bid("1NT".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("pass".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("2♦".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("pass".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("2♥".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("pass".parse().unwrap()).unwrap().bidding(); - let bidding = bidding.bid("4♥".parse().unwrap()).unwrap().bidding(); - html! { <> <p>{ "Bidding table" }</p> - <BiddingTable { bidding } /> + <BiddingTable bidding={ (*bidding_state).clone().bidding().clone() } /> <p>{ "Bidding box" }</p> - <BiddingBox current_bid={Some("1H".parse::<Raise>().unwrap())} /> + <BiddingBox current_bid={ (*bidding_state).clone().bidding().highest_bid() } /> <p>{ "North" }</p> <Hand ..(*north).clone() /> <p>{ "West" }</p> |