summaryrefslogtreecommitdiff
path: root/webapp/src/main.rs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-09-06 21:19:32 -0400
committerKjetil Orbekk <kj@orbekk.com>2022-09-06 21:19:32 -0400
commit92c68e821ee381ee2aa52bdfcbaebdccc76f0870 (patch)
tree80815947cc557cef07edf695b54370391ec51368 /webapp/src/main.rs
parentc19d8d2d475d12b45b85e44682f39aaa70923d74 (diff)
Set up initial shared (empty) bidding state
Diffstat (limited to 'webapp/src/main.rs')
-rw-r--r--webapp/src/main.rs16
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>