diff --git a/gui/assets/main.scss b/gui/assets/main.scss index 4bbe79d..6682bb7 100644 --- a/gui/assets/main.scss +++ b/gui/assets/main.scss @@ -296,4 +296,10 @@ a:visited { color: black; } } + + &_status { + &.is_error { + color: red; + } + } } \ No newline at end of file diff --git a/gui/src/app.rs b/gui/src/app.rs index dabdf3b..f6f2f34 100644 --- a/gui/src/app.rs +++ b/gui/src/app.rs @@ -666,15 +666,37 @@ pub fn LoginView(config: Resource) -> Element { } } div { - div { - span {} - span {"—"} - span {} - } - div { - span {"1/100 Online"} - span {"—"} - span {"Version: 1.4.255"} + match &*last_status.read() { + None => rsx!(div { + class: "login_status", + span {"···"} + }), + Some(Ok(ServerStatus { success: false, .. })) => rsx!(div { + class: "login_status is_error", + span { + "Could not reach server" + } + }), + Some(Ok(status)) => rsx!(div { + class: "login_status", + if let (Some(users), Some(max_users)) = (status.users, status.max_users) { + span {"{users}/{max_users} Online"} + } else { + span {"Unknown Online"} + } + span {"-"} + if let Some((maj, min, pat)) = status.version { + span {"Version: {maj}.{min}.{pat}"} + } else { + span {"Unknown Version"} + } + }), + Some(Err(_)) => rsx!(div { + class: "login_status is_error", + span { + "Could not reach proxy server" + } + }), } div { {bottom}