aboutsummaryrefslogtreecommitdiff
path: root/packages/web/src/hooks
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-04 01:05:42 -0800
committerFuwn <[email protected]>2026-02-04 01:05:42 -0800
commita05b8d45a04693b48d7db0ad5a158e8f8fda689e (patch)
tree7deef70f1b080015ab7f0809c15a2c46f112c1cc /packages/web/src/hooks
parentfeat(sdk): Support memory project reassignment in update (diff)
downloadarchived-imemio-a05b8d45a04693b48d7db0ad5a158e8f8fda689e.tar.xz
archived-imemio-a05b8d45a04693b48d7db0ad5a158e8f8fda689e.zip
feat(web): Enhance memory dashboard with projects and search
Diffstat (limited to 'packages/web/src/hooks')
-rw-r--r--packages/web/src/hooks/use-debounce.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/web/src/hooks/use-debounce.ts b/packages/web/src/hooks/use-debounce.ts
new file mode 100644
index 0000000..cf5221f
--- /dev/null
+++ b/packages/web/src/hooks/use-debounce.ts
@@ -0,0 +1,19 @@
+"use client";
+
+import { useEffect, useState } from "react";
+
+export function useDebounce<T>(value: T, delay: number): T {
+ const [debouncedValue, setDebouncedValue] = useState<T>(value);
+
+ useEffect(() => {
+ const timeoutId = setTimeout(() => {
+ setDebouncedValue(value);
+ }, delay);
+
+ return () => {
+ clearTimeout(timeoutId);
+ };
+ }, [value, delay]);
+
+ return debouncedValue;
+}