FocusToGlobalSearch.jsx 784 B

12345678910111213141516171819202122232425262728293031323334
  1. import { useEffect } from 'react';
  2. import {
  3. useSearchModalActions,
  4. useSearchModalStatus,
  5. } from '~/features/search/client/states/modal/search';
  6. import { useIsEditable } from '~/states/page';
  7. const FocusToGlobalSearch = (props) => {
  8. const isEditable = useIsEditable();
  9. const searchModalData = useSearchModalStatus();
  10. const { open: openSearchModal } = useSearchModalActions();
  11. // setup effect
  12. useEffect(() => {
  13. if (!isEditable) {
  14. return;
  15. }
  16. if (!searchModalData.isOpened) {
  17. openSearchModal();
  18. // remove this
  19. props.onDeleteRender();
  20. }
  21. }, [isEditable, openSearchModal, props, searchModalData.isOpened]);
  22. return null;
  23. };
  24. FocusToGlobalSearch.getHotkeyStrokes = () => {
  25. return [['/']];
  26. };
  27. export default FocusToGlobalSearch;