|
|
|
@ -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<Option<ResultMessageData>>) -> i
|
|
|
|
|
message.track();
|
|
|
|
|
set_open(true);
|
|
|
|
|
});
|
|
|
|
|
move || view! { cx,
|
|
|
|
|
<Show when=move || open() fallback=|_| ()>
|
|
|
|
|
{move || message().map(|ResultMessageData { title, message, colorway }| view! { cx,
|
|
|
|
|
<div class=class_list!["box", <Colorway as Into<&str>>::into(colorway)] style="position: relative">
|
|
|
|
|
<strong class="block titlebar">{title}</strong>
|
|
|
|
|
<button class="iconbutton" on:click=move |_| set_open(false) style="position: absolute; bottom: 0.5em; right: 0.5em">"×"</button>
|
|
|
|
|
<p>{message}</p>
|
|
|
|
|
</div>
|
|
|
|
|
})}
|
|
|
|
|
</Show>
|
|
|
|
|
move || {
|
|
|
|
|
view! { cx,
|
|
|
|
|
<Show when=move || open() fallback=|_| ()>
|
|
|
|
|
{move || message().map(|ResultMessageData { title, message, colorway }| view! { cx,
|
|
|
|
|
<div class=class_list!["box", <Colorway as Into<&str>>::into(colorway)] style="position: relative">
|
|
|
|
|
<strong class="block titlebar">{title}</strong>
|
|
|
|
|
<button class="iconbutton" on:click=move |_| set_open(false) style="position: absolute; bottom: 0.5em; right: 0.5em">"×"</button>
|
|
|
|
|
<p>{message}</p>
|
|
|
|
|
</div>
|
|
|
|
|
})}
|
|
|
|
|
</Show>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -130,7 +132,7 @@ fn KeyboardFromFile(
|
|
|
|
|
colorway: Colorway::Bad,
|
|
|
|
|
}));
|
|
|
|
|
file_input().unwrap().set_value("");
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|