From e58fca9fa6badd535265949f8046474f2e532b55 Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Mon, 21 Aug 2023 15:05:21 -0700 Subject: [PATCH 1/3] Add close button to result component --- dyesub-tool/index.html | 1 + dyesub-tool/src/main.rs | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/dyesub-tool/index.html b/dyesub-tool/index.html index c84ca76..a8e7770 100644 --- a/dyesub-tool/index.html +++ b/dyesub-tool/index.html @@ -5,6 +5,7 @@ dyesub-tool +
diff --git a/dyesub-tool/src/main.rs b/dyesub-tool/src/main.rs index e756c60..f4fd3b1 100644 --- a/dyesub-tool/src/main.rs +++ b/dyesub-tool/src/main.rs @@ -35,12 +35,22 @@ enum Colorway { #[component] fn ResultMessage(cx: Scope, message: ReadSignal>) -> impl IntoView { - move || message().map(|ResultMessageData { title, message, colorway }| view! { cx, -
>::into(colorway)]> -

{title}

-

{message}

-
- }) + let (open, set_open) = create_signal(cx, true); + create_effect(cx, move |_| { + message.track(); + set_open(true); + }); + move || view! { cx, + + {move || message().map(|ResultMessageData { title, message, colorway }| view! { cx, +
>::into(colorway)] style="position: relative"> + {title} + +

{message}

+
+ })} +
+ } } #[derive(From, IntoStaticStr)] From 127639355fc4e3e601f42d2b23714f673cf6b557 Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Mon, 21 Aug 2023 15:11:08 -0700 Subject: [PATCH 2/3] Remove load button --- dyesub-tool/src/main.rs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/dyesub-tool/src/main.rs b/dyesub-tool/src/main.rs index f4fd3b1..54a9c5d 100644 --- a/dyesub-tool/src/main.rs +++ b/dyesub-tool/src/main.rs @@ -104,8 +104,7 @@ fn KeyboardFromFile( let file_input = create_node_ref::(cx); let (file, set_file) = create_signal(cx, Option::::None); let (result_message, set_result_message) = create_signal(cx, Option::::None); - let on_submit = move |e: SubmitEvent| { - e.prevent_default(); + let on_submit = move || { spawn_local(async move { match read_kle_from_file(&file).await { Ok(keyboard) => { @@ -119,34 +118,35 @@ fn KeyboardFromFile( })); set_keyboard(Some(keyboard)); } - Err(err) => set_result_message(Some(ResultMessageData { - message: view! { cx, - { - err.to_string() + Err(err) => { + set_result_message(Some(ResultMessageData { + message: view! { cx, + { + err.to_string() + } } - } - .into_view(cx), - title: >::into(err).to_string(), - colorway: Colorway::Bad, - })), + .into_view(cx), + title: >::into(err).to_string(), + colorway: Colorway::Bad, + })); + file_input().unwrap().set_value(""); + }, } }); }; view! { cx,

"Load KLE JSON from file"

-
+ - - -
} } From ff53f33d565655b2427bac693ea0727b591fc4fb Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Mon, 21 Aug 2023 15:12:36 -0700 Subject: [PATCH 3/3] cargo fmt --- dyesub-tool/src/main.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/dyesub-tool/src/main.rs b/dyesub-tool/src/main.rs index 54a9c5d..fe7e7f1 100644 --- a/dyesub-tool/src/main.rs +++ b/dyesub-tool/src/main.rs @@ -3,12 +3,12 @@ mod render; pub mod svg; +use class_list::class_list; use derive_more::From; use leptos::{ev::SubmitEvent, html::Input, *}; use strum_macros::IntoStaticStr; use wasm_bindgen::{JsCast, JsValue}; use web_sys::File; -use class_list::class_list; #[derive(Clone)] struct ResultMessageData { @@ -40,16 +40,18 @@ fn ResultMessage(cx: Scope, message: ReadSignal>) -> i message.track(); set_open(true); }); - move || view! { cx, - - {move || message().map(|ResultMessageData { title, message, colorway }| view! { cx, -
>::into(colorway)] style="position: relative"> - {title} - -

{message}

-
- })} -
+ move || { + view! { cx, + + {move || message().map(|ResultMessageData { title, message, colorway }| view! { cx, +
>::into(colorway)] style="position: relative"> + {title} + +

{message}

+
+ })} +
+ } } } @@ -130,7 +132,7 @@ fn KeyboardFromFile( colorway: Colorway::Bad, })); file_input().unwrap().set_value(""); - }, + } } }); };