feat: add shortcuts to open settings page (#1964)

* feat: add shortcuts to open settings page
* refactor: simplify code
* fix: change to useHotKeys
This commit is contained in:
Chen Tao 2025-02-20 12:10:16 +08:00 committed by GitHub
parent dd6d228760
commit 0fb6795833
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 41 additions and 9 deletions

View File

@ -10,6 +10,7 @@ import TopViewContainer from './components/TopView'
import AntdProvider from './context/AntdProvider'
import { SyntaxHighlighterProvider } from './context/SyntaxHighlighterProvider'
import { ThemeProvider } from './context/ThemeProvider'
import NavigationHandler from './handler/NavigationHandler'
import AgentsPage from './pages/agents/AgentsPage'
import AppsPage from './pages/apps/AppsPage'
import FilesPage from './pages/files/FilesPage'
@ -28,6 +29,8 @@ function App(): JSX.Element {
<PersistGate loading={null} persistor={persistor}>
<TopViewContainer>
<HashRouter>
<NavigationHandler />
{/* 添加导航处理组件 */}
<Sidebar />
<Routes>
<Route path="/" element={<HomePage />} />

View File

@ -0,0 +1,17 @@
import { useHotkeys } from 'react-hotkeys-hook'
import { useNavigate } from 'react-router-dom'
const NavigationHandler: React.FC = () => {
const navigate = useNavigate()
useHotkeys(
'meta+, ! ctrl+,',
function () {
navigate('/settings/provider')
},
{ splitKey: '!' }
)
return null
}
export default NavigationHandler

View File

@ -757,7 +757,8 @@
"toggle_show_topics": "Toggle Topics",
"zoom_in": "Zoom In",
"zoom_out": "Zoom Out",
"zoom_reset": "Reset Zoom"
"zoom_reset": "Reset Zoom",
"show_settings": "Open Settings"
},
"theme.auto": "Auto",
"theme.dark": "Dark",
@ -810,4 +811,4 @@
"title": "Docs"
}
}
}
}

View File

@ -768,7 +768,8 @@
"toggle_show_topics": "トピックの表示を切り替え",
"zoom_in": "ズームイン",
"zoom_out": "ズームアウト",
"zoom_reset": "ズームをリセット"
"zoom_reset": "ズームをリセット",
"show_settings": "設定を開く"
},
"theme.auto": "自動",
"theme.dark": "ダークテーマ",
@ -814,4 +815,4 @@
"title": "ドキュメント"
}
}
}
}

View File

@ -746,7 +746,8 @@
"toggle_show_topics": "Переключить отображение топиков",
"zoom_in": "Увеличить",
"zoom_out": "Уменьшить",
"zoom_reset": "Сбросить масштаб"
"zoom_reset": "Сбросить масштаб",
"show_settings": "Открыть настройки"
},
"theme.auto": "Автоматически",
"theme.dark": "Темная",
@ -793,4 +794,4 @@
"title": "Документация"
}
}
}
}

View File

@ -755,6 +755,7 @@
"reset_to_default": "重置为默认",
"search_message": "搜索消息",
"show_app": "显示应用",
"show_settings": "打开设置",
"title": "快捷方式",
"toggle_new_context": "清除上下文",
"toggle_show_assistants": "切换助手显示",
@ -814,4 +815,4 @@
"title": "帮助文档"
}
}
}
}

View File

@ -748,7 +748,8 @@
"toggle_show_topics": "切換話題顯示",
"zoom_in": "放大界面",
"zoom_out": "縮小界面",
"zoom_reset": "重置縮放"
"zoom_reset": "重置縮放",
"show_settings": "打開設定"
},
"theme.auto": "自動",
"theme.dark": "深色主題",
@ -795,4 +796,4 @@
"title": "幫助文件"
}
}
}
}

View File

@ -10,6 +10,13 @@ export interface ShortcutsState {
const initialState: ShortcutsState = {
shortcuts: [
...ZOOM_SHORTCUTS,
{
key: 'show_settings',
shortcut: [isMac ? 'Command' : 'Ctrl', ','],
editable: false,
enabled: true,
system: true
},
{
key: 'show_app',
shortcut: [],