mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 20:31:34 +00:00
* fix(ios): preserve localized Agent Pro detail labels * fix(ios): localize Dreaming metric labels * test(ios): refresh native localization inventory * test(setup): align isolated detection fallback * test(system-agent): allow slow shared TUI setup * test(chat): allow loaded outbox retry drain --------- Co-authored-by: Alix-007 <li.long15@xydigit.com>
41 lines
1.3 KiB
Swift
41 lines
1.3 KiB
Swift
import OpenClawKit
|
|
import SwiftUI
|
|
|
|
extension AgentProTab {
|
|
func detailMetric(label: OpenClawTextValue, value: String) -> some View {
|
|
VStack(alignment: .leading, spacing: 3) {
|
|
label.text
|
|
.font(OpenClawType.caption2Medium)
|
|
.foregroundStyle(.secondary)
|
|
Text(verbatim: value)
|
|
.font(OpenClawType.subheadSemiBold)
|
|
.lineLimit(1)
|
|
.minimumScaleFactor(0.8)
|
|
}
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
.padding(10)
|
|
.background(
|
|
Color.primary.opacity(0.055),
|
|
in: RoundedRectangle(cornerRadius: OpenClawRadius.sm, style: .continuous))
|
|
}
|
|
|
|
func emptyDetailRow(
|
|
icon: String,
|
|
title: OpenClawTextValue,
|
|
detail: OpenClawTextValue) -> some View
|
|
{
|
|
HStack(spacing: 12) {
|
|
ProIconBadge(systemName: icon, color: .secondary)
|
|
VStack(alignment: .leading, spacing: 3) {
|
|
title.text
|
|
.font(OpenClawType.subheadSemiBold)
|
|
detail.text
|
|
.font(OpenClawType.caption)
|
|
.foregroundStyle(.secondary)
|
|
.lineLimit(2)
|
|
}
|
|
Spacer(minLength: 8)
|
|
}
|
|
}
|
|
}
|