Fix state machine issues

This commit is contained in:
gpt-engineer-app[bot]
2025-10-21 14:01:50 +00:00
parent 555aa21dc5
commit 14b3305755
5 changed files with 39 additions and 40 deletions

View File

@@ -19,12 +19,13 @@ import { logger } from '../logger';
* @param state - Current moderation state
* @param dispatch - State machine dispatch function
* @param itemId - ID of the locked item (optional, for manual extension)
* @returns Extension function to manually extend lock
*/
export function useLockMonitor(
state: ModerationState,
dispatch: React.Dispatch<ModerationAction>,
itemId?: string
) {
): { extendLock: () => Promise<void> } {
useEffect(() => {
if (!hasActiveLock(state)) {
return;
@@ -54,6 +55,14 @@ export function useLockMonitor(
return () => clearInterval(checkInterval);
}, [state, dispatch, itemId]);
const extendLock = async () => {
if (itemId) {
await handleExtendLock(itemId, dispatch);
}
};
return { extendLock };
}
/**
@@ -62,7 +71,7 @@ export function useLockMonitor(
* @param submissionId - Submission ID
* @param dispatch - State machine dispatch function
*/
async function handleExtendLock(
export async function handleExtendLock(
submissionId: string,
dispatch: React.Dispatch<ModerationAction>
) {