Path: blob/develop/resources/scripts/components/dashboard/search/SearchContainer.tsx
7453 views
import { useState } from 'react';1import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';2import { faSearch } from '@fortawesome/free-solid-svg-icons';3import useEventListener from '@/plugins/useEventListener';4import SearchModal from '@/components/dashboard/search/SearchModal';5import Tooltip from '@/components/elements/tooltip/Tooltip';67export default () => {8const [visible, setVisible] = useState(false);910useEventListener('keydown', (e: KeyboardEvent) => {11if (['input', 'textarea'].indexOf(((e.target as HTMLElement).tagName || 'input').toLowerCase()) < 0) {12if (!visible && e.metaKey && e.key.toLowerCase() === '/') {13setVisible(true);14}15}16});1718return (19<>20<SearchModal appear visible={visible} onDismissed={() => setVisible(false)} />2122<Tooltip placement={'bottom'} content={'Search'}>23<div className={'navigation-link'} onClick={() => setVisible(true)}>24<FontAwesomeIcon icon={faSearch} />25</div>26</Tooltip>27</>28);29};303132