feat(ui): add OperationStatus feedback primitive and OperationIndicator control
Foundation for long-running-operation feedback (P0-1). OperationStatus tracks IsRunning/ShowIndicator(300ms grace)/Elapsed/IsStalled(60s since last Report) via an injectable TimeProvider, no static timer. OperationIndicator binds a status to the shared spinner style. Pre-provisions ops.* locale keys for groups A and C; no ViewModel wired up yet.
This commit is contained in:
@@ -692,6 +692,56 @@
|
||||
"lists": { "localSuffix": "{0} / local", "smartMyDay": "My Day", "smartImportant": "Important", "smartPlanned": "Planned", "virtualQueue": "Queue", "virtualRunning": "Running", "virtualReview": "Review", "newList": "New list" },
|
||||
"repoImport": { "loadFailed": "Couldn't load remembered folders: {0}", "saveFailed": "Couldn't save folders: {0}" }
|
||||
},
|
||||
"ops": {
|
||||
"stalledHint": "Still running — worker hasn't responded in a while",
|
||||
"merge": {
|
||||
"merging": "Merging…",
|
||||
"verifying": "Running the list's verify command… ({0})"
|
||||
},
|
||||
"review": {
|
||||
"submitting": "Submitting for review…",
|
||||
"rejecting": "Rejecting…",
|
||||
"parking": "Parking…",
|
||||
"previewing": "Loading preview…"
|
||||
},
|
||||
"worktrees": {
|
||||
"refreshing": "Refreshing…",
|
||||
"cleaningUp": "Cleaning up finished worktrees…",
|
||||
"resetting": "Resetting worktree…",
|
||||
"forceRemoving": "Force-removing worktree…",
|
||||
"batchMerging": "Merging {0}/{1}…"
|
||||
},
|
||||
"skills": {
|
||||
"installing": "Cloning skill…",
|
||||
"updating": "Updating skill…",
|
||||
"restoringDefaults": "Restoring default agents…"
|
||||
},
|
||||
"onlineInbox": {
|
||||
"signingIn": "Signing in…"
|
||||
},
|
||||
"repoImport": {
|
||||
"scanning": "Scanning repositories…"
|
||||
},
|
||||
"updateCheck": {
|
||||
"checking": "Checking for updates…"
|
||||
},
|
||||
"reports": {
|
||||
"generatingWeekly": "Generating report…",
|
||||
"runningDailyPrep": "Running daily prep…"
|
||||
},
|
||||
"planning": {
|
||||
"buildingIntegrationBranch": "Building integration branch…",
|
||||
"loadingAggregate": "Loading combined preview…",
|
||||
"finalizing": "Finalizing plan…",
|
||||
"queuingSubtasks": "Queuing subtasks…"
|
||||
},
|
||||
"worker": {
|
||||
"startupRecovery": "Recovering…",
|
||||
"creatingWorktree": "Creating worktree…",
|
||||
"rebasingAfterMerge": "Rebasing other worktrees…",
|
||||
"maintainingWorktrees": "Maintaining worktrees…"
|
||||
}
|
||||
},
|
||||
"usage": {
|
||||
"pill": {
|
||||
"empty": "Usage –",
|
||||
|
||||
Reference in New Issue
Block a user