Initial commit

This commit is contained in:
AG
2025-12-20 16:32:05 +02:00
commit f430c2b757
31 changed files with 4797 additions and 0 deletions

21
public/utils.ts Normal file
View File

@@ -0,0 +1,21 @@
// A simple debounce function
export const debounce = <F extends (...args: any[]) => any>(func: F, waitFor: number) => {
let timeout: ReturnType<typeof setTimeout> | null = null;
const debounced = (...args: Parameters<F>) => {
if (timeout !== null) {
clearTimeout(timeout);
timeout = null;
}
timeout = setTimeout(() => func(...args), waitFor);
};
const cancel = () => {
if (timeout !== null) {
clearTimeout(timeout);
timeout = null;
}
};
return [debounced, cancel] as [(...args: Parameters<F>) => void, () => void];
};