From c69891605e13d3bcbbe3fdc680a61dce33455f2a Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Sun, 26 Apr 2026 16:00:27 +0200 Subject: [PATCH] fix: remove language switcher from game panel --- clients/web/src/app.rs | 42 ++++++++++++------- .../web/src/game/components/game_screen.rs | 25 +++++------ clients/web/src/portal/lobby.rs | 2 +- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/clients/web/src/app.rs b/clients/web/src/app.rs index b9ce4aa..7f17a51 100644 --- a/clients/web/src/app.rs +++ b/clients/web/src/app.rs @@ -12,17 +12,17 @@ use backbone_lib::session::{ConnectError, GameSession, RoomConfig, RoomRole, Ses use backbone_lib::traits::ViewStateUpdate; use crate::api; -use crate::i18n::*; use crate::game::components::{ConnectingScreen, GameScreen}; use crate::game::session::{ compute_last_moves, patch_player_name, push_or_show, run_local_bot_game, }; use crate::game::trictrac::backend::TrictracBackend; -use crate::game::trictrac::types::{ - GameDelta, PlayerAction, ScoredEvent, SerStage, ViewState, -}; +use crate::game::trictrac::types::{GameDelta, PlayerAction, ScoredEvent, SerStage, ViewState}; +use crate::i18n::*; use crate::nav::SiteNav; -use crate::portal::{account::AccountPage, game_detail::GameDetailPage, lobby::LobbyPage, profile::ProfilePage}; +use crate::portal::{ + account::AccountPage, game_detail::GameDetailPage, lobby::LobbyPage, profile::ProfilePage, +}; use trictrac_store::CheckerMove; use std::collections::VecDeque; @@ -65,8 +65,12 @@ pub enum Screen { /// Commands sent from UI event handlers into the network task. pub enum NetCommand { - CreateRoom { room: String }, - JoinRoom { room: String }, + CreateRoom { + room: String, + }, + JoinRoom { + room: String, + }, Reconnect { relay_url: String, game_id: String, @@ -227,10 +231,12 @@ pub fn App() -> impl IntoView { }; if remote_config.is_none() { - let player_name = auth_username.get_untracked() - .unwrap_or_else(|| t_string!(i18n, anonymous_name).to_string()); + let player_name = auth_username + .get_untracked() + .unwrap_or_else(|| untrack(|| t_string!(i18n, anonymous_name).to_string())); loop { - let restart = run_local_bot_game(screen, &mut cmd_rx, pending, player_name.clone()).await; + let restart = + run_local_bot_game(screen, &mut cmd_rx, pending, player_name.clone()).await; if !restart { break; } @@ -270,7 +276,8 @@ pub fn App() -> impl IntoView { let is_host = session.is_host; let player_id = session.player_id; let reconnect_token = session.reconnect_token; - let my_name = auth_username.get_untracked() + let my_name = auth_username + .get_untracked() .unwrap_or_else(|| t_string!(i18n, anonymous_name).to_string()); let mut vs = ViewState::default_with_names("", ""); let mut result_submitted = false; @@ -378,23 +385,26 @@ fn GameOverlay( move || { if location.pathname.get() != "/" { - return view! { }.into_any(); + return view! {}.into_any(); } let q = pending.get(); let front = q.front().cloned(); if let Some(state) = front { return view! {
- }.into_any(); + } + .into_any(); } match screen.get() { Screen::Playing(state) => view! {
- }.into_any(), + } + .into_any(), Screen::Connecting => view! {
- }.into_any(), - _ => view! { }.into_any(), + } + .into_any(), + _ => view! {}.into_any(), } } } diff --git a/clients/web/src/game/components/game_screen.rs b/clients/web/src/game/components/game_screen.rs index 7c811d3..56cd39b 100644 --- a/clients/web/src/game/components/game_screen.rs +++ b/clients/web/src/game/components/game_screen.rs @@ -7,9 +7,9 @@ use trictrac_store::{Board as StoreBoard, CheckerMove, Color, Dice as StoreDice, use super::die::Die; use crate::app::{GameUiState, NetCommand, PauseReason}; +use crate::game::trictrac::types::{PlayerAction, PreGameRollState, SerStage, SerTurnStage}; use crate::i18n::*; use crate::portal::lobby::{qr_svg, room_url}; -use crate::game::trictrac::types::{PlayerAction, PreGameRollState, SerStage, SerTurnStage}; use super::board::Board; use super::score_panel::PlayerScorePanel; @@ -225,8 +225,16 @@ pub fn GameScreen(state: GameUiState) -> impl IntoView { let opp_holes_end = opp_score.holes; let share_open = RwSignal::new(false); - let share_url = if !is_bot_game { room_url(&room_id) } else { String::new() }; - let share_svg = if !is_bot_game { qr_svg(&share_url) } else { String::new() }; + let share_url = if !is_bot_game { + room_url(&room_id) + } else { + String::new() + }; + let share_svg = if !is_bot_game { + qr_svg(&share_url) + } else { + String::new() + }; view! {
@@ -249,17 +257,6 @@ pub fn GameScreen(state: GameUiState) -> impl IntoView { })} -
- - -
- {move || auth_username.get().map(|u| view! { "▶ " {u} })} diff --git a/clients/web/src/portal/lobby.rs b/clients/web/src/portal/lobby.rs index 6b2af0b..7a1d71e 100644 --- a/clients/web/src/portal/lobby.rs +++ b/clients/web/src/portal/lobby.rs @@ -181,7 +181,7 @@ fn IdleCard(