Compare commits

...

21 Commits

Author SHA1 Message Date
764385e228 chore(deps): lock file maintenance
Some checks failed
Continuous integration / Check (push) Successful in 1m30s
Continuous integration / Test Suite (push) Successful in 2m24s
Continuous integration / Rustfmt (push) Failing after 49s
Continuous integration / build (push) Successful in 2m28s
Continuous integration / Disallow unused dependencies (push) Successful in 2m41s
Continuous integration / Trunk (push) Successful in 21m39s
2026-02-07 10:02:42 +00:00
8718884caa Merge pull request 'fix(deps): update rust crate css-inline to 0.20.0' (#254) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 2m15s
Continuous integration / Trunk (push) Successful in 1m6s
Continuous integration / Rustfmt (push) Failing after 46s
Continuous integration / Test Suite (push) Successful in 3m18s
Continuous integration / build (push) Successful in 3m7s
Continuous integration / Disallow unused dependencies (push) Successful in 5m41s
2026-02-07 01:46:30 -08:00
0aebd0951f fix(deps): update rust crate css-inline to 0.20.0
Some checks failed
Continuous integration / Check (push) Successful in 1m30s
Continuous integration / Test Suite (push) Successful in 3m49s
Continuous integration / Rustfmt (push) Failing after 1m36s
Continuous integration / Trunk (push) Successful in 7m36s
Continuous integration / build (push) Successful in 3m36s
Continuous integration / Disallow unused dependencies (push) Successful in 2m31s
2026-02-07 09:46:24 +00:00
244254f5c5 Merge pull request 'chore(deps): update rust crate reqwest to v0.13.2' (#253) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m54s
Continuous integration / Trunk (push) Successful in 2m10s
Continuous integration / Test Suite (push) Successful in 3m19s
Continuous integration / Rustfmt (push) Failing after 1m35s
Continuous integration / Disallow unused dependencies (push) Failing after 28s
Continuous integration / build (push) Successful in 2m56s
2026-02-06 12:01:41 -08:00
c831824955 chore(deps): update rust crate reqwest to v0.13.2
Some checks failed
Continuous integration / Check (push) Successful in 1m28s
Continuous integration / Test Suite (push) Successful in 3m2s
Continuous integration / Rustfmt (push) Failing after 1m4s
Continuous integration / Trunk (push) Successful in 2m13s
Continuous integration / build (push) Successful in 3m56s
Continuous integration / Disallow unused dependencies (push) Successful in 5m44s
2026-02-06 20:01:38 +00:00
1163769e9c Merge pull request 'chore(deps): update rust crate zip to v7.4.0' (#252) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m31s
Continuous integration / Test Suite (push) Successful in 2m36s
Continuous integration / Rustfmt (push) Failing after 1m16s
Continuous integration / build (push) Successful in 3m22s
Continuous integration / Disallow unused dependencies (push) Successful in 2m47s
Continuous integration / Trunk (push) Successful in 21m27s
2026-02-05 20:46:30 -08:00
484b1c6cc3 chore(deps): update rust crate zip to v7.4.0
Some checks failed
Continuous integration / Test Suite (push) Successful in 2m4s
Continuous integration / Check (push) Successful in 2m39s
Continuous integration / Rustfmt (push) Failing after 1m36s
Continuous integration / build (push) Successful in 3m38s
Continuous integration / Trunk (push) Successful in 8m13s
Continuous integration / Disallow unused dependencies (push) Successful in 5m40s
2026-02-06 04:46:25 +00:00
bbf059a32e Merge pull request 'chore(deps): update rust crate anyhow to v1.0.101' (#251) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m18s
Continuous integration / Test Suite (push) Successful in 2m24s
Continuous integration / Rustfmt (push) Failing after 1m2s
Continuous integration / build (push) Successful in 2m7s
Continuous integration / Disallow unused dependencies (push) Successful in 3m3s
Continuous integration / Trunk (push) Successful in 21m10s
2026-02-05 11:31:49 -08:00
3ffed239cc chore(deps): update rust crate anyhow to v1.0.101
Some checks failed
Continuous integration / Check (push) Successful in 1m13s
Continuous integration / Test Suite (push) Successful in 2m7s
Continuous integration / Rustfmt (push) Failing after 1m34s
Continuous integration / build (push) Successful in 3m55s
Continuous integration / Trunk (push) Successful in 8m24s
Continuous integration / Disallow unused dependencies (push) Successful in 5m41s
2026-02-05 19:31:46 +00:00
a0ef96aa1a Merge pull request 'chore(deps): update rust crate zip to v7.3.0' (#250) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m38s
Continuous integration / Test Suite (push) Successful in 2m0s
Continuous integration / Rustfmt (push) Failing after 53s
Continuous integration / build (push) Successful in 2m5s
Continuous integration / Disallow unused dependencies (push) Successful in 2m35s
Continuous integration / Trunk (push) Successful in 21m20s
2026-02-04 03:01:53 -08:00
9d05f74280 chore(deps): update rust crate zip to v7.3.0
Some checks failed
Continuous integration / Test Suite (push) Successful in 2m22s
Continuous integration / Check (push) Successful in 2m31s
Continuous integration / Rustfmt (push) Failing after 1m34s
Continuous integration / build (push) Successful in 3m37s
Continuous integration / Trunk (push) Successful in 7m44s
Continuous integration / Disallow unused dependencies (push) Successful in 5m40s
2026-02-04 11:01:48 +00:00
b9df41559f Merge pull request 'chore(deps): update rust crate clap to v4.5.57' (#249) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m50s
Continuous integration / Test Suite (push) Successful in 3m11s
Continuous integration / Trunk (push) Successful in 2m1s
Continuous integration / Rustfmt (push) Failing after 1m33s
Continuous integration / Disallow unused dependencies (push) Failing after 29s
Continuous integration / build (push) Successful in 2m7s
2026-02-03 08:16:57 -08:00
4bb5307904 chore(deps): update rust crate clap to v4.5.57
Some checks failed
Continuous integration / Check (push) Successful in 1m47s
Continuous integration / Trunk (push) Successful in 1m1s
Continuous integration / Test Suite (push) Successful in 3m14s
Continuous integration / Rustfmt (push) Failing after 50s
Continuous integration / Disallow unused dependencies (push) Successful in 2m35s
Continuous integration / build (push) Successful in 3m26s
2026-02-03 16:16:47 +00:00
0cbe860d0d Merge pull request 'chore(deps): update rust crate regex to v1.12.3' (#248) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m29s
Continuous integration / Trunk (push) Successful in 1m3s
Continuous integration / Rustfmt (push) Failing after 44s
Continuous integration / Test Suite (push) Successful in 3m33s
Continuous integration / build (push) Successful in 2m12s
Continuous integration / Disallow unused dependencies (push) Successful in 5m42s
2026-02-03 06:31:26 -08:00
6eaedfaae8 chore(deps): update rust crate regex to v1.12.3
Some checks failed
Continuous integration / Check (push) Successful in 2m20s
Continuous integration / Test Suite (push) Successful in 4m12s
Continuous integration / Trunk (push) Successful in 2m18s
Continuous integration / Rustfmt (push) Failing after 59s
Continuous integration / Disallow unused dependencies (push) Successful in 2m36s
Continuous integration / build (push) Successful in 4m5s
2026-02-03 14:31:20 +00:00
d1787bac32 Merge pull request 'chore(deps): update rust crate flate2 to v1.1.9' (#247) from renovate/all-minor-patch into master
Some checks failed
Continuous integration / Check (push) Successful in 1m43s
Continuous integration / Trunk (push) Successful in 1m4s
Continuous integration / Rustfmt (push) Failing after 44s
Continuous integration / Test Suite (push) Successful in 3m26s
Continuous integration / build (push) Successful in 2m33s
Continuous integration / Disallow unused dependencies (push) Successful in 5m42s
2026-02-02 23:31:36 -08:00
58554e7f40 chore(deps): update rust crate flate2 to v1.1.9
Some checks failed
Continuous integration / Test Suite (push) Successful in 3m14s
Continuous integration / Check (push) Successful in 4m58s
Continuous integration / Rustfmt (push) Failing after 1m35s
Continuous integration / Trunk (push) Successful in 7m49s
Continuous integration / Disallow unused dependencies (push) Successful in 2m28s
Continuous integration / build (push) Successful in 7m50s
2026-02-03 07:31:27 +00:00
fa6fe673bd chore: Release
Some checks failed
Continuous integration / Check (push) Successful in 1m13s
Continuous integration / Test Suite (push) Successful in 2m2s
Continuous integration / Trunk (push) Successful in 59s
Continuous integration / Rustfmt (push) Failing after 47s
Continuous integration / build (push) Successful in 1m42s
Continuous integration / Disallow unused dependencies (push) Successful in 5m40s
2026-02-01 17:16:48 -08:00
44961f6ef1 web: conditionally show spam button in catchup 2026-02-01 17:16:24 -08:00
cd09594347 Merge pull request 'chore(deps): lock file maintenance' (#245) from renovate/lock-file-maintenance into master
Some checks failed
Continuous integration / Check (push) Successful in 1m8s
Continuous integration / Test Suite (push) Successful in 2m12s
Continuous integration / Rustfmt (push) Failing after 46s
Continuous integration / Trunk (push) Successful in 2m11s
Continuous integration / build (push) Successful in 2m0s
Continuous integration / Disallow unused dependencies (push) Successful in 5m47s
2026-02-01 16:02:24 -08:00
3d09ab7c15 chore(deps): lock file maintenance
Some checks failed
Continuous integration / Check (push) Successful in 2m11s
Continuous integration / Test Suite (push) Successful in 4m10s
Continuous integration / Rustfmt (push) Failing after 45s
Continuous integration / Trunk (push) Successful in 2m58s
Continuous integration / build (push) Successful in 3m48s
Continuous integration / Disallow unused dependencies (push) Successful in 5m46s
2026-02-02 00:02:21 +00:00
4 changed files with 316 additions and 162 deletions

467
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ authors = ["Bill Thiede <git@xinu.tv>"]
edition = "2021" edition = "2021"
license = "UNLICENSED" license = "UNLICENSED"
publish = ["xinu"] publish = ["xinu"]
version = "0.17.65" version = "0.17.66"
repository = "https://git.z.xinu.tv/wathiede/letterbox" repository = "https://git.z.xinu.tv/wathiede/letterbox"
[profile.dev] [profile.dev]

View File

@@ -26,7 +26,7 @@ build-info = "0.0.42"
cacher = { version = "0.2.0", registry = "xinu" } cacher = { version = "0.2.0", registry = "xinu" }
chrono = "0.4.40" chrono = "0.4.40"
clap = { version = "4.5.37", features = ["derive"] } clap = { version = "4.5.37", features = ["derive"] }
css-inline = "0.19.0" css-inline = "0.20.0"
flate2 = "1.1.2" flate2 = "1.1.2"
futures = "0.3.31" futures = "0.3.31"
headers = "0.4.0" headers = "0.4.0"

View File

@@ -100,6 +100,7 @@ pub fn view(model: &Model) -> Node<Msg> {
&catchup.items, &catchup.items,
is_loading, is_loading,
model.read_completion_ratio, model.read_completion_ratio,
true, // show spam button for email
) )
} else { } else {
normal_view( normal_view(
@@ -127,6 +128,7 @@ pub fn view(model: &Model) -> Node<Msg> {
&catchup.items, &catchup.items,
is_loading, is_loading,
model.read_completion_ratio, model.read_completion_ratio,
false, // no spam button for news
) )
} else { } else {
normal_view( normal_view(
@@ -193,6 +195,7 @@ fn catchup_view(
items: &[CatchupItem], items: &[CatchupItem],
is_loading: bool, is_loading: bool,
read_completion_ratio: f64, read_completion_ratio: f64,
show_spam_button: bool,
) -> Node<Msg> { ) -> Node<Msg> {
div![ div![
C!["w-full", "relative", "text-white"], C!["w-full", "relative", "text-white"],
@@ -268,14 +271,14 @@ fn catchup_view(
Msg::GoToSearchResults Msg::GoToSearchResults
])) ]))
], ],
button![ IF!(show_spam_button => button![
tw_classes::button(), tw_classes::button(),
C!["text-red-500"], C!["text-red-500"],
attrs! {At::Title => "Mark as spam"}, attrs! {At::Title => "Mark as spam"},
span![i![C!["far", "fa-hand"]]], span![i![C!["far", "fa-hand"]]],
span![C!["pl-2"], "Spam"], span![C!["pl-2"], "Spam"],
ev(Ev::Click, |_| Msg::CatchupMarkAsSpam) ev(Ev::Click, |_| Msg::CatchupMarkAsSpam)
], ]),
button![ button![
tw_classes::button_with_color("bg-green-800", "hover:bg-green-700"), tw_classes::button_with_color("bg-green-800", "hover:bg-green-700"),
span![i![C!["far", "fa-envelope-open"]]], span![i![C!["far", "fa-envelope-open"]]],