UNPKG

ohmysearch

Version:

Ohmysearch - customizable all in one search tool to boost developer productivity

30 lines (28 loc) 890 B
import React, { useCallback } from "react"; import { OMSExtension } from "../../common/types/OMSExtension"; import { useStore } from "../stores/global-stores"; import { sendIpcMessage } from "./ipcEvent"; export default function useCallbackOnSuggestionSelect(suggestion: OMSExtension) { const [pushRoute,] = useStore( (states) => [ states.pushRoute, ] ); return useCallback(() => { if (suggestion.type === "url") { sendIpcMessage("open-url", { url: suggestion.url, }); } else if (suggestion.type === "view") { pushRoute(suggestion.id); document.getElementById('oms-input')?.focus(); // setView((suggestion.view as any).default()); } else if (suggestion.type === "no-op") { // nothing } else { if (suggestion.backgroundAction) { suggestion.backgroundAction(); } } }, [suggestion]); }