summaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/downloadManager/DownloadManagerLayout.tsx4
-rw-r--r--src/components/services/tabs/TabItem.tsx6
-rw-r--r--src/components/settings/SettingsLayout.tsx4
-rw-r--r--src/components/settings/releaseNotes/ReleaseNotesLayout.tsx4
-rw-r--r--src/components/ui/input/index.tsx3
-rw-r--r--src/components/ui/select/index.tsx13
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 {
10import { mdiClose } from '@mdi/js'; 10import { mdiClose } from '@mdi/js';
11import { Outlet } from 'react-router-dom'; 11import { Outlet } from 'react-router-dom';
12import type { Actions } from '../../actions/lib/actions'; 12import type { Actions } from '../../actions/lib/actions';
13import { isEscKeyPress } from '../../jsUtils'; 13import { isEscapeKeyPress } from '../../jsUtils';
14import Appear from '../ui/effects/Appear'; 14import Appear from '../ui/effects/Appear';
15import Icon from '../ui/icon'; 15import Icon from '../ui/icon';
16import ErrorBoundary from '../util/ErrorBoundary'; 16import 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';
19import type Service from '../../../models/Service'; 19import type Service from '../../../models/Service';
20import Icon from '../../ui/icon'; 20import Icon from '../../ui/icon';
21import MenuItemConstructorOptions = Electron.MenuItemConstructorOptions; 21import MenuItemConstructorOptions = Electron.MenuItemConstructorOptions;
22import { acceleratorString } from '../../../jsUtils'; 22import { acceleratorString, isShiftKeyPress } from '../../../jsUtils';
23 23
24const IS_SERVICE_DEBUGGING_ENABLED = ( 24const 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';
9import { Outlet } from 'react-router-dom'; 9import { Outlet } from 'react-router-dom';
10import { isEscKeyPress } from '../../jsUtils'; 10import { isEscapeKeyPress } from '../../jsUtils';
11import Appear from '../ui/effects/Appear'; 11import Appear from '../ui/effects/Appear';
12import Icon from '../ui/icon'; 12import Icon from '../ui/icon';
13import ErrorBoundary from '../util/ErrorBoundary'; 13import 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 {
9import { mdiClose } from '@mdi/js'; 9import { mdiClose } from '@mdi/js';
10import { Outlet } from 'react-router-dom'; 10import { Outlet } from 'react-router-dom';
11import type { Actions } from '../../../actions/lib/actions'; 11import type { Actions } from '../../../actions/lib/actions';
12import { isEscKeyPress } from '../../../jsUtils'; 12import { isEscapeKeyPress } from '../../../jsUtils';
13import Appear from '../../ui/effects/Appear'; 13import Appear from '../../ui/effects/Appear';
14import Icon from '../../ui/icon'; 14import Icon from '../../ui/icon';
15import ErrorBoundary from '../../util/ErrorBoundary'; 15import 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';
18import withStyles, { type WithStylesProps } from 'react-jss'; 18import withStyles, { type WithStylesProps } from 'react-jss';
19import { isEnterKeyPress } from '../../../jsUtils';
19// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> 20// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
20import Error from '../error'; 21import Error from '../error';
21import Icon from '../icon'; 22import 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';
15import withStyles, { type WithStylesProps } from 'react-jss'; 15import withStyles, { type WithStylesProps } from 'react-jss';
16import {
17 isArrowDownKeyPress,
18 isArrowUpKeyPress,
19 isEnterKeyPress,
20} from '../../../jsUtils';
16import type { Theme } from '../../../themes'; 21import type { Theme } from '../../../themes';
17// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation> 22// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
18import Error from '../error'; 23import 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