diff --git a/front_end/src/state.rs b/front_end/src/state.rs index 6bb693b..8b8e2cc 100644 --- a/front_end/src/state.rs +++ b/front_end/src/state.rs @@ -1,3 +1,4 @@ +use crate::yew_components::MainMenuMessage; use std::cell::Cell; use std::fmt::Display; use std::rc::Rc; @@ -17,6 +18,16 @@ impl Default for GameState { } } +impl From for GameState { + fn from(msg: MainMenuMessage) -> Self { + match msg { + MainMenuMessage::SinglePlayer => GameState::SinglePlayer, + MainMenuMessage::LocalMultiplayer => GameState::LocalMultiplayer, + MainMenuMessage::NetworkedMultiplayer => GameState::NetworkedMultiplayer, + } + } +} + #[derive(Copy, Clone, Debug, PartialEq, Eq)] pub enum BoardState { Empty, diff --git a/front_end/src/yew_components.rs b/front_end/src/yew_components.rs index 8f92889..56f6e84 100644 --- a/front_end/src/yew_components.rs +++ b/front_end/src/yew_components.rs @@ -12,17 +12,6 @@ pub enum MainMenuMessage { NetworkedMultiplayer, } -#[allow(clippy::from_over_into)] -impl Into for MainMenuMessage { - fn into(self) -> GameState { - match self { - MainMenuMessage::SinglePlayer => GameState::SinglePlayer, - MainMenuMessage::LocalMultiplayer => GameState::LocalMultiplayer, - MainMenuMessage::NetworkedMultiplayer => GameState::NetworkedMultiplayer, - } - } -} - impl Component for MainMenu { type Message = MainMenuMessage; type Properties = ();