diff --git a/frontend/src/components/settings/git/status/ChangeRow.jsx b/frontend/src/components/settings/git/status/ChangeRow.jsx
index b8b4299..d703f7c 100644
--- a/frontend/src/components/settings/git/status/ChangeRow.jsx
+++ b/frontend/src/components/settings/git/status/ChangeRow.jsx
@@ -60,7 +60,6 @@ const ChangeRow = ({
return ;
}
};
-
const handleViewChanges = e => {
e.stopPropagation();
setShowChanges(true);
@@ -124,32 +123,46 @@ const ChangeRow = ({
<>
Local:{' '}
- {change.local_name || 'Unnamed'}
+ {change.local_name ||
+ change.name ||
+ 'Unnamed'}
Incoming:{' '}
- {change.incoming_name || 'Unnamed'}
+ {change.incoming_name ||
+ change.name ||
+ 'Unnamed'}
>
) : (
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 ? (
<>
Prior:{' '}
- {change.prior_name || 'Unnamed'}
+ {change.prior_name || change.name || 'Unnamed'}
Outgoing:{' '}
- {change.outgoing_name || 'Unnamed'}
+ {change.outgoing_name ||
+ change.name ||
+ 'Unnamed'}
>
) : (
- change.outgoing_name || change.prior_name || 'Unnamed'
+ change.outgoing_name ||
+ change.prior_name ||
+ change.name ||
+ (change.file_path
+ ? change.file_path.split('/').pop()
+ : 'Unnamed')
)}
diff --git a/frontend/src/components/settings/git/status/ChangeTable.jsx b/frontend/src/components/settings/git/status/ChangeTable.jsx
index 52e0c43..eb0fbc9 100644
--- a/frontend/src/components/settings/git/status/ChangeTable.jsx
+++ b/frontend/src/components/settings/git/status/ChangeTable.jsx
@@ -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;
}
|