make status display live

This commit is contained in:
2025-11-27 17:31:55 -07:00
parent 1e28442356
commit e8d41f7e92
2 changed files with 37 additions and 9 deletions
+6
View File
@@ -296,4 +296,10 @@ a:visited {
color: black; color: black;
} }
} }
&_status {
&.is_error {
color: red;
}
}
} }
+31 -9
View File
@@ -666,15 +666,37 @@ pub fn LoginView(config: Resource<ClientConfig>) -> Element {
} }
} }
div { div {
div { match &*last_status.read() {
span {} None => rsx!(div {
span {""} class: "login_status",
span {} span {"···"}
} }),
div { Some(Ok(ServerStatus { success: false, .. })) => rsx!(div {
span {"1/100 Online"} class: "login_status is_error",
span {""} span {
span {"Version: 1.4.255"} "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 { div {
{bottom} {bottom}