mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-09 06:49:02 +08:00
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:
parent
f1a9699be4
commit
b405d2e9ac
@ -10,6 +10,7 @@ import TopViewContainer from './components/TopView'
|
|||||||
import AntdProvider from './context/AntdProvider'
|
import AntdProvider from './context/AntdProvider'
|
||||||
import { SyntaxHighlighterProvider } from './context/SyntaxHighlighterProvider'
|
import { SyntaxHighlighterProvider } from './context/SyntaxHighlighterProvider'
|
||||||
import { ThemeProvider } from './context/ThemeProvider'
|
import { ThemeProvider } from './context/ThemeProvider'
|
||||||
|
import NavigationHandler from './handler/NavigationHandler'
|
||||||
import AgentsPage from './pages/agents/AgentsPage'
|
import AgentsPage from './pages/agents/AgentsPage'
|
||||||
import AppsPage from './pages/apps/AppsPage'
|
import AppsPage from './pages/apps/AppsPage'
|
||||||
import FilesPage from './pages/files/FilesPage'
|
import FilesPage from './pages/files/FilesPage'
|
||||||
@ -28,6 +29,8 @@ function App(): JSX.Element {
|
|||||||
<PersistGate loading={null} persistor={persistor}>
|
<PersistGate loading={null} persistor={persistor}>
|
||||||
<TopViewContainer>
|
<TopViewContainer>
|
||||||
<HashRouter>
|
<HashRouter>
|
||||||
|
<NavigationHandler />
|
||||||
|
{/* 添加导航处理组件 */}
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/" element={<HomePage />} />
|
<Route path="/" element={<HomePage />} />
|
||||||
|
|||||||
17
src/renderer/src/handler/NavigationHandler.tsx
Normal file
17
src/renderer/src/handler/NavigationHandler.tsx
Normal 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
|
||||||
@ -757,7 +757,8 @@
|
|||||||
"toggle_show_topics": "Toggle Topics",
|
"toggle_show_topics": "Toggle Topics",
|
||||||
"zoom_in": "Zoom In",
|
"zoom_in": "Zoom In",
|
||||||
"zoom_out": "Zoom Out",
|
"zoom_out": "Zoom Out",
|
||||||
"zoom_reset": "Reset Zoom"
|
"zoom_reset": "Reset Zoom",
|
||||||
|
"show_settings": "Open Settings"
|
||||||
},
|
},
|
||||||
"theme.auto": "Auto",
|
"theme.auto": "Auto",
|
||||||
"theme.dark": "Dark",
|
"theme.dark": "Dark",
|
||||||
@ -810,4 +811,4 @@
|
|||||||
"title": "Docs"
|
"title": "Docs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -768,7 +768,8 @@
|
|||||||
"toggle_show_topics": "トピックの表示を切り替え",
|
"toggle_show_topics": "トピックの表示を切り替え",
|
||||||
"zoom_in": "ズームイン",
|
"zoom_in": "ズームイン",
|
||||||
"zoom_out": "ズームアウト",
|
"zoom_out": "ズームアウト",
|
||||||
"zoom_reset": "ズームをリセット"
|
"zoom_reset": "ズームをリセット",
|
||||||
|
"show_settings": "設定を開く"
|
||||||
},
|
},
|
||||||
"theme.auto": "自動",
|
"theme.auto": "自動",
|
||||||
"theme.dark": "ダークテーマ",
|
"theme.dark": "ダークテーマ",
|
||||||
@ -814,4 +815,4 @@
|
|||||||
"title": "ドキュメント"
|
"title": "ドキュメント"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -746,7 +746,8 @@
|
|||||||
"toggle_show_topics": "Переключить отображение топиков",
|
"toggle_show_topics": "Переключить отображение топиков",
|
||||||
"zoom_in": "Увеличить",
|
"zoom_in": "Увеличить",
|
||||||
"zoom_out": "Уменьшить",
|
"zoom_out": "Уменьшить",
|
||||||
"zoom_reset": "Сбросить масштаб"
|
"zoom_reset": "Сбросить масштаб",
|
||||||
|
"show_settings": "Открыть настройки"
|
||||||
},
|
},
|
||||||
"theme.auto": "Автоматически",
|
"theme.auto": "Автоматически",
|
||||||
"theme.dark": "Темная",
|
"theme.dark": "Темная",
|
||||||
@ -793,4 +794,4 @@
|
|||||||
"title": "Документация"
|
"title": "Документация"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -755,6 +755,7 @@
|
|||||||
"reset_to_default": "重置为默认",
|
"reset_to_default": "重置为默认",
|
||||||
"search_message": "搜索消息",
|
"search_message": "搜索消息",
|
||||||
"show_app": "显示应用",
|
"show_app": "显示应用",
|
||||||
|
"show_settings": "打开设置",
|
||||||
"title": "快捷方式",
|
"title": "快捷方式",
|
||||||
"toggle_new_context": "清除上下文",
|
"toggle_new_context": "清除上下文",
|
||||||
"toggle_show_assistants": "切换助手显示",
|
"toggle_show_assistants": "切换助手显示",
|
||||||
@ -814,4 +815,4 @@
|
|||||||
"title": "帮助文档"
|
"title": "帮助文档"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -748,7 +748,8 @@
|
|||||||
"toggle_show_topics": "切換話題顯示",
|
"toggle_show_topics": "切換話題顯示",
|
||||||
"zoom_in": "放大界面",
|
"zoom_in": "放大界面",
|
||||||
"zoom_out": "縮小界面",
|
"zoom_out": "縮小界面",
|
||||||
"zoom_reset": "重置縮放"
|
"zoom_reset": "重置縮放",
|
||||||
|
"show_settings": "打開設定"
|
||||||
},
|
},
|
||||||
"theme.auto": "自動",
|
"theme.auto": "自動",
|
||||||
"theme.dark": "深色主題",
|
"theme.dark": "深色主題",
|
||||||
@ -795,4 +796,4 @@
|
|||||||
"title": "幫助文件"
|
"title": "幫助文件"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -10,6 +10,13 @@ export interface ShortcutsState {
|
|||||||
const initialState: ShortcutsState = {
|
const initialState: ShortcutsState = {
|
||||||
shortcuts: [
|
shortcuts: [
|
||||||
...ZOOM_SHORTCUTS,
|
...ZOOM_SHORTCUTS,
|
||||||
|
{
|
||||||
|
key: 'show_settings',
|
||||||
|
shortcut: [isMac ? 'Command' : 'Ctrl', ','],
|
||||||
|
editable: false,
|
||||||
|
enabled: true,
|
||||||
|
system: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
key: 'show_app',
|
key: 'show_app',
|
||||||
shortcut: [],
|
shortcut: [],
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user