summaryrefslogtreecommitdiff
path: root/webapp/src/main.rs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-09-05 15:48:02 -0400
committerKjetil Orbekk <kj@orbekk.com>2022-09-05 15:50:04 -0400
commit699a54e42fd1dc90f1b73b00aca5f1e52284037b (patch)
tree224682021a4530a0b1bc121a18d6b554767e64b5 /webapp/src/main.rs
parente49f9799fbce40a3266a04e36670a04990aea7a1 (diff)
Sort hands when displaying cards
Diffstat (limited to 'webapp/src/main.rs')
-rw-r--r--webapp/src/main.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/webapp/src/main.rs b/webapp/src/main.rs
index 61e007c..b8ac4bb 100644
--- a/webapp/src/main.rs
+++ b/webapp/src/main.rs
@@ -11,6 +11,8 @@ extern crate wee_alloc;
#[global_allocator]
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
+pub const SUIT_DISPLAY_ORDER: [Suit; 4] = [Suit::Diamond, Suit::Club, Suit::Heart, Suit::Spade];
+
fn main() {
std::panic::set_hook(Box::new(console_error_panic_hook::hook));
wasm_logger::init(wasm_logger::Config::default());
@@ -20,7 +22,8 @@ fn main() {
#[function_component(App)]
pub fn app() -> Html {
let mut rng = rand::thread_rng();
- let deal = card::deal(&mut rng);
+ let mut deal = card::deal(&mut rng);
+ deal.sort(&SUIT_DISPLAY_ORDER, card::RankOrder::Descending);
let north = use_state(|| HandProps::from_iter(deal.north.into_iter()));
let west = use_state(|| HandProps::from_iter(deal.west.into_iter()));
@@ -35,7 +38,8 @@ pub fn app() -> Html {
Callback::from(move |_| {
let mut rng = rand::thread_rng();
- let deal = card::deal(&mut rng);
+ let mut deal = card::deal(&mut rng);
+ deal.sort(&SUIT_DISPLAY_ORDER, card::RankOrder::Descending);
north.set(deal.north.into_iter().collect());
west.set(deal.west.into_iter().collect());
south.set(deal.south.into_iter().collect());
@@ -145,8 +149,7 @@ pub fn bidding_box(props: &BiddingBoxProps) -> Html {
} else {
classes!("enabled")
};
- class.extend(
- classes!(bid_css_class(bid.suit)));
+ class.extend(classes!(bid_css_class(bid.suit)));
html! {
<div class={class}>
{ bid.level }