mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-22 10:51:02 +01:00
fix: improve handling of unknown types in change table / row
This commit is contained in:
@@ -60,7 +60,6 @@ const ChangeRow = ({
|
||||
return <File className='text-gray-400' size={16} />;
|
||||
}
|
||||
};
|
||||
|
||||
const handleViewChanges = e => {
|
||||
e.stopPropagation();
|
||||
setShowChanges(true);
|
||||
@@ -124,32 +123,46 @@ const ChangeRow = ({
|
||||
<>
|
||||
<span className='mr-3'>
|
||||
<strong>Local:</strong>{' '}
|
||||
{change.local_name || 'Unnamed'}
|
||||
{change.local_name ||
|
||||
change.name ||
|
||||
'Unnamed'}
|
||||
</span>
|
||||
<span>
|
||||
<strong>Incoming:</strong>{' '}
|
||||
{change.incoming_name || 'Unnamed'}
|
||||
{change.incoming_name ||
|
||||
change.name ||
|
||||
'Unnamed'}
|
||||
</span>
|
||||
</>
|
||||
) : (
|
||||
change.local_name ||
|
||||
change.incoming_name ||
|
||||
'Unnamed'
|
||||
change.name ||
|
||||
(change.file_path
|
||||
? change.file_path.split('/').pop()
|
||||
: 'Unnamed')
|
||||
)
|
||||
) : change.outgoing_name &&
|
||||
change.outgoing_name !== change.prior_name ? (
|
||||
<>
|
||||
<span className='mr-3'>
|
||||
<strong>Prior:</strong>{' '}
|
||||
{change.prior_name || 'Unnamed'}
|
||||
{change.prior_name || change.name || 'Unnamed'}
|
||||
</span>
|
||||
<span>
|
||||
<strong>Outgoing:</strong>{' '}
|
||||
{change.outgoing_name || 'Unnamed'}
|
||||
{change.outgoing_name ||
|
||||
change.name ||
|
||||
'Unnamed'}
|
||||
</span>
|
||||
</>
|
||||
) : (
|
||||
change.outgoing_name || change.prior_name || 'Unnamed'
|
||||
change.outgoing_name ||
|
||||
change.prior_name ||
|
||||
change.name ||
|
||||
(change.file_path
|
||||
? change.file_path.split('/').pop()
|
||||
: 'Unnamed')
|
||||
)}
|
||||
</td>
|
||||
<td className='py-2 px-4'>
|
||||
|
||||
@@ -17,15 +17,27 @@ const ChangeTable = ({
|
||||
fetchGitStatus
|
||||
}) => {
|
||||
const sortedChanges = changesArray => {
|
||||
// Filter out items with unknown status/type
|
||||
const validChanges = changesArray.filter(
|
||||
change =>
|
||||
change && change.type && change.type.toLowerCase() !== 'unknown'
|
||||
);
|
||||
// Process changes to extract type from path for unknown types
|
||||
const processedChanges = changesArray.map(change => {
|
||||
if (!change) return change;
|
||||
|
||||
if (isMergeConflict || !sortConfig?.key) return validChanges;
|
||||
// Only process items with unknown type
|
||||
if (change.type?.toLowerCase() === 'unknown' && change.file_path) {
|
||||
// Extract type from file path (assuming format: "type/name")
|
||||
const pathParts = change.file_path.split('/');
|
||||
if (pathParts.length > 1) {
|
||||
return {
|
||||
...change,
|
||||
type: pathParts[0]
|
||||
};
|
||||
}
|
||||
}
|
||||
return change;
|
||||
});
|
||||
|
||||
return [...validChanges].sort((a, b) => {
|
||||
if (isMergeConflict || !sortConfig?.key) return processedChanges;
|
||||
|
||||
return [...processedChanges].sort((a, b) => {
|
||||
if (a[sortConfig.key] < b[sortConfig.key]) {
|
||||
return sortConfig.direction === 'ascending' ? -1 : 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user