feat: add mobile project editor with worktree reorder and delete

Replace the up/down arrows in the mobile project reorder list (drag already
covers reordering) with an edit button that opens a dedicated project editor
surface: rename, pick icon and color, and discover a favicon (no upload).

The editor lists the project's worktrees with drag-to-reorder (persisted per
project, like project order) and a delete button that opens a mobile
confirmation built on the shared worktree primitives — archiving attached
sessions and optionally removing the local/remote branch.
This commit is contained in:
Bohdan Triapitsyn
2026-06-02 16:10:20 +03:00
parent 51682dc7af
commit 79d68ba583
12 changed files with 822 additions and 34 deletions
@@ -67,6 +67,19 @@ export const dict: Record<I18nKey, string> = {
'mobile.sessions.confirmRemoveProject': '刪除',
'mobile.sessions.confirmRemoveProjectAria': '確認移除 {label}',
'mobile.sessions.toast.projectRemoved': '已移除 {label}',
'mobile.sessions.editProjectAria': '編輯 {label}',
'mobile.projectEdit.worktreesTitle': '工作樹',
'mobile.projectEdit.worktreesEmpty': '此專案還沒有工作樹。',
'mobile.projectEdit.reorderHint': '拖曳以重新排序工作樹。',
'mobile.projectEdit.dragWorktreeAria': '拖曳 {label} 以重新排序',
'mobile.projectEdit.deleteWorktreeAria': '移除工作樹 {label}',
'mobile.projectEdit.deleteWorktreeTitle': '移除工作樹',
'mobile.projectEdit.deleteWorktreeConfirmButton': '移除',
'mobile.projectEdit.deleteWorktreeConfirm': '移除工作樹「{name}」?此操作無法復原。',
'mobile.projectEdit.deleteWorktreeDirty': '此工作樹有未提交的變更,將會遺失。',
'mobile.projectEdit.deleteWorktreeArchiveNote': '將封存 {count} 個關聯工作階段。',
'mobile.projectEdit.deleteLocalBranch': '同時刪除本機分支',
'mobile.projectEdit.deleteRemoteBranch': '同時刪除遠端分支',
'mobile.sessions.showMore': '再顯示 {count} 個',
'mobile.sessions.search.section.sessions': '會話',
'mobile.sessions.search.section.archived': '已封存',