Compare commits

...

2 Commits

Author SHA1 Message Date
2f8d83fc4b Bumping version to 0.0.21 2024-09-16 19:52:28 -07:00
86ee1257fa web: better progress bar 2024-09-16 19:52:20 -07:00
7 changed files with 36 additions and 12 deletions

10
Cargo.lock generated
View File

@ -2111,7 +2111,7 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "letterbox"
version = "0.0.20"
version = "0.0.21"
dependencies = [
"build-info",
"build-info-build",
@ -2516,7 +2516,7 @@ dependencies = [
[[package]]
name = "notmuch"
version = "0.0.20"
version = "0.0.21"
dependencies = [
"itertools 0.10.5",
"log",
@ -3121,7 +3121,7 @@ dependencies = [
[[package]]
name = "procmail2notmuch"
version = "0.0.20"
version = "0.0.21"
dependencies = [
"anyhow",
]
@ -3908,7 +3908,7 @@ dependencies = [
[[package]]
name = "server"
version = "0.0.20"
version = "0.0.21"
dependencies = [
"ammonia",
"anyhow",
@ -3994,7 +3994,7 @@ dependencies = [
[[package]]
name = "shared"
version = "0.0.20"
version = "0.0.21"
dependencies = [
"build-info",
"notmuch",

View File

@ -1,6 +1,6 @@
[package]
name = "notmuch"
version = "0.0.20"
version = "0.0.21"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package]
name = "procmail2notmuch"
version = "0.0.20"
version = "0.0.21"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package]
name = "server"
version = "0.0.20"
version = "0.0.21"
edition = "2021"
default-run = "server"

View File

@ -1,6 +1,6 @@
[package]
name = "shared"
version = "0.0.20"
version = "0.0.21"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,5 +1,5 @@
[package]
version = "0.0.20"
version = "0.0.21"
name = "letterbox"
repository = "https://github.com/seed-rs/seed-quickstart"
authors = ["Bill Thiede <git@xinu.tv>"]

View File

@ -332,6 +332,8 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
selected_threads,
};
orders.send_msg(Msg::UpdateServerVersion(data.version));
// Generate signal so progress bar is reset
orders.send_msg(Msg::WindowScrolled);
}
Msg::ShowThreadRequest { thread_id } => {
@ -382,6 +384,8 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
}
}
orders.send_msg(Msg::UpdateServerVersion(data.version));
// Generate signal so progress bar is reset
orders.send_msg(Msg::WindowScrolled);
}
Msg::ShowThreadResult(bad) => {
error!("show_thread_query error: {bad:#?}");
@ -511,9 +515,29 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
.value_of();
let r = el.get_bounding_client_rect();
let end = r.height() - ih;
if r.height() < ih {
// The whole content fits in the window, no scrollbar
orders.send_msg(Msg::SetProgress(0.));
return;
}
let end: f64 = r.height() - ih;
if end < 0. {
orders.send_msg(Msg::SetProgress(0.));
return;
}
// Flip Y, normally it's 0-point when the top of the content hits the top of the
// screen and goes negative from there.
let y = -r.y();
orders.send_msg(Msg::SetProgress((y / end).max(0.)));
let ratio: f64 = (y / end).max(0.);
debug!(
"WindowScrolled ih {ih} end {end} ratio {ratio:.02} {}x{} @ {},{}",
r.width(),
r.height(),
r.x(),
r.y()
);
orders.send_msg(Msg::SetProgress(ratio));
} else {
orders.send_msg(Msg::SetProgress(0.));
}