Fix manual refresh to use smart comparison

This commit is contained in:
gpt-engineer-app[bot]
2025-10-10 14:46:00 +00:00
parent 2626afc59d
commit 42f1794154

View File

@@ -523,9 +523,27 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
console.log('✅ Queue frozen (default) - existing submissions unchanged');
}
} else {
// Normal fetch: Load all items and reset pending
console.log('🔄 Manual refresh - replacing entire queue');
setItems(moderationItems);
// Manual refresh: Use smart comparison even for non-silent refreshes
console.log('🔄 Manual refresh - checking for changes');
const mergeResult = smartMergeArray(itemsRef.current, moderationItems, {
compareFields: ['status', 'content', 'reviewed_at', 'reviewed_by', 'reviewer_notes', 'assigned_to', 'locked_until'],
preserveOrder: false,
addToTop: false,
});
if (mergeResult.hasChanges) {
setItems(mergeResult.items);
console.log('🔄 Queue updated (manual refresh):', {
added: mergeResult.changes.added.length,
removed: mergeResult.changes.removed.length,
updated: mergeResult.changes.updated.length,
});
} else {
console.log('✅ Queue unchanged (manual refresh) - data identical, no re-render');
}
// Always reset pending items on manual refresh
setPendingNewItems([]);
setNewItemsCount(0);