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
+13
View File
@@ -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': '보관됨',