Initial digitCRM project with backend and frontend

This commit is contained in:
2026-06-28 14:16:11 +03:00
commit fd30a5f2d1
94 changed files with 10919 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import { useRef } from "react";
type noop = (...args: any[]) => any;
/**
* usePersistFn instead of useCallback to reduce cognitive load
*/
export function usePersistFn<T extends noop>(fn: T) {
const fnRef = useRef<T>(fn);
fnRef.current = fn;
const persistFn = useRef<T>(null);
if (!persistFn.current) {
persistFn.current = function (this: unknown, ...args) {
return fnRef.current!.apply(this, args);
} as T;
}
return persistFn.current!;
}