fix(git): clean up in-progress merge/rebase banner

Use the real status-warning tokens (--status-warning-bg did not exist, so
the card rendered without a fill), drop the decorative icons, and fold the
conflict count into the title as a single full-message key per locale.
The operation description now wraps instead of truncating, and both the
conflict and ready-to-continue states share the same action layout.
This commit is contained in:
Bohdan Triapitsyn
2026-08-02 20:27:05 +03:00
parent 25e22f007a
commit 9d48d5d02b
12 changed files with 94 additions and 61 deletions
+6 -6
View File
@@ -2019,14 +2019,14 @@ export const GitView: React.FC<GitViewProps> = ({ isActive }) => {
}
}, [currentDirectory, git, conflictOperation, refreshStatusAndBranches, refreshLog, clearConflictState, t]);
// Check if there are unresolved conflicts (files with 'U' status)
const hasUnresolvedConflicts = React.useMemo(() => {
if (!status?.files) return false;
return status.files.some((f) =>
// Count unresolved conflicts (files with 'U' status)
const conflictCount = React.useMemo(() => {
if (!status?.files) return 0;
return status.files.filter((f) =>
(f.index === 'U' || f.working_dir === 'U') ||
(f.index === 'A' && f.working_dir === 'A') ||
(f.index === 'D' && f.working_dir === 'D')
);
).length;
}, [status?.files]);
const handleContinueOperation = React.useCallback(async () => {
@@ -2350,7 +2350,7 @@ export const GitView: React.FC<GitViewProps> = ({ isActive }) => {
onContinue={handleContinueOperation}
onAbort={handleAbortOperation}
onResolveWithAI={handleResolveWithAIFromBanner}
hasUnresolvedConflicts={hasUnresolvedConflicts}
conflictCount={conflictCount}
isLoading={isLoading}
/>
)}