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;
}
}
&_status {
&.is_error {
color: red;
}
}
}
+30 -8
View File
@@ -666,15 +666,37 @@ pub fn LoginView(config: Resource<ClientConfig>) -> Element {
}
}
div {
div {
span {}
span {""}
span {}
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"
}
div {
span {"1/100 Online"}
span {""}
span {"Version: 1.4.255"}
}),
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}