fix(app-iced): M157 r2 详情列加滚动区 + 启动参数卡对齐信息卡(D30 复审)

- 详情列(含卡片与动作行)套 scrollable:1180×1000 下被裁的内容可达、滚动条与左列同一套几何;右侧 X2 内缩,卡片描边不再被滚动条压住
- 启动参数卡改用 frame::card(card_padding 21 + OutlinedCard 描边),标题 LabelMedium 不加粗——与相邻信息卡同款
- 段间距 X3→X2,卡片不再比内容长
- 演示夹具补 Game arguments(--fullscreen)
- presenter host 单测临时目录加序号(同一进程并行用例互删导致 flake)
This commit is contained in:
AskaEth committed 2026-11-07 10:36:35 +08:00
1 parent e2021645d7
commit c76a1437e6
5 files changed
+56 -23

No files matched your search

@@ -15,12 +15,10 @@
//!
//! 文案全走 [`Texts`](守门见 `instances/tests/i18n.rs` 的白名单与死 key 扫描)。
use iced::widget::{column, container, row};
use iced::{Background, Element, Length};
use iced::widget::{column, row};
use iced::{Element, Length};
use unlucky_design::color::Role;
use unlucky_design::elevation::MaterialLayer;
use unlucky_design::shape::ShapeScale;
use unlucky_design::spacing::Space;
use unlucky_design::typography::TypeRole;
@@ -47,8 +45,10 @@ pub(super) fn section<'a>(
form: &'a LaunchForm,
texts: Texts,
) -> Element<'a, PageMessage> {
// 段间距 X2(8dp):卡内 5 个字段 + 三态 + 动作行在 424 宽下已经很长,
// 用 X3 会让详情列更长一屏;行内间距仍是 X1(4dp),读起来不挤。
let mut body = column![frame_title(ui, texts.launch_title())]
.spacing(ui.space(Space::X3))
.spacing(ui.space(Space::X2))
.width(Length::Fill);
body = body.push(args_field(
@@ -94,22 +94,17 @@ pub(super) fn section<'a>(
body = body.push(backend_row(ui, facts, form, texts));
body = body.push(actions_row(ui, texts));
container(body)
.width(Length::Fill)
.padding(ui.space(Space::X3))
.style(move |_theme| container::Style {
background: Some(Background::Color(ui.layer(MaterialLayer::Card))),
border: ui.outlined(ShapeScale::Medium),
..container::Style::default()
})
.into()
// 与相邻信息卡**同一套**卡壳(`frame::card`:`card_padding` 21dp + OutlinedCard 的圆角/描边)。
super::super::frame::card(ui, body)
}
/// 卡片标题:**与信息卡的标签同款**(`LabelMedium` 不加粗、`OnSurfaceVariant`),
/// 复审 ③⑤ 抓的就是这里(原来用了 `emphasized = true`,比同屏其它标签重一档)。
fn frame_title<'a>(ui: &'a Ui, title: &'a str) -> Element<'a, PageMessage> {
super::super::frame::text_role(
ui,
TypeRole::LabelMedium,
true,
false,
title,
ui.color(Role::OnSurfaceVariant),
)