diff --git a/src/components/moderation/QueueItem.tsx b/src/components/moderation/QueueItem.tsx index 0debfb7f..143f26f2 100644 --- a/src/components/moderation/QueueItem.tsx +++ b/src/components/moderation/QueueItem.tsx @@ -425,6 +425,16 @@ export const QueueItem = memo(({ Review Items + + {/* Debug info in dev mode */} + {import.meta.env.DEV && isAdmin && ( +
+ 🔍 isLockedByMe={String(isLockedByMe)} | + assigned_to={item.assigned_to?.slice(0,8) || 'null'} | + currentLock={currentLockSubmissionId?.slice(0,8) || 'null'} +
+ )} + {isAdmin && isLockedByMe && ( diff --git a/src/hooks/moderation/useModerationQueueManager.ts b/src/hooks/moderation/useModerationQueueManager.ts index b3b69b5d..583418c1 100644 --- a/src/hooks/moderation/useModerationQueueManager.ts +++ b/src/hooks/moderation/useModerationQueueManager.ts @@ -115,6 +115,8 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig): onLockStateChange: () => { logger.log('🔄 Lock state changed, invalidating queue cache'); queueQuery.invalidate(); + // Force immediate re-render by triggering a loading cycle + setLoadingState(prev => prev === "loading" ? "ready" : prev); } }); const entityCache = useEntityCache(); diff --git a/src/hooks/useModerationQueue.ts b/src/hooks/useModerationQueue.ts index 30d72972..1129173c 100644 --- a/src/hooks/useModerationQueue.ts +++ b/src/hooks/useModerationQueue.ts @@ -452,7 +452,7 @@ export const useModerationQueue = (config?: UseModerationQueueConfig) => { }, [currentLock, releaseLock]); return { - currentLock, + currentLock, // Exposed for reactive UI updates queueStats, isLoading, claimNext,