aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/hooks/use-input-autofocus.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2023-11-02 15:36:21 +0100
committerArmand Philippot <git@armandphilippot.com>2023-11-11 18:15:27 +0100
commit655be4404630a20ae4ca40c4af84afcc2e63557b (patch)
treeb69cf241cfb4df7042f50be6a56b7c5f4414edd0 /src/utils/hooks/use-input-autofocus.tsx
parente2daf7f81789c54b23ade72bd164492e7304d375 (diff)
refactor(hooks): replace useInputAutofocus with useAutofocus hook
* extract setTimeout logic using useTimeout * change condition to be a function * return a ref
Diffstat (limited to 'src/utils/hooks/use-input-autofocus.tsx')
-rw-r--r--src/utils/hooks/use-input-autofocus.tsx37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/utils/hooks/use-input-autofocus.tsx b/src/utils/hooks/use-input-autofocus.tsx
deleted file mode 100644
index d0fcd06..0000000
--- a/src/utils/hooks/use-input-autofocus.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import { RefObject, useEffect } from 'react';
-
-export type UseInputAutofocusProps = {
- /**
- * The focus condition. True give focus to the input.
- */
- condition: boolean;
- /**
- * An optional delay. Default: 0.
- */
- delay?: number;
- /**
- * A reference to the input element.
- */
- ref: RefObject<HTMLInputElement>;
-};
-
-/**
- * Set focus on an input with an optional delay.
- */
-export const useInputAutofocus = ({
- condition,
- delay = 0,
- ref,
-}: UseInputAutofocusProps) => {
- useEffect(() => {
- const timer = setTimeout(() => {
- if (ref.current && condition) {
- ref.current.focus();
- }
- }, delay);
-
- return () => {
- clearTimeout(timer);
- };
- }, [condition, delay, ref]);
-};