diff --git a/web/src/pages/lobby.rs b/web/src/pages/lobby.rs index 73bf33f..a4eb333 100644 --- a/web/src/pages/lobby.rs +++ b/web/src/pages/lobby.rs @@ -671,13 +671,21 @@ pub fn LobbyPage() -> View { div(class="mb-3") { (players_note) } } })) - Keyed( - list=fields, - view=move |f| view! { - OptionInput(field=f.clone(), options=options) - }, - key=|f| f.key.clone(), - ) + // Recreate the option inputs on every + // game switch: keyed rendering kept + // the previous game's field (value, + // min/max) for shared keys such as + // target_score. + (move || { + let _game = selected_game.get_clone(); + fields + .get_clone() + .into_iter() + .map(|f| view! { + OptionInput(field=f, options=options) + }) + .collect::>() + }) button( class="btn btn-warning btn-lg w-100 mt-auto", on:click=on_create,