mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 11:51:12 -05:00
Fix state machine issues
This commit is contained in:
@@ -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>
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user