No working directory selected
🌿
{status.branch || "detached"}
{#if status.upstream}
→ {status.upstream}
{/if}
{#if status.ahead > 0}
↑{status.ahead}
{/if}
{#if status.behind > 0}
↓{status.behind}
{/if}
{#if activeTab === "changes"}
{#if status.staged.length > 0}
Staged Changes ({status.staged.length})
{#each status.staged as file (file.path)}
{getStatusIcon(file.status)}
{file.path}
{/each}
{/if}
{#if status.unstaged.length > 0}
Unstaged Changes ({status.unstaged.length})
{#each status.unstaged as file (file.path)}
{getStatusIcon(file.status)}
{file.path}
{/each}
{/if}
{#if status.untracked.length > 0}
Untracked Files ({status.untracked.length})
{#each status.untracked as file (file)}
❓
{file}
{/each}
{/if}
{#if status.staged.length === 0 && status.unstaged.length === 0 && status.untracked.length === 0}
✨ Working tree clean
{/if}
{#if status.staged.length > 0}
{/if}
{:else if activeTab === "branches"}
{#if showBranchInput}
e.key === "Enter" && createBranch()}
/>
{:else}
{/if}
Local Branches
{#each branches.filter((b) => !b.is_remote) as branch (branch.name)}
{branch.is_current ? "✓" : "○"}
{branch.name}
{#if !branch.is_current}
{/if}
{/each}
{#if branches.filter((b) => b.is_remote).length > 0}
Remote Branches
{#each branches.filter((b) => b.is_remote) as branch (branch.name)}
☁️
{branch.name}
{/each}
{/if}
{:else if activeTab === "history"}
{#each log as entry (entry.hash)}
{entry.message}
by {entry.author}
{/each}
{/if}