mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-19 15:11:40 +00:00
fix(android): localize skill workshop statuses
This commit is contained in:
@@ -442,7 +442,7 @@ private fun SkillWorkshopProposalRow(
|
||||
}
|
||||
Column(horizontalAlignment = Alignment.End, verticalArrangement = Arrangement.spacedBy(4.dp)) {
|
||||
ClawStatusPill(
|
||||
text = if (busy) "loading" else proposal.status,
|
||||
text = skillWorkshopStatusLabel(if (busy) "loading" else proposal.status),
|
||||
status = skillWorkshopStatusPill(proposal.status),
|
||||
)
|
||||
Text(
|
||||
@@ -497,7 +497,10 @@ private fun SkillWorkshopProposalDetail(
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
}
|
||||
ClawStatusPill(text = proposal.status, status = skillWorkshopStatusPill(proposal.status))
|
||||
ClawStatusPill(
|
||||
text = skillWorkshopStatusLabel(proposal.status),
|
||||
status = skillWorkshopStatusPill(proposal.status),
|
||||
)
|
||||
}
|
||||
proposal.description?.let { description ->
|
||||
Text(text = description, style = ClawTheme.type.body, color = ClawTheme.colors.textMuted)
|
||||
@@ -656,6 +659,16 @@ internal fun skillWorkshopProposalActionEnabled(
|
||||
status: String,
|
||||
): Boolean = isConnected && operatorAdminScopeAvailable && !busy && status == "pending"
|
||||
|
||||
internal fun skillWorkshopStatusLabel(status: String): String =
|
||||
when (status) {
|
||||
"pending" -> nativeString("Pending")
|
||||
"quarantined", "stale" -> nativeString("Held")
|
||||
"applied" -> nativeString("Applied")
|
||||
"rejected" -> nativeString("Rejected")
|
||||
"loading" -> nativeString("Loading")
|
||||
else -> status
|
||||
}
|
||||
|
||||
private fun skillWorkshopFilterLabel(filter: String): String =
|
||||
when (filter) {
|
||||
"pending" -> nativeString("Pending")
|
||||
|
||||
@@ -291,6 +291,17 @@ class ShellScreenLogicTest {
|
||||
assertFalse(skillWorkshopStatusMatchesFilter("applied", "held"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun skillWorkshopStatusLabelsMapKnownCodesAndPreserveUnknownValues() {
|
||||
assertEquals("Pending", skillWorkshopStatusLabel("pending"))
|
||||
assertEquals("Held", skillWorkshopStatusLabel("quarantined"))
|
||||
assertEquals("Held", skillWorkshopStatusLabel("stale"))
|
||||
assertEquals("Applied", skillWorkshopStatusLabel("applied"))
|
||||
assertEquals("Rejected", skillWorkshopStatusLabel("rejected"))
|
||||
assertEquals("Loading", skillWorkshopStatusLabel("loading"))
|
||||
assertEquals("future_status", skillWorkshopStatusLabel("future_status"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun skillWorkshopVisibleProposalsAreKeyedBySelectedAgentScope() {
|
||||
val mainProposal = skillWorkshopProposal("main-proposal", "pending")
|
||||
|
||||
Reference in New Issue
Block a user