mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-04-16 23:40:32 +08:00
refactor(main): extract keyboard shortcuts to utils
This commit is contained in:
parent
1727d0b6d4
commit
56ad05cbf9
15
src/main.tsx
15
src/main.tsx
@ -25,6 +25,7 @@ import {
|
|||||||
ThemeModeProvider,
|
ThemeModeProvider,
|
||||||
UpdateStateProvider,
|
UpdateStateProvider,
|
||||||
} from "./services/states";
|
} from "./services/states";
|
||||||
|
import { disableWebViewShortcuts } from "./utils/disable-webview-shortcuts";
|
||||||
|
|
||||||
if (!window.ResizeObserver) {
|
if (!window.ResizeObserver) {
|
||||||
window.ResizeObserver = ResizeObserver;
|
window.ResizeObserver = ResizeObserver;
|
||||||
@ -39,19 +40,7 @@ if (!container) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener("keydown", (event) => {
|
disableWebViewShortcuts();
|
||||||
// Disable WebView keyboard shortcuts
|
|
||||||
const disabledShortcuts =
|
|
||||||
["F5", "F7"].includes(event.key) ||
|
|
||||||
(event.altKey && ["ArrowLeft", "ArrowRight"].includes(event.key)) ||
|
|
||||||
((event.ctrlKey || event.metaKey) &&
|
|
||||||
["F", "G", "H", "J", "P", "Q", "R", "U"].includes(
|
|
||||||
event.key.toUpperCase(),
|
|
||||||
));
|
|
||||||
if (disabledShortcuts) {
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const initializeApp = (initialThemeMode: "light" | "dark") => {
|
const initializeApp = (initialThemeMode: "light" | "dark") => {
|
||||||
const contexts = [
|
const contexts = [
|
||||||
|
|||||||
19
src/utils/disable-webview-shortcuts.ts
Normal file
19
src/utils/disable-webview-shortcuts.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
export const disableWebViewShortcuts = () => {
|
||||||
|
const handleKeydown = (event: KeyboardEvent) => {
|
||||||
|
const disabledShortcuts =
|
||||||
|
["F5", "F7"].includes(event.key) ||
|
||||||
|
(event.altKey && ["ArrowLeft", "ArrowRight"].includes(event.key)) ||
|
||||||
|
((event.ctrlKey || event.metaKey) &&
|
||||||
|
["F", "G", "H", "J", "P", "Q", "R", "U"].includes(
|
||||||
|
event.key.toUpperCase(),
|
||||||
|
));
|
||||||
|
|
||||||
|
if (disabledShortcuts) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
document.addEventListener("keydown", handleKeydown);
|
||||||
|
|
||||||
|
return () => document.removeEventListener("keydown", handleKeydown);
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user