Implement superuser lock management

This commit is contained in:
gpt-engineer-app[bot]
2025-11-04 23:08:00 +00:00
parent ae22a48ce2
commit 16386f9894
7 changed files with 412 additions and 26 deletions

View File

@@ -48,6 +48,7 @@ interface QueueItemProps {
onDeleteSubmission: (item: ModerationItem) => void;
onInteractionFocus: (id: string) => void;
onInteractionBlur: (id: string) => void;
onSuperuserReleaseLock?: (submissionId: string) => Promise<void>;
}
@@ -74,7 +75,8 @@ export const QueueItem = memo(({
onClaimSubmission,
onDeleteSubmission,
onInteractionFocus,
onInteractionBlur
onInteractionBlur,
onSuperuserReleaseLock,
}: QueueItemProps) => {
const [validationResult, setValidationResult] = useState<ValidationResult | null>(null);
const [isClaiming, setIsClaiming] = useState(false);
@@ -323,29 +325,30 @@ export const QueueItem = memo(({
</div>
)}
<QueueItemActions
item={item}
isMobile={isMobile}
actionLoading={actionLoading}
isLockedByMe={isLockedByMe}
isLockedByOther={isLockedByOther}
currentLockSubmissionId={currentLockSubmissionId}
notes={notes}
isAdmin={isAdmin}
isSuperuser={isSuperuser}
queueIsLoading={queueIsLoading}
isClaiming={isClaiming}
onNoteChange={onNoteChange}
onApprove={onApprove}
onResetToPending={onResetToPending}
onRetryFailed={onRetryFailed}
onOpenReviewManager={onOpenReviewManager}
onOpenItemEditor={onOpenItemEditor}
onDeleteSubmission={onDeleteSubmission}
onInteractionFocus={onInteractionFocus}
onInteractionBlur={onInteractionBlur}
onClaim={handleClaim}
/>
<QueueItemActions
item={item}
isMobile={isMobile}
actionLoading={actionLoading}
isLockedByMe={isLockedByMe}
isLockedByOther={isLockedByOther}
currentLockSubmissionId={currentLockSubmissionId}
notes={notes}
isAdmin={isAdmin}
isSuperuser={isSuperuser}
queueIsLoading={queueIsLoading}
isClaiming={isClaiming}
onNoteChange={onNoteChange}
onApprove={onApprove}
onResetToPending={onResetToPending}
onRetryFailed={onRetryFailed}
onOpenReviewManager={onOpenReviewManager}
onOpenItemEditor={onOpenItemEditor}
onDeleteSubmission={onDeleteSubmission}
onInteractionFocus={onInteractionFocus}
onInteractionBlur={onInteractionBlur}
onClaim={handleClaim}
onSuperuserReleaseLock={onSuperuserReleaseLock}
/>
</CardContent>
{/* Raw Data Modal */}