diff --git a/src/app/header.rs b/src/app/header.rs index 206f36a..37ec2b5 100644 --- a/src/app/header.rs +++ b/src/app/header.rs @@ -172,6 +172,7 @@ fn LoadButton(input_ref: NodeRef) -> impl IntoView { filename: filename.clone(), loaded: ev.loaded(), total: ev.total(), + opened: None, })); } }, diff --git a/src/app/output/status.rs b/src/app/output/status.rs index 118e868..f3a6e29 100644 --- a/src/app/output/status.rs +++ b/src/app/output/status.rs @@ -82,16 +82,34 @@ pub fn Status() -> impl IntoView { let import_progress = move || { if let Some(progress) = &*state.import_progress().read() { let filename = format!("Filename: {}", progress.filename); - let status = format!("Loading: {} of {} bytes.", progress.loaded, progress.total); + let loading = format!("Loading: {} of {} bytes.", progress.loaded, progress.total); + + let status = if progress.loaded == progress.total { + view! {
"Loading completed"
}.into_any() + } else { + ().into_any() + }; + + let process = if progress.loaded == progress.total { + match &progress.opened { + Some(success) => { + if *success { + view! {"Process success"
}.into_any() + } else { + view! {"Process failed"
}.into_any() + } + } + None => view! {"Processing..."
}.into_any(), + } + } else { + ().into_any() + }; view! {{filename}
-{status}
- {if progress.loaded == progress.total { - view! {"Loading completed"
}.into_any() - } else { - ().into_any() - }} +{loading}
+ {status} + {process} } .into_any() } else { diff --git a/src/app/state.rs b/src/app/state.rs index f8c6cde..6f08007 100644 --- a/src/app/state.rs +++ b/src/app/state.rs @@ -107,6 +107,7 @@ pub struct ImportProgress { pub filename: String, pub loaded: f64, pub total: f64, + pub opened: Option