mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 06:31:13 -05:00
Fix manual refresh to use smart comparison
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user