fix(app-iced): 版本列表在三栏对半分档按整行取高(S1b/S9)

列表视口高度不再是「Fill 剩下的」:正文列高度由仓里已有的 `frame::body_height` 算出,
经 `view_sized` → `body` → `rails::three_column` → `rows::content` 传下来,Shared 档据此
`floor(((h − LIST_CHROME)/2) / ROW_PITCH) * ROW_PITCH` 取整行。

实测(1180×760):列表 245px → **239px**(分隔线 498 → 492,腾出的 6px 归面板),
`04` 对照**未变**(531 / 278px),720 窄窗**未变**(本来就是 4.0 整行、底缘 0 墨迹)。

两处修正写在提交里:
1. 第一版给所有三栏场合取整,把 `04` 也缩到 239px ⇒ 收窄为只在 `TailShare::Shared` 取整;
2. `rows.rs` 涨到 419 行撞 400 行门禁 ⇒ `TailShare` 与三个标定量纯搬移到 `rows/tail.rs`,
   `rows.rs` 回到 355 行(门禁 `components::gate` 与全仓扫描都绿)。

`view` 保留 4 参数(`#[cfg(test)]`,只有单测用),产品路径走 `view_sized`。
This commit is contained in:
AskaEth committed 2026-11-10 19:34:13 +08:00
1 parent f29ca609ec
commit 954281d71a
5 files changed
+131 -55

No files matched your search

@@ -75,6 +75,7 @@ pub(super) fn three_column<'a>(
catalog: Catalog,
model: &'a Download,
rails: VersionRails,
body_height: f32,
) -> Element<'a, Message> {
row![
panel(
@@ -92,6 +93,7 @@ pub(super) fn three_column<'a>(
catalog,
model,
rows::TailShare::of(rails.tier, &super::install::panel_state(model)),
Some(rows::whole_rows(body_height)),
))
.width(Length::Fixed(rails.list))
.height(Length::Fill),