mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-22 10:51:02 +01:00
fix: merge/delete conflicts (#151)
feat: enhance merge conflict handling with improved status messages and conditional rendering feat: improved modify / delete conflict handling - fix ours/theirs messages for deleted files - fix handling of choice moniker - fix parsing of local/incoming name when deleted
This commit is contained in:
@@ -15,9 +15,10 @@ const ConflictRow = ({change, fetchGitStatus}) => {
|
||||
param => param.parameter === 'name'
|
||||
);
|
||||
|
||||
// Check for name in conflicting parameters or directly in change object
|
||||
const displayLocalName =
|
||||
nameConflict?.local_value || change.name || 'Unnamed';
|
||||
const displayIncomingName = nameConflict?.incoming_value || 'Unnamed';
|
||||
const displayIncomingName = nameConflict?.incoming_value || change?.incoming_name || 'Unnamed';
|
||||
|
||||
const isResolved = change.status === 'RESOLVED';
|
||||
|
||||
|
||||
@@ -10,14 +10,22 @@ const MergeConflicts = ({
|
||||
areAllConflictsResolved,
|
||||
fetchGitStatus
|
||||
}) => {
|
||||
if (!conflicts || conflicts.length === 0) return null;
|
||||
|
||||
const hasConflicts = conflicts && conflicts.length > 0;
|
||||
|
||||
return (
|
||||
<div className='mb-4'>
|
||||
<div className='flex items-center justify-between'>
|
||||
<h4 className='text-sm font-medium text-gray-200 flex items-center'>
|
||||
<AlertTriangle className='text-yellow-400 mr-2' size={16} />
|
||||
<span>Merge Conflicts</span>
|
||||
{areAllConflictsResolved() ? (
|
||||
<CheckCircle className='text-green-400 mr-2' size={16} />
|
||||
) : (
|
||||
<AlertTriangle className='text-yellow-400 mr-2' size={16} />
|
||||
)}
|
||||
<span>
|
||||
{areAllConflictsResolved()
|
||||
? 'All Conflicts Resolved'
|
||||
: 'Merge Conflicts'}
|
||||
</span>
|
||||
</h4>
|
||||
<div className='flex space-x-2'>
|
||||
<Tooltip
|
||||
@@ -47,10 +55,23 @@ const MergeConflicts = ({
|
||||
</Tooltip>
|
||||
</div>
|
||||
</div>
|
||||
<ConflictTable
|
||||
conflicts={conflicts}
|
||||
fetchGitStatus={fetchGitStatus}
|
||||
/>
|
||||
|
||||
{/* Only show the conflict table if there are conflicts */}
|
||||
{hasConflicts && (
|
||||
<ConflictTable
|
||||
conflicts={conflicts}
|
||||
fetchGitStatus={fetchGitStatus}
|
||||
/>
|
||||
)}
|
||||
|
||||
{/* Show a success message when all conflicts are resolved */}
|
||||
{!hasConflicts && areAllConflictsResolved() && (
|
||||
<div className='mt-3 p-4 bg-gray-800 border border-gray-700 rounded-lg text-center'>
|
||||
<p className='text-gray-300'>
|
||||
All conflicts have been successfully resolved. You can now commit the merge.
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user