import { activeRequestAtom } from "../hooks/useActiveRequest"; import { useSubscribeActiveWorkspaceId } from "../hooks/useActiveWorkspace"; import { useActiveWorkspaceChangedToast } from "../hooks/useActiveWorkspaceChangedToast"; import { useHotKey, useSubscribeHotKeys } from "../hooks/useHotKey"; import { useSubscribeHttpAuthentication } from "../hooks/useHttpAuthentication"; import { useSyncFontSizeSetting } from "../hooks/useSyncFontSizeSetting"; import { useSyncWorkspaceChildModels } from "../hooks/useSyncWorkspaceChildModels"; import { useSyncZoomSetting } from "../hooks/useSyncZoomSetting"; import { useSubscribeTemplateFunctions } from "../hooks/useTemplateFunctions"; import { jotaiStore } from "../lib/jotai"; import { renameModelWithPrompt } from "../lib/renameModelWithPrompt"; export function GlobalHooks() { useSyncZoomSetting(); useSyncFontSizeSetting(); useSubscribeActiveWorkspaceId(); useSyncWorkspaceChildModels(); useSubscribeTemplateFunctions(); useSubscribeHttpAuthentication(); // Other useful things useActiveWorkspaceChangedToast(); useSubscribeHotKeys(); useHotKey( "request.rename", async () => { const model = jotaiStore.get(activeRequestAtom); if (model == null) return; await renameModelWithPrompt(model); }, { allowDefault: true }, ); return null; }