CI / fmt (rustfmt --check) (push) Waiting to run
CI / clippy (ubuntu-latest) (push) Waiting to run
CI / clippy (windows-latest) (push) Waiting to run
CI / test (ubuntu-latest) (push) Waiting to run
CI / test (windows-latest) (push) Waiting to run
CI / build release (ubuntu-latest) (push) Waiting to run
CI / build release (windows-latest) (push) Waiting to run
CI / runtime smoke (ubuntu x64, xvfb) (push) Waiting to run
CI / runtime smoke (macos arm64, probe) (push) Skipped
CI / update-e2e (windows x64) (push) Waiting to run
GPU evidence / GPU 判据自测(不需 GPU;跳过 ≠ 已验证) (push) Waiting to run
GPU evidence / GPU 证据 — 探测可用产物与硬件适配器 (push) Waiting to run
Guards / core 零 UI 守门 (push) Waiting to run
Guards / presenter 零 UI 守门 (push) Waiting to run
Guards / design 零第三方依赖守门 (push) Waiting to run
Guards / unsafe 落点守门(集合必须恰好等于期望) (push) Waiting to run
Guards / 文件行数 ≤400 守门 (push) Waiting to run
Guards / 依赖许可与来源(cargo-deny) (push) Waiting to run
Release guard / 发布标记语义守门(push tag → 稳定版) (push) Waiting to run
Signing status(播报,不是门禁) / 判据自测(三行/退出码/变异重放/接线) (push) Waiting to run
Signing status(播报,不是门禁) / 签名就绪度(播报) (push) Waiting to run
Release / 选槽位(默认四个:Windows 两档 + Linux 两档) (push) Waiting to run
本批内容见 CHANGELOG.md 的 0.2.4 段。按 D41 用孤儿快照推 main,保留「公开史只有里程碑」的模型。
28 lines
893 B
Plaintext
28 lines
893 B
Plaintext
// 徽标:MC 版本 / 加载器 / 已装 / 远古版 等短标记。Metro 做法是细边框小方块,不用药丸圆角。
|
|
import { Theme } from "../theme/tokens.slint";
|
|
import { Metrics } from "../theme/metrics.slint";
|
|
import { UiText, TextRole } from "../components/label.slint";
|
|
|
|
export component Badge inherits Rectangle {
|
|
in property <string> text: "";
|
|
in property <color> tint: Theme.fg-secondary;
|
|
in property <color> fill: transparent;
|
|
|
|
height: 18px;
|
|
width: label.preferred-width + 2 * Metrics.gap-1 + 2px;
|
|
background: fill;
|
|
border-width: 1px;
|
|
border-color: tint;
|
|
border-radius: Metrics.radius-sm;
|
|
|
|
label := UiText {
|
|
role: TextRole.caption;
|
|
text: root.text;
|
|
color: root.tint;
|
|
font-size: 11px;
|
|
horizontal-alignment: center;
|
|
x: Metrics.gap-1 + 1px;
|
|
width: label.preferred-width;
|
|
}
|
|
}
|