fix: address PR #24 review comments - SpeechRecognition types, CSS hover over direct DOM, shared useDebounce

This commit is contained in:
Marko (Hermes Implementer)
2026-05-29 05:10:06 +00:00
parent 6a223d7237
commit ade810a013
7 changed files with 169 additions and 83 deletions
+4 -1
View File
@@ -1 +1,4 @@
export { usePaginatedQuery } from "./usePaginatedQuery";
export { usePaginatedQuery } from "./usePaginatedQuery";
export { useDebounce } from "./useDebounce";
export { useVoiceSearch } from "./useVoiceSearch";
export { useMediaQuery } from "./useMediaQuery";
+18
View File
@@ -0,0 +1,18 @@
import { useEffect, useState } from "react";
/**
* A hook that debounces a value by the specified delay.
* @param value - The value to debounce
* @param delay - The delay in milliseconds
* @returns The debounced value
*/
export function useDebounce<T>(value: T, delay: number): T {
const [debounced, setDebounced] = useState(value);
useEffect(() => {
const timer = setTimeout(() => setDebounced(value), delay);
return () => clearTimeout(timer);
}, [value, delay]);
return debounced;
}