This commit is contained in:
rosetta
2026-01-30 05:01:05 +02:00
commit 83f38dc63f
327 changed files with 18725 additions and 0 deletions

27
app/hooks/useQueue.ts Normal file
View File

@@ -0,0 +1,27 @@
import { useRef } from "react";
/**
* Нужно, чтобы избежать состояния гонки
*/
export function useQueue<T>() {
const queue = useRef<T[]>([]);
const inProcess = (task: T): boolean => {
return queue.current.includes(task);
}
const addToQueue = (task: T) => {
queue.current.push(task);
}
const removeFromQueue = (task: T) => {
queue.current = queue.current.filter(t => t !== task);
}
return {
inProcess,
addToQueue,
removeFromQueue,
queue
}
}