feat: Implement optimistic UI updates

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 14:04:49 +00:00
parent 6ca6747752
commit fd99eecfb4
3 changed files with 13 additions and 1 deletions

View File

@@ -425,6 +425,16 @@ export const QueueItem = memo(({
<ListTree className={isMobile ? "w-5 h-5 mr-2" : "w-4 h-4 mr-2"} />
Review Items
</Button>
{/* Debug info in dev mode */}
{import.meta.env.DEV && isAdmin && (
<div className="text-xs text-muted-foreground mb-2 font-mono">
🔍 isLockedByMe={String(isLockedByMe)} |
assigned_to={item.assigned_to?.slice(0,8) || 'null'} |
currentLock={currentLockSubmissionId?.slice(0,8) || 'null'}
</div>
)}
{isAdmin && isLockedByMe && (
<Tooltip>
<TooltipTrigger asChild>

View File

@@ -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();

View File

@@ -452,7 +452,7 @@ export const useModerationQueue = (config?: UseModerationQueueConfig) => {
}, [currentLock, releaseLock]);
return {
currentLock,
currentLock, // Exposed for reactive UI updates
queueStats,
isLoading,
claimNext,