The remove buttons on a collection's cards were revealed only on hover / focus-within (opacity 0 → 1), so on touch they were invisible and undiscoverable. Show them persistently at the 640px breakpoint and enlarge the hit area from 24px to 32px (kept below the full 44px floor because the button floats over a 4-up cover thumbnail). Test pins the CSS contract (jsdom can't evaluate @media): the mobile block makes `.remove` opaque. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
73 lines
2.3 KiB
TOML
73 lines
2.3 KiB
TOML
[package]
|
||
name = "mangalord"
|
||
version = "0.88.1"
|
||
edition = "2021"
|
||
default-run = "mangalord"
|
||
|
||
[lib]
|
||
path = "src/lib.rs"
|
||
|
||
[[bin]]
|
||
name = "mangalord"
|
||
path = "src/main.rs"
|
||
|
||
[[bin]]
|
||
name = "crawler"
|
||
path = "src/bin/crawler.rs"
|
||
|
||
[dependencies]
|
||
axum = { version = "0.7", features = ["macros", "multipart"] }
|
||
tokio = { version = "1", features = ["full"] }
|
||
sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "uuid", "chrono", "macros", "migrate"] }
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
uuid = { version = "1", features = ["v4", "serde"] }
|
||
chrono = { version = "0.4", features = ["serde"] }
|
||
chrono-tz = "0.9"
|
||
tracing = "0.1"
|
||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||
tower = { version = "0.5", features = ["util"] }
|
||
tower-http = { version = "0.6", features = ["trace", "cors"] }
|
||
thiserror = "1"
|
||
anyhow = "1"
|
||
async-trait = "0.1"
|
||
dotenvy = "0.15"
|
||
argon2 = "0.5"
|
||
rand = "0.8"
|
||
sha2 = "0.10"
|
||
subtle = "2"
|
||
base64 = "0.22"
|
||
# Image decode + downscale for the analysis worker (keep the page image
|
||
# under the local vision model's token budget). Only the manga page formats.
|
||
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp"] }
|
||
axum-extra = { version = "0.9", features = ["cookie", "typed-header"] }
|
||
time = "0.3"
|
||
infer = "0.16"
|
||
tokio-util = { version = "0.7", features = ["io"] }
|
||
futures-core = "0.3"
|
||
futures-util = "0.3"
|
||
bytes = "1"
|
||
chromiumoxide = { version = "0.7", features = ["tokio-runtime", "_fetcher-rusttls-tokio"], default-features = false }
|
||
sysinfo = { version = "0.32", default-features = false, features = ["system", "component"] }
|
||
nix = { version = "0.29", features = ["fs"] }
|
||
scraper = "0.20"
|
||
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "socks", "cookies", "stream", "json"] }
|
||
|
||
[dev-dependencies]
|
||
tempfile = "3"
|
||
tower = { version = "0.5", features = ["util"] }
|
||
http-body-util = "0.1"
|
||
mime = "0.3"
|
||
futures-util = "0.3"
|
||
tokio = { version = "1", features = ["test-util"] }
|
||
|
||
# Trim debug builds: keep line numbers in panics / backtraces but drop the
|
||
# full DWARF info (variable-level inspection in gdb/lldb). With a sqlx +
|
||
# axum + tokio dep tree the default ("full") leaves backend/target on the
|
||
# order of tens of GiB; this typically cuts ~50–70% off that.
|
||
[profile.dev]
|
||
debug = "line-tables-only"
|
||
|
||
[profile.test]
|
||
debug = "line-tables-only"
|