diff --git a/src/components/background-service.jsx b/src/components/background-service.jsx index 927a1748..96a6bb28 100644 --- a/src/components/background-service.jsx +++ b/src/components/background-service.jsx @@ -1,7 +1,9 @@ import { memo } from 'preact/compat'; import { useEffect, useRef, useState } from 'preact/hooks'; +import { useHotkeys } from 'react-hotkeys-hook'; import { api } from '../utils/api'; +import showToast from '../utils/show-toast'; import states, { saveStatus } from '../utils/states'; import useInterval from '../utils/useInterval'; import usePageVisibility from '../utils/usePageVisibility'; @@ -92,5 +94,14 @@ export default memo(function BackgroundService({ isLoggedIn }) { } }); + // Global keyboard shortcuts "service" + useHotkeys('shift+alt+k', () => { + const currentCloakMode = states.settings.cloakMode; + states.settings.cloakMode = !currentCloakMode; + showToast({ + text: `Cloak mode ${currentCloakMode ? 'disabled' : 'enabled'}`, + }); + }); + return null; }); diff --git a/src/components/keyboard-shortcuts-help.jsx b/src/components/keyboard-shortcuts-help.jsx index 08683cb4..52bca713 100644 --- a/src/components/keyboard-shortcuts-help.jsx +++ b/src/components/keyboard-shortcuts-help.jsx @@ -154,6 +154,14 @@ export default memo(function KeyboardShortcutsHelp() { action: 'Bookmark', keys: d, }, + { + action: 'Toggle Cloak mode', + keys: ( + <> + Shift + Alt + k + > + ), + }, ].map(({ action, keys }) => (