fix serialization

This commit is contained in:
Evan Almloff committed 2022-12-19 11:48:28 -06:00
1 parent fbc89a7088
commit 96ce704f8e
5 files changed
+50 -7

No files matched your search

+6 -2
View File
@@ -20,6 +20,8 @@ pub(crate) fn init() -> UnboundedReceiver<Template<'static>> {
pub(crate) fn init() -> UnboundedReceiver<Template<'static>> {
use std::convert::TryInto;
use web_sys::console;
let window = web_sys::window().unwrap();
let protocol = if window.location().protocol().unwrap() == "https:" {
@@ -42,8 +44,10 @@ pub(crate) fn init() -> UnboundedReceiver<Template<'static>> {
if let Ok(text) = e.data().dyn_into::<js_sys::JsString>() {
let text: Result<String, _> = text.try_into();
if let Ok(string) = text {
if let Ok(template) = serde_json::from_str(Box::leak(string.into_boxed_str())) {
_ = tx.unbounded_send(template);
console::log_1(&string.clone().into());
match serde_json::from_str(Box::leak(string.into_boxed_str())) {
Ok(template) => _ = tx.unbounded_send(template),
Err(e) => console::log_1(&e.to_string().into()),
}
}
}
+2
View File
@@ -58,6 +58,7 @@ use crate::dom::virtual_event_from_websys_event;
pub use crate::util::{use_eval, EvalResult};
use dioxus_core::{Element, ElementId, Scope, VirtualDom};
use futures_util::{pin_mut, FutureExt, StreamExt};
use web_sys::console;
mod cache;
mod cfg;
@@ -209,6 +210,7 @@ pub async fn run_with_props<T: 'static>(root: fn(Scope<T>) -> Element, root_prop
futures_util::select! {
_ = work => (None, None),
new_template = hotreload_rx.next() => {
console::log_1(&"hot reload".into());
(None, new_template)
}
evt = rx.next() => (evt, None)