diff --git a/src/components/board.rs b/src/components/board.rs index 07f16e9..256887a 100644 --- a/src/components/board.rs +++ b/src/components/board.rs @@ -1,6 +1,7 @@ use yew::prelude::*; use crate::components::{EmptyRow, CurrentRow, AttemptRow}; use crate::consts::{Attempts, MAX_ATTEMPTS}; +use std::cmp::Ordering; #[derive(Properties, PartialEq)] pub struct BoardProps { @@ -23,12 +24,10 @@ pub fn Board(props: &BoardProps) -> Html {
{ for (0..MAX_ATTEMPTS).map(|i| { - if i < *attempt_index { - html! { } - } else if i == *attempt_index { - html! { } - } else { - html! { } + match i.cmp(attempt_index) { + Ordering::Less => html! { }, + Ordering::Equal => html! { }, + Ordering::Greater => html! { } } }) } diff --git a/src/components/result_board.rs b/src/components/result_board.rs index d9e971e..d5de789 100644 --- a/src/components/result_board.rs +++ b/src/components/result_board.rs @@ -1,4 +1,4 @@ -use crate::consts::{GameResult, MAX_ATTEMPTS}; +use crate::consts::MAX_ATTEMPTS; use yew::prelude::*; use crate::consts::{Attempts, Status}; diff --git a/src/consts.rs b/src/consts.rs index b789a94..0278a6c 100644 --- a/src/consts.rs +++ b/src/consts.rs @@ -1,7 +1,4 @@ -use yew::html::IntoPropValue; - pub const MAX_ATTEMPTS: usize = 6; -pub const WORD_LEN: usize = 5; #[derive(Clone, PartialEq)] pub enum KeyboardKeyType { diff --git a/src/hooks/use_board.rs b/src/hooks/use_board.rs index 322535c..bfff28b 100644 --- a/src/hooks/use_board.rs +++ b/src/hooks/use_board.rs @@ -99,23 +99,13 @@ impl UseBoardHandle { #[hook] pub fn use_board() -> UseBoardHandle { - let current_attempt = use_state(|| "".to_string()); - let attempts: UseStateHandle = use_state(|| Attempts::new()); + let current_attempt = use_state(String::new); + let attempts: UseStateHandle = use_state(Attempts::new); let attempt_index = use_mut_ref(|| 0usize); let answer = use_memo(|_| get_word_of_the_day(), None::<()>); let virtual_keyboard = use_state(|| new_empty_virtual_keyboard().into()); let result = use_state(|| None::); - let send_key = { - let current_attempt = current_attempt.clone(); - let current_attempt_len = current_attempt.chars().count(); - let attempts = attempts.clone(); - let answer = (*answer).clone(); - let attempt_index = attempt_index.clone(); - let result = result.clone(); - - move |k: Key| {} - }; UseBoardHandle { current_attempt, attempts, diff --git a/src/main.rs b/src/main.rs index 0ed597c..ddd237f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,13 +1,12 @@ use yew::prelude::*; -use crate::components::{AttemptRow, Board}; -use crate::components::CurrentRow; -use crate::components::EmptyRow; +use crate::components::Board; use crate::components::Keyboard; use crate::components::ResultBoard; -use crate::consts::{Key, MAX_ATTEMPTS}; +use crate::consts::{Key}; use crate::hooks::use_board; +#[cfg(debug_assertions)] use gloo::console; mod components; @@ -26,6 +25,7 @@ fn App() -> Html { Callback::from(move |event: KeyboardEvent| { let key_code = event.key_code(); board.send_key(Key::from(key_code)); + #[cfg(debug_assertions)] console::log!(&event); }) }; @@ -52,9 +52,9 @@ fn App() -> Html { />
{ - match (*board.result).clone() { - Some(res) => html! { }, - _ => html! { html! { }, + None => html! { } } diff --git a/src/services/words.rs b/src/services/words.rs index aa28219..e11c986 100644 --- a/src/services/words.rs +++ b/src/services/words.rs @@ -3,15 +3,12 @@ use lazy_static::lazy_static; lazy_static! { pub static ref WORDS: Vec = include_str!("../../words.txt") + .trim() .lines() - .map(|w| w.to_string()) + .map(|w| w.trim().into()) .collect(); } -pub fn get_all_words() -> &'static WORDS { - &WORDS -} - pub fn get_word_of_the_day() -> String { let date = chrono::Utc::now(); let year = date.year() as usize;