// @flow import { observer } from "mobx-react"; import { transparentize } from "polished"; import * as React from "react"; import { useTranslation } from "react-i18next"; import { Dialog, DialogBackdrop, useDialogState } from "reakit/Dialog"; import styled from "styled-components"; import Template from "components/ContextMenu/Template"; import InputSearch from "components/InputSearch"; import Scrollable from "components/Scrollable"; import useStores from "hooks/useStores"; import useUnmount from "hooks/useUnmount"; function QuickMenu() { const { quickMenu } = useStores(); const dialog = useDialogState({ modal: true, animated: 250 }); const { t } = useTranslation(); const handleSearchChange = React.useCallback( (event) => { quickMenu.setSearchTerm(event.target.value); }, [quickMenu] ); useUnmount(() => quickMenu.setSearchTerm("")); React.useEffect(() => { const handleKeyDown = (event) => { if (event.key === "k" && event.metaKey) { dialog.visible ? dialog.hide() : dialog.show(); } }; window.addEventListener("keydown", handleKeyDown); return () => window.removeEventListener("keydown", handleKeyDown); }); return ( {(props) => ( {(props) => (
    {quickMenu.orderedData.map((context) => (

    {context.title}