feat(locks): show a lock indicator on the lane card (D)

This commit is contained in:
2026-08-04 11:32:34 +07:00
parent 4a8725f136
commit 1f3a5ff51d
6 changed files with 186 additions and 91 deletions
+11 -9
View File
@@ -11,7 +11,7 @@
"add": "Add lane",
"addLane": "Create a lane from a working directory",
"addLaneBaseLabel": "Branch to fork from",
"addLaneNoBranches": "This repo has no commits yet the worktree will start empty.",
"addLaneNoBranches": "This repo has no commits yet \u2014 the worktree will start empty.",
"addLaneNotARepo": "Not a git repository (or no read access) yet.",
"addLaneRepoHint": "An existing git repo. The dashboard creates a new worktree for the lane, not a folder you pick.",
"addLaneRepoLabel": "Source repository",
@@ -40,9 +40,9 @@
"destructive.count.unpushed": "Unpushed commits",
"destructive.count.untracked": "Untracked files",
"destructive.force": "I understand these unpushed commits will be discarded.",
"destructive.loading": "Loading current facts",
"destructive.loading": "Loading current facts\u2026",
"destructive.notice.activeSessionSkipped": "One or more sessions in this lane are still active and will be kept, not purged.",
"destructive.notice.adopted": "This lane points at a directory you own. Only the dashboard's record of it is dropped the directory and its files are left untouched.",
"destructive.notice.adopted": "This lane points at a directory you own. Only the dashboard's record of it is dropped \u2014 the directory and its files are left untouched.",
"destructive.notice.missing": "The lane directory is already gone. Removing it drops the dashboard's record and clears Git's stale worktree entry; nothing is deleted from disk.",
"destructive.notice.unreadable": "The lane directory cannot be read as a Git worktree. Removal is attempted; if Git itself refuses, its worktree record is cleared directly instead. Either way, the directory itself is never touched.",
"destructive.purge.confirm": "Purge history",
@@ -57,22 +57,24 @@
"destructive.reset.title": "Reset managed worktree?",
"destructive.warning.no-remote": "No Git remote is configured, so nothing here is backed up remotely. You can still proceed.",
"emptyState": "No lanes yet. Create one from a working directory:",
"git.uncommitted": "{{dirty}} modified · {{untracked}} untracked",
"git.uncommitted": "{{dirty}} modified \u00b7 {{untracked}} untracked",
"kind.adopted": "adopted",
"kind.managed": "managed",
"laneHeader": "Lane {{id}} · {{title}} · {{pipeline}}",
"laneHeader": "Lane {{id}} \u00b7 {{title}} \u00b7 {{pipeline}}",
"locks.held_one": "{{count}} lock held",
"locks.held_other": "{{count}} locks held",
"moreActions": "More actions",
"preflightError": "Could not load the current lane facts.",
"preflightErrorWithMessage": "Could not load the current lane facts: {{message}}",
"runtime.boot": " up",
"runtime.busy.down": "stopping",
"runtime.busy.up": "booting",
"runtime.boot": "\u25b6 up",
"runtime.busy.down": "stopping\u2026",
"runtime.busy.up": "booting\u2026",
"runtime.down": "down",
"runtime.healthy": "healthy",
"runtime.partial": "partial",
"runtime.slot": "slot {{slot}}",
"runtime.steppedAsideTitle": "Stepped aside from {{expected}}, which was already in use",
"runtime.stop": " down",
"runtime.stop": "\u25a0 down",
"runtime.toggleTitle": "Boot or stop this lane's own application stack (separate from its Claude run)",
"stageUndeclared": "not declared",
"status.failed": "failed",