diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/downloadManager/DownloadManagerLayout.tsx | 4 | ||||
-rw-r--r-- | src/components/services/tabs/TabItem.tsx | 6 | ||||
-rw-r--r-- | src/components/settings/SettingsLayout.tsx | 4 | ||||
-rw-r--r-- | src/components/settings/releaseNotes/ReleaseNotesLayout.tsx | 4 | ||||
-rw-r--r-- | src/components/ui/input/index.tsx | 3 | ||||
-rw-r--r-- | src/components/ui/select/index.tsx | 13 |
6 files changed, 20 insertions, 14 deletions
diff --git a/src/components/downloadManager/DownloadManagerLayout.tsx b/src/components/downloadManager/DownloadManagerLayout.tsx index 43670355c..09a1b2096 100644 --- a/src/components/downloadManager/DownloadManagerLayout.tsx +++ b/src/components/downloadManager/DownloadManagerLayout.tsx | |||
@@ -10,7 +10,7 @@ import { | |||
10 | import { mdiClose } from '@mdi/js'; | 10 | import { mdiClose } from '@mdi/js'; |
11 | import { Outlet } from 'react-router-dom'; | 11 | import { Outlet } from 'react-router-dom'; |
12 | import type { Actions } from '../../actions/lib/actions'; | 12 | import type { Actions } from '../../actions/lib/actions'; |
13 | import { isEscKeyPress } from '../../jsUtils'; | 13 | import { isEscapeKeyPress } from '../../jsUtils'; |
14 | import Appear from '../ui/effects/Appear'; | 14 | import Appear from '../ui/effects/Appear'; |
15 | import Icon from '../ui/icon'; | 15 | import Icon from '../ui/icon'; |
16 | import ErrorBoundary from '../util/ErrorBoundary'; | 16 | import ErrorBoundary from '../util/ErrorBoundary'; |
@@ -45,7 +45,7 @@ class DownloadManagerLayout extends Component<IProps> { | |||
45 | } | 45 | } |
46 | 46 | ||
47 | handleKeyDown(e: KeyboardEvent) { | 47 | handleKeyDown(e: KeyboardEvent) { |
48 | if (isEscKeyPress(e.key)) { | 48 | if (isEscapeKeyPress(e.key)) { |
49 | this.props.actions!.ui.closeSettings(); | 49 | this.props.actions!.ui.closeSettings(); |
50 | } | 50 | } |
51 | } | 51 | } |
diff --git a/src/components/services/tabs/TabItem.tsx b/src/components/services/tabs/TabItem.tsx index bf193e136..0e999506a 100644 --- a/src/components/services/tabs/TabItem.tsx +++ b/src/components/services/tabs/TabItem.tsx | |||
@@ -19,7 +19,7 @@ import globalMessages from '../../../i18n/globalMessages'; | |||
19 | import type Service from '../../../models/Service'; | 19 | import type Service from '../../../models/Service'; |
20 | import Icon from '../../ui/icon'; | 20 | import Icon from '../../ui/icon'; |
21 | import MenuItemConstructorOptions = Electron.MenuItemConstructorOptions; | 21 | import MenuItemConstructorOptions = Electron.MenuItemConstructorOptions; |
22 | import { acceleratorString } from '../../../jsUtils'; | 22 | import { acceleratorString, isShiftKeyPress } from '../../../jsUtils'; |
23 | 23 | ||
24 | const IS_SERVICE_DEBUGGING_ENABLED = ( | 24 | const IS_SERVICE_DEBUGGING_ENABLED = ( |
25 | localStorage.getItem('debug') || '' | 25 | localStorage.getItem('debug') || '' |
@@ -171,8 +171,8 @@ class TabItem extends Component<IProps, IState> { | |||
171 | ); | 171 | ); |
172 | } | 172 | } |
173 | 173 | ||
174 | handleShortcutIndex = (event, showShortcutIndex = true) => { | 174 | handleShortcutIndex = (event: KeyboardEvent, showShortcutIndex = true) => { |
175 | if (event.key === 'Shift') { | 175 | if (isShiftKeyPress(event.key)) { |
176 | this.setState({ showShortcutIndex }); | 176 | this.setState({ showShortcutIndex }); |
177 | } | 177 | } |
178 | }; | 178 | }; |
diff --git a/src/components/settings/SettingsLayout.tsx b/src/components/settings/SettingsLayout.tsx index a5fa13d71..3b5d81cdd 100644 --- a/src/components/settings/SettingsLayout.tsx +++ b/src/components/settings/SettingsLayout.tsx | |||
@@ -7,7 +7,7 @@ import { | |||
7 | injectIntl, | 7 | injectIntl, |
8 | } from 'react-intl'; | 8 | } from 'react-intl'; |
9 | import { Outlet } from 'react-router-dom'; | 9 | import { Outlet } from 'react-router-dom'; |
10 | import { isEscKeyPress } from '../../jsUtils'; | 10 | import { isEscapeKeyPress } from '../../jsUtils'; |
11 | import Appear from '../ui/effects/Appear'; | 11 | import Appear from '../ui/effects/Appear'; |
12 | import Icon from '../ui/icon'; | 12 | import Icon from '../ui/icon'; |
13 | import ErrorBoundary from '../util/ErrorBoundary'; | 13 | import ErrorBoundary from '../util/ErrorBoundary'; |
@@ -41,7 +41,7 @@ class SettingsLayout extends Component<PropsWithChildren<IProps>> { | |||
41 | } | 41 | } |
42 | 42 | ||
43 | handleKeyDown(e: KeyboardEvent): void { | 43 | handleKeyDown(e: KeyboardEvent): void { |
44 | if (isEscKeyPress(e.key)) { | 44 | if (isEscapeKeyPress(e.key)) { |
45 | this.props.closeSettings(); | 45 | this.props.closeSettings(); |
46 | } | 46 | } |
47 | } | 47 | } |
diff --git a/src/components/settings/releaseNotes/ReleaseNotesLayout.tsx b/src/components/settings/releaseNotes/ReleaseNotesLayout.tsx index 4fb31d053..1743bb5a1 100644 --- a/src/components/settings/releaseNotes/ReleaseNotesLayout.tsx +++ b/src/components/settings/releaseNotes/ReleaseNotesLayout.tsx | |||
@@ -9,7 +9,7 @@ import { | |||
9 | import { mdiClose } from '@mdi/js'; | 9 | import { mdiClose } from '@mdi/js'; |
10 | import { Outlet } from 'react-router-dom'; | 10 | import { Outlet } from 'react-router-dom'; |
11 | import type { Actions } from '../../../actions/lib/actions'; | 11 | import type { Actions } from '../../../actions/lib/actions'; |
12 | import { isEscKeyPress } from '../../../jsUtils'; | 12 | import { isEscapeKeyPress } from '../../../jsUtils'; |
13 | import Appear from '../../ui/effects/Appear'; | 13 | import Appear from '../../ui/effects/Appear'; |
14 | import Icon from '../../ui/icon'; | 14 | import Icon from '../../ui/icon'; |
15 | import ErrorBoundary from '../../util/ErrorBoundary'; | 15 | import ErrorBoundary from '../../util/ErrorBoundary'; |
@@ -44,7 +44,7 @@ class ReleaseNotesLayout extends Component<IProps> { | |||
44 | } | 44 | } |
45 | 45 | ||
46 | handleKeyDown(e: KeyboardEvent) { | 46 | handleKeyDown(e: KeyboardEvent) { |
47 | if (isEscKeyPress(e.key)) { | 47 | if (isEscapeKeyPress(e.key)) { |
48 | this.props.actions!.ui.closeSettings(); | 48 | this.props.actions!.ui.closeSettings(); |
49 | } | 49 | } |
50 | } | 50 | } |
diff --git a/src/components/ui/input/index.tsx b/src/components/ui/input/index.tsx index 225517ba8..7e3179baf 100644 --- a/src/components/ui/input/index.tsx +++ b/src/components/ui/input/index.tsx | |||
@@ -16,6 +16,7 @@ import { | |||
16 | injectIntl, | 16 | injectIntl, |
17 | } from 'react-intl'; | 17 | } from 'react-intl'; |
18 | import withStyles, { type WithStylesProps } from 'react-jss'; | 18 | import withStyles, { type WithStylesProps } from 'react-jss'; |
19 | import { isEnterKeyPress } from '../../../jsUtils'; | ||
19 | // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> | 20 | // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> |
20 | import Error from '../error'; | 21 | import Error from '../error'; |
21 | import Icon from '../icon'; | 22 | import Icon from '../icon'; |
@@ -96,7 +97,7 @@ class Input extends Component<IProps, IState> { | |||
96 | } | 97 | } |
97 | 98 | ||
98 | onInputKeyPress(e: KeyboardEvent<HTMLInputElement>): void { | 99 | onInputKeyPress(e: KeyboardEvent<HTMLInputElement>): void { |
99 | if (e.key === 'Enter') { | 100 | if (isEnterKeyPress(e.key)) { |
100 | const { onEnterKey = noop } = this.props; | 101 | const { onEnterKey = noop } = this.props; |
101 | onEnterKey(); | 102 | onEnterKey(); |
102 | } | 103 | } |
diff --git a/src/components/ui/select/index.tsx b/src/components/ui/select/index.tsx index 397fd97ed..c19c12417 100644 --- a/src/components/ui/select/index.tsx +++ b/src/components/ui/select/index.tsx | |||
@@ -13,6 +13,11 @@ import { | |||
13 | createRef, | 13 | createRef, |
14 | } from 'react'; | 14 | } from 'react'; |
15 | import withStyles, { type WithStylesProps } from 'react-jss'; | 15 | import withStyles, { type WithStylesProps } from 'react-jss'; |
16 | import { | ||
17 | isArrowDownKeyPress, | ||
18 | isArrowUpKeyPress, | ||
19 | isEnterKeyPress, | ||
20 | } from '../../../jsUtils'; | ||
16 | import type { Theme } from '../../../themes'; | 21 | import type { Theme } from '../../../themes'; |
17 | // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> | 22 | // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> |
18 | import Error from '../error'; | 23 | import Error from '../error'; |
@@ -288,23 +293,23 @@ class SelectComponent extends Component<IProps, IState> { | |||
288 | 293 | ||
289 | if (!open) return; | 294 | if (!open) return; |
290 | 295 | ||
291 | if (e.key === 'ArrowUp' || e.key === 'ArrowDown') { | 296 | if (isArrowUpKeyPress(e.key) || isArrowDownKeyPress(e.key)) { |
292 | e.preventDefault(); | 297 | e.preventDefault(); |
293 | } | 298 | } |
294 | 299 | ||
295 | if (this.componentRef?.current) { | 300 | if (this.componentRef?.current) { |
296 | if (e.key === 'ArrowUp' && selected > 0) { | 301 | if (isArrowUpKeyPress(e.key) && selected > 0) { |
297 | this.setState((state: IState) => ({ | 302 | this.setState((state: IState) => ({ |
298 | selected: state.selected - 1, | 303 | selected: state.selected - 1, |
299 | })); | 304 | })); |
300 | } else if ( | 305 | } else if ( |
301 | e.key === 'ArrowDown' && | 306 | isArrowDownKeyPress(e.key) && |
302 | selected < Object.keys(options!).length - 1 | 307 | selected < Object.keys(options!).length - 1 |
303 | ) { | 308 | ) { |
304 | this.setState((state: IState) => ({ | 309 | this.setState((state: IState) => ({ |
305 | selected: state.selected + 1, | 310 | selected: state.selected + 1, |
306 | })); | 311 | })); |
307 | } else if (e.key === 'Enter') { | 312 | } else if (isEnterKeyPress(e.key)) { |
308 | this.select(Object.keys(options!)[selected]); | 313 | this.select(Object.keys(options!)[selected]); |
309 | } | 314 | } |
310 | 315 | ||