diff --git a/clients/web/assets/style.css b/clients/web/assets/style.css
index d00a72a..49e9e3c 100644
--- a/clients/web/assets/style.css
+++ b/clients/web/assets/style.css
@@ -52,6 +52,8 @@ body {
width: 1.2em;
height: 1.2em;
color: var(--ui-parchment);
+ vertical-align: -0.25em;
+ margin-right: 0.7em;
}
/* ── Site navigation ─────────────────────────────────────────────── */
diff --git a/clients/web/src/portal/lobby.rs b/clients/web/src/portal/lobby.rs
index 9902039..ac91a43 100644
--- a/clients/web/src/portal/lobby.rs
+++ b/clients/web/src/portal/lobby.rs
@@ -21,12 +21,12 @@ fn generate_nickname() -> String {
use rand::Rng;
let mut rng = rand::rng();
const ADJ: &[&str] = &[
- "swift", "brave", "noble", "fierce", "clever", "bold", "cunning",
- "agile", "sharp", "golden", "iron", "silver", "quick", "daring", "wild",
+ "swift", "brave", "noble", "fierce", "clever", "bold", "cunning", "agile", "sharp",
+ "golden", "iron", "silver", "quick", "daring", "wild",
];
const NOUN: &[&str] = &[
- "fox", "hawk", "wolf", "lion", "bear", "rook", "knight",
- "duke", "earl", "lance", "blade", "crown", "dame", "ace", "star",
+ "fox", "hawk", "wolf", "lion", "bear", "rook", "knight", "duke", "earl", "lance", "blade",
+ "crown", "dame", "ace", "star",
];
let adj = ADJ[rng.random_range(0..ADJ.len())];
let noun = NOUN[rng.random_range(0..NOUN.len())];
@@ -124,7 +124,9 @@ pub fn LobbyPage() -> impl IntoView {
};
join_processed.set_value(true);
if auth_username.get_untracked().is_some() {
- cmd_tx_q.unbounded_send(NetCommand::JoinRoom { room: code }).ok();
+ cmd_tx_q
+ .unbounded_send(NetCommand::JoinRoom { room: code })
+ .ok();
} else {
pending_action.set(Some(PendingLobbyAction::Join { code }));
}
@@ -203,7 +205,9 @@ fn IdleCard(
let on_create = move |_: leptos::ev::MouseEvent| {
let code = generate_room_code();
if auth_username.get_untracked().is_some() {
- cmd_create.unbounded_send(NetCommand::CreateRoom { room: code.clone() }).ok();
+ cmd_create
+ .unbounded_send(NetCommand::CreateRoom { room: code.clone() })
+ .ok();
view_state.set(LobbyView::Waiting { code });
} else {
pending_action.set(Some(PendingLobbyAction::Create { code }));
@@ -216,9 +220,15 @@ fn IdleCard(
class="login-btn login-btn-bot"
on:click=move |_| { cmd_bot.unbounded_send(NetCommand::PlayVsBot).ok(); }
>
+
{t!(i18n, play_vs_bot)}
@@ -283,15 +293,23 @@ fn NicknameModal(
let on_play = move |_: leptos::ev::MouseEvent| {
let chosen = nick.get().trim().to_string();
- let chosen = if chosen.is_empty() { generate_nickname() } else { chosen };
+ let chosen = if chosen.is_empty() {
+ generate_nickname()
+ } else {
+ chosen
+ };
anon_nickname.set(Some(chosen));
match &pending {
PendingLobbyAction::Create { code } => {
- cmd_tx.unbounded_send(NetCommand::CreateRoom { room: code.clone() }).ok();
+ cmd_tx
+ .unbounded_send(NetCommand::CreateRoom { room: code.clone() })
+ .ok();
view_state.set(LobbyView::Waiting { code: code.clone() });
}
PendingLobbyAction::Join { code } => {
- cmd_tx.unbounded_send(NetCommand::JoinRoom { room: code.clone() }).ok();
+ cmd_tx
+ .unbounded_send(NetCommand::JoinRoom { room: code.clone() })
+ .ok();
}
}
pending_action.set(None);