Files
rezervovator/src/components/server_err.rs
T

46 lines
1.3 KiB
Rust
Raw Normal View History

use crate::components::modal_box::DialogOpener;
use leptos::*;
2023-09-22 21:26:13 +02:00
use crate::backend::data::ApiResponse;
use crate::locales::trl;
#[component]
pub fn ServerErr(
2023-09-22 21:26:13 +02:00
result: RwSignal<Option<Result<ApiResponse<()>, ServerFnError>>>,
opener: DialogOpener,
) -> impl IntoView {
2023-09-15 13:55:01 +02:00
view! {{move || {
if let Some(val) = result.get() {
match val {
Ok(resp) => if let ApiResponse::Error(err) = resp {
opener.display_err();
view! {
<div class="alert alert-danger" style={move || {
if opener.show_err() {
""
} else {
"display: none"
}
}}>
{trl(&err)}
</div>
}
}
else {
opener.hide();
view! {<div></div>}
}
Err(e) => {
view! {
<div class="alert alert-danger">
"Server error: " {e.to_string()}
</div>
}
}
}
} else {
2023-09-15 13:55:01 +02:00
view! {<div></div>}
}
}}
}
}