aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/toolbar/search.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-05-24 17:54:23 +0200
committerArmand Philippot <git@armandphilippot.com>2022-05-24 17:54:23 +0200
commit691646c97b09f9150ac823670d6c661358c81c1c (patch)
treecc2115a23d9dae87b7cdfab9223f1366aa629c69 /src/components/organisms/toolbar/search.tsx
parent041fb0974f624368a45316c296c2a3e3c229dae2 (diff)
chore: give autofocus to the toolbar search form
Diffstat (limited to 'src/components/organisms/toolbar/search.tsx')
-rw-r--r--src/components/organisms/toolbar/search.tsx13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/components/organisms/toolbar/search.tsx b/src/components/organisms/toolbar/search.tsx
index dc71c49..6a8af26 100644
--- a/src/components/organisms/toolbar/search.tsx
+++ b/src/components/organisms/toolbar/search.tsx
@@ -1,7 +1,8 @@
import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox';
import MagnifyingGlass from '@components/atoms/icons/magnifying-glass';
import FlippingLabel from '@components/molecules/forms/flipping-label';
-import { forwardRef, ForwardRefRenderFunction } from 'react';
+import useInputAutofocus from '@utils/hooks/use-input-autofocus';
+import { forwardRef, ForwardRefRenderFunction, useRef } from 'react';
import { useIntl } from 'react-intl';
import SearchModal, { type SearchModalProps } from '../modals/search-modal';
import searchStyles from './search.module.scss';
@@ -43,6 +44,13 @@ const Search: ForwardRefRenderFunction<HTMLDivElement, SearchProps> = (
description: 'Search: Open label',
});
+ const searchInputRef = useRef<HTMLInputElement>(null);
+ useInputAutofocus({
+ condition: isActive,
+ delay: 360,
+ ref: searchInputRef,
+ });
+
return (
<div className={`${sharedStyles.item} ${searchStyles.item}`} ref={ref}>
<Checkbox
@@ -61,8 +69,9 @@ const Search: ForwardRefRenderFunction<HTMLDivElement, SearchProps> = (
<MagnifyingGlass />
</FlippingLabel>
<SearchModal
- searchPage={searchPage}
className={`${sharedStyles.modal} ${searchStyles.modal} ${className}`}
+ ref={searchInputRef}
+ searchPage={searchPage}
/>
</div>
);