UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

36 lines (27 loc) 1.07 kB
import { useEffect } from 'react'; import { useHotkeysContext } from 'react-hotkeys-hook'; import { FOLDER_WIDTH } from '@/const/layoutTokens'; import { useGlobalStore } from '@/store/global'; import { systemStatusSelectors } from '@/store/global/selectors'; import { HotkeyEnum, HotkeyScopeEnum } from '@/types/hotkey'; import { useHotkeyById } from './useHotkeyById'; export const useToggleFilesLeftPanelHotkey = () => { const showFilePanel = useGlobalStore(systemStatusSelectors.showFilePanel); const updateSystemStatus = useGlobalStore((s) => s.updateSystemStatus); return useHotkeyById(HotkeyEnum.ToggleLeftPanel, () => updateSystemStatus({ filePanelWidth: showFilePanel ? 0 : FOLDER_WIDTH, showFilePanel: !showFilePanel, }), ); }; // 注册聚合 export const useRegisterFilesHotkeys = () => { const { enableScope, disableScope } = useHotkeysContext(); // Layout useToggleFilesLeftPanelHotkey(); useEffect(() => { enableScope(HotkeyScopeEnum.Files); return () => disableScope(HotkeyScopeEnum.Files); }, []); };