diff options
author | Vijay A <vraravam@users.noreply.github.com> | 2023-05-28 13:48:21 +0530 |
---|---|---|
committer | Vijay A <vraravam@users.noreply.github.com> | 2023-05-28 13:48:21 +0530 |
commit | 99ca310c73024b51fed1f3077375eed7827f2c20 (patch) | |
tree | 2bd15986f448129a2291acba90ccc6bf68a233e0 /src | |
parent | Disable in-app auto-updates for portable windows installation (fixes #1088) (... (diff) | |
download | ferdium-app-99ca310c73024b51fed1f3077375eed7827f2c20.tar.gz ferdium-app-99ca310c73024b51fed1f3077375eed7827f2c20.tar.zst ferdium-app-99ca310c73024b51fed1f3077375eed7827f2c20.zip |
Fix issues reported by sonarqube linter
Diffstat (limited to 'src')
48 files changed, 112 insertions, 112 deletions
diff --git a/src/components/auth/Invite.tsx b/src/components/auth/Invite.tsx index cebef9365..4f2cb19fe 100644 --- a/src/components/auth/Invite.tsx +++ b/src/components/auth/Invite.tsx | |||
@@ -86,7 +86,7 @@ class Invite extends Component<IProps, IState> { | |||
86 | }, | 86 | }, |
87 | }, | 87 | }, |
88 | }), | 88 | }), |
89 | // TODO - [TS DEBT] need to fix this type once mobx-react-form is updated to next version | 89 | // TODO: [TS DEBT] need to fix this type once mobx-react-form is updated to next version |
90 | ] as any, | 90 | ] as any, |
91 | }, | 91 | }, |
92 | }); | 92 | }); |
diff --git a/src/components/auth/SetupAssistant.tsx b/src/components/auth/SetupAssistant.tsx index c5fb79919..fdcbba45e 100644 --- a/src/components/auth/SetupAssistant.tsx +++ b/src/components/auth/SetupAssistant.tsx | |||
@@ -135,7 +135,7 @@ const styles = theme => ({ | |||
135 | interface IProps extends WithStylesProps<typeof styles>, WrappedComponentProps { | 135 | interface IProps extends WithStylesProps<typeof styles>, WrappedComponentProps { |
136 | onSubmit: (...args: any[]) => void; | 136 | onSubmit: (...args: any[]) => void; |
137 | isInviteSuccessful?: boolean; | 137 | isInviteSuccessful?: boolean; |
138 | services: any; // TODO - [TS DEBT] check legacy services type | 138 | services: any; // TODO: [TS DEBT] check legacy services type |
139 | isSettingUpServices: boolean; | 139 | isSettingUpServices: boolean; |
140 | } | 140 | } |
141 | 141 | ||
diff --git a/src/components/layout/AppLayout.tsx b/src/components/layout/AppLayout.tsx index 86b4e787e..97795212a 100644 --- a/src/components/layout/AppLayout.tsx +++ b/src/components/layout/AppLayout.tsx | |||
@@ -14,7 +14,6 @@ import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; | |||
14 | import ErrorBoundary from '../util/ErrorBoundary'; | 14 | import ErrorBoundary from '../util/ErrorBoundary'; |
15 | import { updateVersionParse } from '../../helpers/update-helpers'; | 15 | import { updateVersionParse } from '../../helpers/update-helpers'; |
16 | 16 | ||
17 | // import globalMessages from '../../i18n/globalMessages'; | ||
18 | import { isMac, isWindows } from '../../environment'; | 17 | import { isMac, isWindows } from '../../environment'; |
19 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; | 18 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; |
20 | import { workspaceStore } from '../../features/workspaces'; | 19 | import { workspaceStore } from '../../features/workspaces'; |
@@ -45,13 +44,11 @@ const messages = defineMessages({ | |||
45 | }, | 44 | }, |
46 | }); | 45 | }); |
47 | 46 | ||
48 | let transition = 'none'; | 47 | const transition = window?.matchMedia('(prefers-reduced-motion: no-preference)') |
48 | ? 'transform 0.5s ease' | ||
49 | : 'none'; | ||
49 | 50 | ||
50 | if (window && window.matchMedia('(prefers-reduced-motion: no-preference)')) { | 51 | const styles = (theme: { workspaces: { drawer: { width: any } } }) => ({ |
51 | transition = 'transform 0.5s ease'; | ||
52 | } | ||
53 | |||
54 | const styles = theme => ({ | ||
55 | appContent: { | 52 | appContent: { |
56 | // width: `calc(100% + ${theme.workspaces.drawer.width}px)`, | 53 | // width: `calc(100% + ${theme.workspaces.drawer.width}px)`, |
57 | width: '100%', | 54 | width: '100%', |
diff --git a/src/components/services/content/ConnectionLostBanner.tsx b/src/components/services/content/ConnectionLostBanner.tsx index 88731f3b9..7040337f0 100644 --- a/src/components/services/content/ConnectionLostBanner.tsx +++ b/src/components/services/content/ConnectionLostBanner.tsx | |||
@@ -21,10 +21,11 @@ const messages = defineMessages({ | |||
21 | }, | 21 | }, |
22 | }); | 22 | }); |
23 | 23 | ||
24 | const buttonTransition = | 24 | const buttonTransition = window?.matchMedia( |
25 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 25 | '(prefers-reduced-motion: no-preference)', |
26 | ? 'opacity 0.25s' | 26 | ) |
27 | : 'none'; | 27 | ? 'opacity 0.25s' |
28 | : 'none'; | ||
28 | 29 | ||
29 | const styles = theme => ({ | 30 | const styles = theme => ({ |
30 | root: { | 31 | root: { |
diff --git a/src/components/services/content/ServiceView.tsx b/src/components/services/content/ServiceView.tsx index 0754bccc5..19dcdd07a 100644 --- a/src/components/services/content/ServiceView.tsx +++ b/src/components/services/content/ServiceView.tsx | |||
@@ -21,7 +21,7 @@ interface IProps { | |||
21 | reload: () => void; | 21 | reload: () => void; |
22 | edit: () => void; | 22 | edit: () => void; |
23 | enable: () => void; | 23 | enable: () => void; |
24 | // isActive?: boolean; // TODO - [TECH DEBT][PROP NOT USED IN COMPONENT] check it | 24 | // isActive?: boolean; // TODO: [TECH DEBT][PROP NOT USED IN COMPONENT] check it |
25 | stores?: RealStores; | 25 | stores?: RealStores; |
26 | isSpellcheckerEnabled: boolean; | 26 | isSpellcheckerEnabled: boolean; |
27 | } | 27 | } |
@@ -35,7 +35,7 @@ interface IState { | |||
35 | @inject('stores', 'actions') | 35 | @inject('stores', 'actions') |
36 | @observer | 36 | @observer |
37 | class ServiceView extends Component<IProps, IState> { | 37 | class ServiceView extends Component<IProps, IState> { |
38 | // hibernationTimer = null; // TODO - [TS DEBT] class property not reassigned, need to find its purpose | 38 | // hibernationTimer = null; // TODO: [TS DEBT] class property not reassigned, need to find its purpose |
39 | 39 | ||
40 | autorunDisposer: IReactionDisposer | undefined; | 40 | autorunDisposer: IReactionDisposer | undefined; |
41 | 41 | ||
@@ -65,7 +65,7 @@ class ServiceView extends Component<IProps, IState> { | |||
65 | componentWillUnmount() { | 65 | componentWillUnmount() { |
66 | this.autorunDisposer!(); | 66 | this.autorunDisposer!(); |
67 | clearTimeout(this.forceRepaintTimeout!); | 67 | clearTimeout(this.forceRepaintTimeout!); |
68 | // clearTimeout(this.hibernationTimer); // TODO - [TS DEBT] class property not reassigned, need to find its purpose | 68 | // clearTimeout(this.hibernationTimer); // TODO: [TS DEBT] class property not reassigned, need to find its purpose |
69 | } | 69 | } |
70 | 70 | ||
71 | render() { | 71 | render() { |
@@ -111,7 +111,7 @@ class ServiceView extends Component<IProps, IState> { | |||
111 | {service.hasCrashed && ( | 111 | {service.hasCrashed && ( |
112 | <WebviewCrashHandler | 112 | <WebviewCrashHandler |
113 | name={service.recipe.name} | 113 | name={service.recipe.name} |
114 | // webview={service.webview} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it | 114 | // webview={service.webview} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it |
115 | reload={reload} | 115 | reload={reload} |
116 | /> | 116 | /> |
117 | )} | 117 | )} |
@@ -177,7 +177,7 @@ class ServiceView extends Component<IProps, IState> { | |||
177 | {service.isActive && ( | 177 | {service.isActive && ( |
178 | <ServiceDisabled | 178 | <ServiceDisabled |
179 | name={service.name === '' ? service.recipe.name : service.name} | 179 | name={service.name === '' ? service.recipe.name : service.name} |
180 | // webview={service.webview} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it | 180 | // webview={service.webview} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it |
181 | enable={enable} | 181 | enable={enable} |
182 | /> | 182 | /> |
183 | )} | 183 | )} |
diff --git a/src/components/services/content/ServiceWebview.tsx b/src/components/services/content/ServiceWebview.tsx index ac8d1ea66..008e1b227 100644 --- a/src/components/services/content/ServiceWebview.tsx +++ b/src/components/services/content/ServiceWebview.tsx | |||
@@ -32,7 +32,7 @@ class ServiceWebview extends Component<IProps> { | |||
32 | reaction( | 32 | reaction( |
33 | () => this.webview, | 33 | () => this.webview, |
34 | () => { | 34 | () => { |
35 | if (this.webview && this.webview.view) { | 35 | if (this.webview?.view) { |
36 | this.webview.view.addEventListener('console-message', e => { | 36 | this.webview.view.addEventListener('console-message', e => { |
37 | debug('Service logged a message:', e.message); | 37 | debug('Service logged a message:', e.message); |
38 | }); | 38 | }); |
@@ -97,7 +97,7 @@ class ServiceWebview extends Component<IProps> { | |||
97 | <ElectronWebView | 97 | <ElectronWebView |
98 | ref={webview => { | 98 | ref={webview => { |
99 | this._setWebview(webview); | 99 | this._setWebview(webview); |
100 | if (webview && webview.view) { | 100 | if (webview?.view) { |
101 | webview.view.addEventListener( | 101 | webview.view.addEventListener( |
102 | 'did-stop-loading', | 102 | 'did-stop-loading', |
103 | this.refocusWebview, | 103 | this.refocusWebview, |
@@ -122,7 +122,7 @@ class ServiceWebview extends Component<IProps> { | |||
122 | }); | 122 | }); |
123 | }, 0); | 123 | }, 0); |
124 | }} | 124 | }} |
125 | // onUpdateTargetUrl={this.updateTargetUrl} // TODO - [TS DEBT] need to check where its from | 125 | // onUpdateTargetUrl={this.updateTargetUrl} // TODO: [TS DEBT] need to check where its from |
126 | useragent={service.userAgent} | 126 | useragent={service.userAgent} |
127 | disablewebsecurity={ | 127 | disablewebsecurity={ |
128 | service.recipe.disablewebsecurity ? true : undefined | 128 | service.recipe.disablewebsecurity ? true : undefined |
diff --git a/src/components/services/content/Services.tsx b/src/components/services/content/Services.tsx index fa26edaa6..5766e0d75 100644 --- a/src/components/services/content/Services.tsx +++ b/src/components/services/content/Services.tsx | |||
@@ -42,8 +42,8 @@ interface IProps extends WrappedComponentProps, WithStylesProps<typeof styles> { | |||
42 | services?: Service[]; | 42 | services?: Service[]; |
43 | setWebviewReference: () => void; | 43 | setWebviewReference: () => void; |
44 | detachService: () => void; | 44 | detachService: () => void; |
45 | // handleIPCMessage: () => void; // TODO - [TECH DEBT] later check it | 45 | // handleIPCMessage: () => void; // TODO: [TECH DEBT] later check it |
46 | // openWindow: () => void; // TODO - [TECH DEBT] later check it | 46 | // openWindow: () => void; // TODO: [TECH DEBT] later check it |
47 | reload: (options: { serviceId: string }) => void; | 47 | reload: (options: { serviceId: string }) => void; |
48 | openSettings: (options: { path: string }) => void; | 48 | openSettings: (options: { path: string }) => void; |
49 | update: (options: { | 49 | update: (options: { |
@@ -88,10 +88,10 @@ class Services extends Component<IProps, IState> { | |||
88 | render(): ReactElement { | 88 | render(): ReactElement { |
89 | const { | 89 | const { |
90 | services = [], | 90 | services = [], |
91 | // handleIPCMessage, // TODO - [TECH DEBT] later check it | 91 | // handleIPCMessage, // TODO: [TECH DEBT] later check it |
92 | setWebviewReference, | 92 | setWebviewReference, |
93 | detachService, | 93 | detachService, |
94 | // openWindow, // TODO - [TECH DEBT] later check it | 94 | // openWindow, // TODO: [TECH DEBT] later check it |
95 | reload, | 95 | reload, |
96 | openSettings, | 96 | openSettings, |
97 | update, | 97 | update, |
@@ -136,10 +136,10 @@ class Services extends Component<IProps, IState> { | |||
136 | <ServiceView | 136 | <ServiceView |
137 | key={service.id} | 137 | key={service.id} |
138 | service={service} | 138 | service={service} |
139 | // handleIPCMessage={handleIPCMessage} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] later check it | 139 | // handleIPCMessage={handleIPCMessage} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] later check it |
140 | setWebviewRef={setWebviewReference} | 140 | setWebviewRef={setWebviewReference} |
141 | detachService={detachService} | 141 | detachService={detachService} |
142 | // openWindow={openWindow} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] later check it | 142 | // openWindow={openWindow} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] later check it |
143 | reload={() => reload({ serviceId: service.id })} | 143 | reload={() => reload({ serviceId: service.id })} |
144 | edit={() => openSettings({ path: `services/edit/${service.id}` })} | 144 | edit={() => openSettings({ path: `services/edit/${service.id}` })} |
145 | enable={() => | 145 | enable={() => |
diff --git a/src/components/settings/navigation/SettingsNavigation.tsx b/src/components/settings/navigation/SettingsNavigation.tsx index 4e2c7f410..6ffaa411f 100644 --- a/src/components/settings/navigation/SettingsNavigation.tsx +++ b/src/components/settings/navigation/SettingsNavigation.tsx | |||
@@ -187,7 +187,7 @@ class SettingsNavigation extends Component<IProps> { | |||
187 | <button | 187 | <button |
188 | type="button" | 188 | type="button" |
189 | // @ts-ignore | 189 | // @ts-ignore |
190 | to="/auth/logout" // TODO - [TS DEBT] Need to check if button take this prop | 190 | to="/auth/logout" // TODO: [TS DEBT] Need to check if button take this prop |
191 | className="settings-navigation__link" | 191 | className="settings-navigation__link" |
192 | onClick={this.handleLogout.bind(this)} | 192 | onClick={this.handleLogout.bind(this)} |
193 | > | 193 | > |
diff --git a/src/components/settings/services/ServiceItem.tsx b/src/components/settings/services/ServiceItem.tsx index 0737a680c..bf2dfa9da 100644 --- a/src/components/settings/services/ServiceItem.tsx +++ b/src/components/settings/services/ServiceItem.tsx | |||
@@ -32,7 +32,7 @@ class ServiceItem extends Component<IProps> { | |||
32 | render(): ReactElement { | 32 | render(): ReactElement { |
33 | const { | 33 | const { |
34 | service, | 34 | service, |
35 | // toggleAction, // TODO - [TECH DEBT][PROP NOT USED IN COMPONENT] check it later | 35 | // toggleAction, // TODO: [TECH DEBT][PROP NOT USED IN COMPONENT] check it later |
36 | goToServiceForm, | 36 | goToServiceForm, |
37 | } = this.props; | 37 | } = this.props; |
38 | const { intl } = this.props; | 38 | const { intl } = this.props; |
diff --git a/src/components/settings/services/ServicesDashboard.tsx b/src/components/settings/services/ServicesDashboard.tsx index 36057902f..d64779a36 100644 --- a/src/components/settings/services/ServicesDashboard.tsx +++ b/src/components/settings/services/ServicesDashboard.tsx | |||
@@ -54,7 +54,7 @@ const messages = defineMessages({ | |||
54 | interface IProps extends WrappedComponentProps { | 54 | interface IProps extends WrappedComponentProps { |
55 | services: Service[]; | 55 | services: Service[]; |
56 | isLoading: boolean; | 56 | isLoading: boolean; |
57 | // toggleService: any; // TODO - - [TECH DEBT] check it later | 57 | // toggleService: any; // TODO: [TECH DEBT] check it later |
58 | filterServices: any; | 58 | filterServices: any; |
59 | resetFilter: () => void; | 59 | resetFilter: () => void; |
60 | goTo: (to: To, state?: any) => void; | 60 | goTo: (to: To, state?: any) => void; |
@@ -70,7 +70,7 @@ class ServicesDashboard extends Component<IProps> { | |||
70 | const { | 70 | const { |
71 | services, | 71 | services, |
72 | isLoading, | 72 | isLoading, |
73 | // toggleService, // TODO - - [TECH DEBT] check it later | 73 | // toggleService, // TODO: [TECH DEBT] check it later |
74 | filterServices, | 74 | filterServices, |
75 | resetFilter, | 75 | resetFilter, |
76 | goTo, | 76 | goTo, |
@@ -163,7 +163,7 @@ class ServicesDashboard extends Component<IProps> { | |||
163 | <ServiceItem | 163 | <ServiceItem |
164 | key={service.id} | 164 | key={service.id} |
165 | service={service} | 165 | service={service} |
166 | // TODO - - [TECH DEBT][PROPS NOT USED IN COMPONENT] check it later | 166 | // TODO: [TECH DEBT][PROPS NOT USED IN COMPONENT] check it later |
167 | // toggleAction={() => | 167 | // toggleAction={() => |
168 | // toggleService({ serviceId: service.id }) | 168 | // toggleService({ serviceId: service.id }) |
169 | // } | 169 | // } |
diff --git a/src/components/settings/settings/EditSettingsForm.tsx b/src/components/settings/settings/EditSettingsForm.tsx index 6ece340ba..11ae63737 100644 --- a/src/components/settings/settings/EditSettingsForm.tsx +++ b/src/components/settings/settings/EditSettingsForm.tsx | |||
@@ -28,7 +28,12 @@ import { | |||
28 | SPLIT_COLUMNS_MAX, | 28 | SPLIT_COLUMNS_MAX, |
29 | SPLIT_COLUMNS_MIN, | 29 | SPLIT_COLUMNS_MIN, |
30 | } from '../../../config'; | 30 | } from '../../../config'; |
31 | import { isMac, isWinPortable, isWindows, lockFerdiumShortcutKey } from '../../../environment'; | 31 | import { |
32 | isMac, | ||
33 | isWinPortable, | ||
34 | isWindows, | ||
35 | lockFerdiumShortcutKey, | ||
36 | } from '../../../environment'; | ||
32 | import { openExternalUrl, openPath } from '../../../helpers/url-helpers'; | 37 | import { openExternalUrl, openPath } from '../../../helpers/url-helpers'; |
33 | import globalMessages from '../../../i18n/globalMessages'; | 38 | import globalMessages from '../../../i18n/globalMessages'; |
34 | import Icon from '../../ui/icon'; | 39 | import Icon from '../../ui/icon'; |
@@ -376,8 +381,6 @@ class EditSettingsForm extends Component<IProps, IState> { | |||
376 | updateButtonLabelMessage = messages.updateStatusSearching; | 381 | updateButtonLabelMessage = messages.updateStatusSearching; |
377 | } else if (isUpdateAvailable) { | 382 | } else if (isUpdateAvailable) { |
378 | updateButtonLabelMessage = messages.updateStatusAvailable; | 383 | updateButtonLabelMessage = messages.updateStatusAvailable; |
379 | } else { | ||
380 | updateButtonLabelMessage = messages.buttonSearchForUpdate; | ||
381 | } | 384 | } |
382 | 385 | ||
383 | const { lockingFeatureEnabled, scheduledDNDEnabled, reloadAfterResume } = | 386 | const { lockingFeatureEnabled, scheduledDNDEnabled, reloadAfterResume } = |
diff --git a/src/components/settings/team/TeamDashboard.tsx b/src/components/settings/team/TeamDashboard.tsx index 3ef55fac6..6fd2d4426 100644 --- a/src/components/settings/team/TeamDashboard.tsx +++ b/src/components/settings/team/TeamDashboard.tsx | |||
@@ -1,3 +1,5 @@ | |||
1 | // TODO: Is this feature even being used? If not, then we can cleanup this code | ||
2 | |||
1 | import { Component, ReactElement } from 'react'; | 3 | import { Component, ReactElement } from 'react'; |
2 | import { observer } from 'mobx-react'; | 4 | import { observer } from 'mobx-react'; |
3 | import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; | 5 | import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; |
diff --git a/src/components/ui/AppLoader/styles.ts b/src/components/ui/AppLoader/styles.ts index 6bf3b4f3c..5ad41913a 100644 --- a/src/components/ui/AppLoader/styles.ts +++ b/src/components/ui/AppLoader/styles.ts | |||
@@ -1,7 +1,8 @@ | |||
1 | const sloganTransition = | 1 | const sloganTransition = window?.matchMedia( |
2 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 2 | '(prefers-reduced-motion: no-preference)', |
3 | ? 'opacity 1s ease' | 3 | ) |
4 | : 'none'; | 4 | ? 'opacity 1s ease' |
5 | : 'none'; | ||
5 | 6 | ||
6 | export default { | 7 | export default { |
7 | component: { | 8 | component: { |
diff --git a/src/components/ui/Infobox.tsx b/src/components/ui/Infobox.tsx index 1fc24816a..9782db151 100644 --- a/src/components/ui/Infobox.tsx +++ b/src/components/ui/Infobox.tsx | |||
@@ -35,7 +35,7 @@ interface IState { | |||
35 | dismissed: boolean; | 35 | dismissed: boolean; |
36 | } | 36 | } |
37 | 37 | ||
38 | // Can this file be merged into the './infobox/index.tsx' file? | 38 | // TODO: Can this file be merged into the './infobox/index.tsx' file? |
39 | @observer | 39 | @observer |
40 | class Infobox extends Component<IProps, IState> { | 40 | class Infobox extends Component<IProps, IState> { |
41 | constructor(props: IProps) { | 41 | constructor(props: IProps) { |
diff --git a/src/components/ui/Loader.tsx b/src/components/ui/Loader.tsx index 17cb35f41..37555df16 100644 --- a/src/components/ui/Loader.tsx +++ b/src/components/ui/Loader.tsx | |||
@@ -12,7 +12,7 @@ interface IProps { | |||
12 | children?: ReactNode; | 12 | children?: ReactNode; |
13 | } | 13 | } |
14 | 14 | ||
15 | // Can this file be merged into the './loader/index.tsx' file? | 15 | // TODO: Can this file be merged into the './loader/index.tsx' file? |
16 | @inject('stores') | 16 | @inject('stores') |
17 | @observer | 17 | @observer |
18 | class LoaderComponent extends Component<IProps> { | 18 | class LoaderComponent extends Component<IProps> { |
diff --git a/src/components/ui/Radio.tsx b/src/components/ui/Radio.tsx index e6cb5d5a5..b5be64c5d 100644 --- a/src/components/ui/Radio.tsx +++ b/src/components/ui/Radio.tsx | |||
@@ -10,7 +10,7 @@ type Props = { | |||
10 | showLabel: boolean; | 10 | showLabel: boolean; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | // Should this file be converted into the coding style similar to './toggle/index.tsx'? | 13 | // TODO: Should this file be converted into the coding style similar to './toggle/index.tsx'? |
14 | class Radio extends Component<Props> { | 14 | class Radio extends Component<Props> { |
15 | static defaultProps = { | 15 | static defaultProps = { |
16 | focus: false, | 16 | focus: false, |
diff --git a/src/components/ui/Select.tsx b/src/components/ui/Select.tsx index e8e305fdd..8ae2945ce 100644 --- a/src/components/ui/Select.tsx +++ b/src/components/ui/Select.tsx | |||
@@ -18,7 +18,7 @@ interface IProps { | |||
18 | multiple?: boolean; | 18 | multiple?: boolean; |
19 | } | 19 | } |
20 | 20 | ||
21 | // Can this file be merged into the './select/index.tsx' file? | 21 | // TODO: Can this file be merged into the './select/index.tsx' file? |
22 | @observer | 22 | @observer |
23 | class Select extends Component<IProps> { | 23 | class Select extends Component<IProps> { |
24 | private element: RefObject<HTMLSelectElement> = | 24 | private element: RefObject<HTMLSelectElement> = |
@@ -57,7 +57,7 @@ class Select extends Component<IProps> { | |||
57 | let selected = field.value; | 57 | let selected = field.value; |
58 | 58 | ||
59 | if (multiple) { | 59 | if (multiple) { |
60 | if (typeof field.value === 'string' && field.value.slice(0, 1) === '[') { | 60 | if (typeof field.value === 'string' && field.value.startsWith('[')) { |
61 | // Value is JSON encoded | 61 | // Value is JSON encoded |
62 | selected = JSON.parse(field.value); | 62 | selected = JSON.parse(field.value); |
63 | } else if (typeof field.value === 'object') { | 63 | } else if (typeof field.value === 'object') { |
diff --git a/src/components/ui/ServiceIcon.tsx b/src/components/ui/ServiceIcon.tsx index 39a32e44d..6920611d0 100644 --- a/src/components/ui/ServiceIcon.tsx +++ b/src/components/ui/ServiceIcon.tsx | |||
@@ -27,7 +27,7 @@ interface IProps extends WithStylesProps<typeof styles> { | |||
27 | className?: string; | 27 | className?: string; |
28 | } | 28 | } |
29 | 29 | ||
30 | // TODO - [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? | 30 | // TODO: [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? |
31 | @observer | 31 | @observer |
32 | class ServiceIcon extends Component<IProps> { | 32 | class ServiceIcon extends Component<IProps> { |
33 | render(): ReactNode { | 33 | render(): ReactNode { |
diff --git a/src/components/ui/Slider.tsx b/src/components/ui/Slider.tsx index be0846513..aa351ccd2 100644 --- a/src/components/ui/Slider.tsx +++ b/src/components/ui/Slider.tsx | |||
@@ -12,7 +12,7 @@ interface IProps { | |||
12 | onSliderChange?: (e: ChangeEvent) => void; | 12 | onSliderChange?: (e: ChangeEvent) => void; |
13 | } | 13 | } |
14 | 14 | ||
15 | // TODO - [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? | 15 | // TODO: [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? |
16 | @observer | 16 | @observer |
17 | class Slider extends Component<IProps> { | 17 | class Slider extends Component<IProps> { |
18 | onChange(e: ChangeEvent<HTMLInputElement>): void { | 18 | onChange(e: ChangeEvent<HTMLInputElement>): void { |
diff --git a/src/components/ui/StatusBarTargetUrl.tsx b/src/components/ui/StatusBarTargetUrl.tsx index 7b053f410..d969267eb 100644 --- a/src/components/ui/StatusBarTargetUrl.tsx +++ b/src/components/ui/StatusBarTargetUrl.tsx | |||
@@ -8,7 +8,7 @@ interface IProps { | |||
8 | text?: string; | 8 | text?: string; |
9 | } | 9 | } |
10 | 10 | ||
11 | // TODO - [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? | 11 | // TODO: [TS DEBT] Should this file be converted into the coding style similar to './toggle/index.tsx'? |
12 | @observer | 12 | @observer |
13 | class StatusBarTargetUrl extends Component<IProps> { | 13 | class StatusBarTargetUrl extends Component<IProps> { |
14 | render() { | 14 | render() { |
diff --git a/src/components/ui/infobox/index.tsx b/src/components/ui/infobox/index.tsx index 3b878a9de..28ec2ff90 100644 --- a/src/components/ui/infobox/index.tsx +++ b/src/components/ui/infobox/index.tsx | |||
@@ -28,7 +28,7 @@ const buttonStyles = (theme: Theme) => { | |||
28 | const infoBoxTransition: string = 'none'; | 28 | const infoBoxTransition: string = 'none'; |
29 | const ctaTransition: string = 'none'; | 29 | const ctaTransition: string = 'none'; |
30 | 30 | ||
31 | // TODO: Not sure why, but this location alone, the `dinwo` is not defined - and it throws an error thus aborting the startup sequence of ferdium | 31 | // TODO: Not sure why, but this location alone, the `window` is not defined - and it throws an error thus aborting the startup sequence of ferdium |
32 | // if (window && window.matchMedia('(prefers-reduced-motion: no-preference)')) { | 32 | // if (window && window.matchMedia('(prefers-reduced-motion: no-preference)')) { |
33 | // infoBoxTransition = 'all 0.5s'; | 33 | // infoBoxTransition = 'all 0.5s'; |
34 | // ctaTransition = 'opacity 0.3s'; | 34 | // ctaTransition = 'opacity 0.3s'; |
diff --git a/src/components/ui/input/index.tsx b/src/components/ui/input/index.tsx index fe8f35607..064c1807f 100644 --- a/src/components/ui/input/index.tsx +++ b/src/components/ui/input/index.tsx | |||
@@ -67,7 +67,7 @@ class Input extends Component<IProps, IState> { | |||
67 | componentDidMount(): void { | 67 | componentDidMount(): void { |
68 | const { focus = false, data = {} } = this.props; | 68 | const { focus = false, data = {} } = this.props; |
69 | 69 | ||
70 | if (this.inputElement && this.inputElement.current) { | 70 | if (this.inputElement?.current) { |
71 | if (focus) { | 71 | if (focus) { |
72 | this.inputElement.current.focus(); | 72 | this.inputElement.current.focus(); |
73 | } | 73 | } |
diff --git a/src/components/ui/select/index.tsx b/src/components/ui/select/index.tsx index 695e70e28..017de5423 100644 --- a/src/components/ui/select/index.tsx +++ b/src/components/ui/select/index.tsx | |||
@@ -17,7 +17,7 @@ import Wrapper from '../wrapper'; | |||
17 | let popupTransition: string = 'none'; | 17 | let popupTransition: string = 'none'; |
18 | let toggleTransition: string = 'none'; | 18 | let toggleTransition: string = 'none'; |
19 | 19 | ||
20 | if (window && window.matchMedia('(prefers-reduced-motion: no-preference)')) { | 20 | if (window?.matchMedia('(prefers-reduced-motion: no-preference)')) { |
21 | popupTransition = 'all 0.3s'; | 21 | popupTransition = 'all 0.3s'; |
22 | toggleTransition = 'transform 0.3s'; | 22 | toggleTransition = 'transform 0.3s'; |
23 | } | 23 | } |
@@ -194,13 +194,13 @@ class SelectComponent extends Component<IProps, IState> { | |||
194 | componentDidUpdate(): void { | 194 | componentDidUpdate(): void { |
195 | const { open } = this.state; | 195 | const { open } = this.state; |
196 | 196 | ||
197 | if (this.searchInputRef && this.searchInputRef.current && open) { | 197 | if (this.searchInputRef?.current && open) { |
198 | this.searchInputRef.current.focus(); | 198 | this.searchInputRef.current.focus(); |
199 | } | 199 | } |
200 | } | 200 | } |
201 | 201 | ||
202 | componentDidMount(): void { | 202 | componentDidMount(): void { |
203 | if (this.inputRef && this.inputRef.current) { | 203 | if (this.inputRef?.current) { |
204 | const { data } = this.props; | 204 | const { data } = this.props; |
205 | 205 | ||
206 | if (data) { | 206 | if (data) { |
@@ -215,7 +215,7 @@ class SelectComponent extends Component<IProps, IState> { | |||
215 | UNSAFE_componentWillMount(): void { | 215 | UNSAFE_componentWillMount(): void { |
216 | const { value } = this.props; | 216 | const { value } = this.props; |
217 | 217 | ||
218 | if (this.componentRef && this.componentRef.current) { | 218 | if (this.componentRef?.current) { |
219 | this.componentRef.current.removeEventListener( | 219 | this.componentRef.current.removeEventListener( |
220 | 'keydown', | 220 | 'keydown', |
221 | this.keyListener, | 221 | this.keyListener, |
@@ -285,7 +285,7 @@ class SelectComponent extends Component<IProps, IState> { | |||
285 | e.preventDefault(); | 285 | e.preventDefault(); |
286 | } | 286 | } |
287 | 287 | ||
288 | if (this.componentRef && this.componentRef.current) { | 288 | if (this.componentRef?.current) { |
289 | if (e.keyCode === 38 && selected > 0) { | 289 | if (e.keyCode === 38 && selected > 0) { |
290 | this.setState((state: IState) => ({ | 290 | this.setState((state: IState) => ({ |
291 | selected: state.selected - 1, | 291 | selected: state.selected - 1, |
@@ -302,8 +302,7 @@ class SelectComponent extends Component<IProps, IState> { | |||
302 | } | 302 | } |
303 | 303 | ||
304 | if ( | 304 | if ( |
305 | this.activeOptionRef && | 305 | this.activeOptionRef?.current && |
306 | this.activeOptionRef.current && | ||
307 | this.scrollContainerRef && | 306 | this.scrollContainerRef && |
308 | this.scrollContainerRef.current | 307 | this.scrollContainerRef.current |
309 | ) { | 308 | ) { |
@@ -350,13 +349,11 @@ class SelectComponent extends Component<IProps, IState> { | |||
350 | 349 | ||
351 | const { open, needle, value, selected, options } = this.state; | 350 | const { open, needle, value, selected, options } = this.state; |
352 | 351 | ||
353 | let selection = ''; | 352 | let selection = actionText; |
354 | if (!value && defaultValue && options![defaultValue]) { | 353 | if (!value && defaultValue && options![defaultValue]) { |
355 | selection = options![defaultValue]; | 354 | selection = options![defaultValue]; |
356 | } else if (value && options![value]) { | 355 | } else if (value && options![value]) { |
357 | selection = options![value]; | 356 | selection = options![value]; |
358 | } else { | ||
359 | selection = actionText; | ||
360 | } | 357 | } |
361 | 358 | ||
362 | return ( | 359 | return ( |
diff --git a/src/components/ui/textarea/index.tsx b/src/components/ui/textarea/index.tsx index 89e85ac11..fbdef7fc6 100644 --- a/src/components/ui/textarea/index.tsx +++ b/src/components/ui/textarea/index.tsx | |||
@@ -38,7 +38,7 @@ class TextareaComponent extends Component<IProps> { | |||
38 | componentDidMount() { | 38 | componentDidMount() { |
39 | const { data } = this.props; | 39 | const { data } = this.props; |
40 | 40 | ||
41 | if (this.textareaRef && this.textareaRef.current && data) { | 41 | if (this.textareaRef?.current && data) { |
42 | Object.keys(data).map( | 42 | Object.keys(data).map( |
43 | key => (this.textareaRef.current!.dataset[key] = data[key]), | 43 | key => (this.textareaRef.current!.dataset[key] = data[key]), |
44 | ); | 44 | ); |
diff --git a/src/components/ui/toggle/index.tsx b/src/components/ui/toggle/index.tsx index 828941886..48f68943b 100644 --- a/src/components/ui/toggle/index.tsx +++ b/src/components/ui/toggle/index.tsx | |||
@@ -16,10 +16,11 @@ interface IProps | |||
16 | className?: string; | 16 | className?: string; |
17 | } | 17 | } |
18 | 18 | ||
19 | const buttonTransition: string = | 19 | const buttonTransition: string = window?.matchMedia( |
20 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 20 | '(prefers-reduced-motion: no-preference)', |
21 | ? 'all .5s' | 21 | ) |
22 | : 'none'; | 22 | ? 'all .5s' |
23 | : 'none'; | ||
23 | 24 | ||
24 | const styles = (theme: Theme) => ({ | 25 | const styles = (theme: Theme) => ({ |
25 | toggle: { | 26 | toggle: { |
diff --git a/src/containers/auth/SetupAssistantScreen.tsx b/src/containers/auth/SetupAssistantScreen.tsx index 0d4c3feec..1a20ab002 100644 --- a/src/containers/auth/SetupAssistantScreen.tsx +++ b/src/containers/auth/SetupAssistantScreen.tsx | |||
@@ -96,7 +96,7 @@ class SetupAssistantScreen extends Component<IProps, IState> { | |||
96 | <SetupAssistant | 96 | <SetupAssistant |
97 | onSubmit={config => this.setupServices(config)} | 97 | onSubmit={config => this.setupServices(config)} |
98 | services={this.services} | 98 | services={this.services} |
99 | // embed={false} // TODO - [TS DEBT][PROP NOT USED IN COMPONENT] check legacy services type | 99 | // embed={false} // TODO: [TS DEBT][PROP NOT USED IN COMPONENT] check legacy services type |
100 | isSettingUpServices={this.state.isSettingUpServices} | 100 | isSettingUpServices={this.state.isSettingUpServices} |
101 | /> | 101 | /> |
102 | ); | 102 | ); |
diff --git a/src/containers/layout/AppLayoutContainer.tsx b/src/containers/layout/AppLayoutContainer.tsx index 1cffc7ad1..1929492ff 100644 --- a/src/containers/layout/AppLayoutContainer.tsx +++ b/src/containers/layout/AppLayoutContainer.tsx | |||
@@ -120,10 +120,10 @@ class AppLayoutContainer extends Component<IProps> { | |||
120 | const servicesContainer = ( | 120 | const servicesContainer = ( |
121 | <Services | 121 | <Services |
122 | services={services.allDisplayedUnordered} | 122 | services={services.allDisplayedUnordered} |
123 | // handleIPCMessage={handleIPCMessage} // TODO - - [TECH DEBT] check it later | 123 | // handleIPCMessage={handleIPCMessage} // TODO: [TECH DEBT] check it later |
124 | setWebviewReference={setWebviewReference} | 124 | setWebviewReference={setWebviewReference} |
125 | detachService={detachService} | 125 | detachService={detachService} |
126 | // openWindow={openWindow} // TODO - - [TECH DEBT] check it later | 126 | // openWindow={openWindow} // TODO: [TECH DEBT] check it later |
127 | reload={reload} | 127 | reload={reload} |
128 | openSettings={openSettings} | 128 | openSettings={openSettings} |
129 | update={updateService} | 129 | update={updateService} |
diff --git a/src/containers/settings/EditServiceScreen.tsx b/src/containers/settings/EditServiceScreen.tsx index 3b9d3ee43..ff2076fed 100644 --- a/src/containers/settings/EditServiceScreen.tsx +++ b/src/containers/settings/EditServiceScreen.tsx | |||
@@ -391,7 +391,7 @@ class EditServiceScreen extends Component<IProps> { | |||
391 | if (proxy.isEnabled) { | 391 | if (proxy.isEnabled) { |
392 | const serviceProxyConfig: IProxyConfig = service | 392 | const serviceProxyConfig: IProxyConfig = service |
393 | ? /* | 393 | ? /* |
394 | TODO - [TS DEBT] find out why sometimes proxy[service.id] gives undefined | 394 | TODO: [TS DEBT] find out why sometimes proxy[service.id] gives undefined |
395 | Note in proxy service id exist as key but value is undefined rather that proxy empty object | 395 | Note in proxy service id exist as key but value is undefined rather that proxy empty object |
396 | 396 | ||
397 | Temp fix - or-ed {} (to stores.settings.proxy[service.id] ) to avoid undefined proxy in settingStore throw error | 397 | Temp fix - or-ed {} (to stores.settings.proxy[service.id] ) to avoid undefined proxy in settingStore throw error |
@@ -534,9 +534,9 @@ class EditServiceScreen extends Component<IProps> { | |||
534 | action={action} | 534 | action={action} |
535 | recipe={recipe} | 535 | recipe={recipe} |
536 | service={service} | 536 | service={service} |
537 | // user={user.data} // TODO - [TS DEBT] Need to check why its passed as its not used inside EditServiceForm | 537 | // user={user.data} // TODO: [TS DEBT] Need to check why its passed as its not used inside EditServiceForm |
538 | form={form} | 538 | form={form} |
539 | // status={services.actionStatus} // TODO - [TS DEBT] Need to check why its passed as its not used inside EditServiceForm | 539 | // status={services.actionStatus} // TODO: [TS DEBT] Need to check why its passed as its not used inside EditServiceForm |
540 | isSaving={ | 540 | isSaving={ |
541 | services.updateServiceRequest.isExecuting || | 541 | services.updateServiceRequest.isExecuting || |
542 | services.createServiceRequest.isExecuting | 542 | services.createServiceRequest.isExecuting |
diff --git a/src/containers/settings/ServicesScreen.tsx b/src/containers/settings/ServicesScreen.tsx index 70eeffed4..6b648f038 100644 --- a/src/containers/settings/ServicesScreen.tsx +++ b/src/containers/settings/ServicesScreen.tsx | |||
@@ -14,7 +14,7 @@ class ServicesScreen extends Component<IProps> { | |||
14 | this.props.actions.service.resetStatus(); | 14 | this.props.actions.service.resetStatus(); |
15 | } | 15 | } |
16 | 16 | ||
17 | // TODO - [TECH DEBT] need to check it | 17 | // TODO: [TECH DEBT] need to check it |
18 | // deleteService(): void { | 18 | // deleteService(): void { |
19 | // this.props.actions.service.deleteService(); | 19 | // this.props.actions.service.deleteService(); |
20 | // this.props.actions.service.resetFilter(); | 20 | // this.props.actions.service.resetFilter(); |
@@ -38,11 +38,11 @@ class ServicesScreen extends Component<IProps> { | |||
38 | return ( | 38 | return ( |
39 | <ErrorBoundary> | 39 | <ErrorBoundary> |
40 | <ServicesDashboard | 40 | <ServicesDashboard |
41 | // user={user.data} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it later | 41 | // user={user.data} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it later |
42 | services={allServices} | 42 | services={allServices} |
43 | status={services.actionStatus} | 43 | status={services.actionStatus} |
44 | // deleteService={() => this.deleteService()} // TODO - [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it later | 44 | // deleteService={() => this.deleteService()} // TODO: [TECH DEBT][PROPS NOT EXIST IN COMPONENT] check it later |
45 | // toggleService={toggleService} // TODO - [TECH DEBT][PROPS NOT USED IN COMPONENT] check it later | 45 | // toggleService={toggleService} // TODO: [TECH DEBT][PROPS NOT USED IN COMPONENT] check it later |
46 | isLoading={isLoading} | 46 | isLoading={isLoading} |
47 | filterServices={filter} | 47 | filterServices={filter} |
48 | resetFilter={resetFilter} | 48 | resetFilter={resetFilter} |
diff --git a/src/features/appearance/index.ts b/src/features/appearance/index.ts index b6e944724..da75bf57b 100644 --- a/src/features/appearance/index.ts +++ b/src/features/appearance/index.ts | |||
@@ -165,12 +165,6 @@ function generateServiceRibbonWidthStyle( | |||
165 | sidebarSizeBias = 44; | 165 | sidebarSizeBias = 44; |
166 | break; | 166 | break; |
167 | } | 167 | } |
168 | case 55: { | ||
169 | fontSize = 11; | ||
170 | tabItemHeightBias = 13; | ||
171 | sidebarSizeBias = 37; | ||
172 | break; | ||
173 | } | ||
174 | case 80: { | 168 | case 80: { |
175 | fontSize = 11; | 169 | fontSize = 11; |
176 | tabItemHeightBias = 3; | 170 | tabItemHeightBias = 3; |
diff --git a/src/features/todos/components/TodosWebview.tsx b/src/features/todos/components/TodosWebview.tsx index 4b53df956..7b1b17e64 100644 --- a/src/features/todos/components/TodosWebview.tsx +++ b/src/features/todos/components/TodosWebview.tsx | |||
@@ -196,7 +196,7 @@ class TodosWebview extends Component<IProps, IState> { | |||
196 | )} | 196 | )} |
197 | {isTodoUrlValid && ( | 197 | {isTodoUrlValid && ( |
198 | <Webview | 198 | <Webview |
199 | // className={classes.webview} // TODO - [TS DEBT] style not found | 199 | // className={classes.webview} // TODO: [TS DEBT] style not found |
200 | onDidAttach={() => { | 200 | onDidAttach={() => { |
201 | const { setTodosWebview } = this.props; | 201 | const { setTodosWebview } = this.props; |
202 | setTodosWebview(this.webview); | 202 | setTodosWebview(this.webview); |
diff --git a/src/features/todos/containers/TodosScreen.tsx b/src/features/todos/containers/TodosScreen.tsx index 17f61bd95..8941a4b39 100644 --- a/src/features/todos/containers/TodosScreen.tsx +++ b/src/features/todos/containers/TodosScreen.tsx | |||
@@ -31,7 +31,7 @@ class TodosScreen extends Component<IProps> { | |||
31 | this.props.stores!.services.isTodosServiceActive || false | 31 | this.props.stores!.services.isTodosServiceActive || false |
32 | } | 32 | } |
33 | isVisible={todosStore.isTodosPanelVisible} | 33 | isVisible={todosStore.isTodosPanelVisible} |
34 | // togglePanel={todoActions.toggleTodosPanel} // TODO - [TECH DEBT][PROP NOT USED IN COMPONENT] check it later | 34 | // togglePanel={todoActions.toggleTodosPanel} // TODO: [TECH DEBT][PROP NOT USED IN COMPONENT] check it later |
35 | handleClientMessage={todoActions.handleClientMessage} | 35 | handleClientMessage={todoActions.handleClientMessage} |
36 | setTodosWebview={webview => todoActions.setTodosWebview(webview)} | 36 | setTodosWebview={webview => todoActions.setTodosWebview(webview)} |
37 | width={todosStore.width} | 37 | width={todosStore.width} |
diff --git a/src/features/todos/store.ts b/src/features/todos/store.ts index 94be4db6a..882fa6a1e 100644 --- a/src/features/todos/store.ts +++ b/src/features/todos/store.ts | |||
@@ -149,7 +149,7 @@ export default class TodoStore extends FeatureStore { | |||
149 | @action stop() { | 149 | @action stop() { |
150 | super.stop(); | 150 | super.stop(); |
151 | debug('TodoStore::stop'); | 151 | debug('TodoStore::stop'); |
152 | // this.reset(); // TODO - [TECH DEBT][PROP NOT IN CLASS] check it later | 152 | // this.reset(); // TODO: [TECH DEBT][PROP NOT IN CLASS] check it later |
153 | this.isFeatureActive = false; | 153 | this.isFeatureActive = false; |
154 | } | 154 | } |
155 | 155 | ||
diff --git a/src/features/webControls/components/WebControls.tsx b/src/features/webControls/components/WebControls.tsx index 74b343948..e76fca6a2 100644 --- a/src/features/webControls/components/WebControls.tsx +++ b/src/features/webControls/components/WebControls.tsx | |||
@@ -34,10 +34,11 @@ const messages = defineMessages({ | |||
34 | }, | 34 | }, |
35 | }); | 35 | }); |
36 | 36 | ||
37 | const buttonTransition = | 37 | const buttonTransition = window?.matchMedia( |
38 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 38 | '(prefers-reduced-motion: no-preference)', |
39 | ? 'opacity 0.25s' | 39 | ) |
40 | : 'none'; | 40 | ? 'opacity 0.25s' |
41 | : 'none'; | ||
41 | 42 | ||
42 | const styles = theme => ({ | 43 | const styles = theme => ({ |
43 | root: { | 44 | root: { |
@@ -211,7 +212,7 @@ class WebControls extends Component<IProps, IState> { | |||
211 | }); | 212 | }); |
212 | navigate(inputUrl); | 213 | navigate(inputUrl); |
213 | 214 | ||
214 | if (this.inputRef && this.inputRef.current) { | 215 | if (this.inputRef?.current) { |
215 | this.inputRef.current.blur(); | 216 | this.inputRef.current.blur(); |
216 | } | 217 | } |
217 | } else if (event.key === 'Escape') { | 218 | } else if (event.key === 'Escape') { |
@@ -220,7 +221,7 @@ class WebControls extends Component<IProps, IState> { | |||
220 | inputUrl: url, | 221 | inputUrl: url, |
221 | }); | 222 | }); |
222 | 223 | ||
223 | if (this.inputRef && this.inputRef.current) { | 224 | if (this.inputRef?.current) { |
224 | this.inputRef.current.blur(); | 225 | this.inputRef.current.blur(); |
225 | } | 226 | } |
226 | } | 227 | } |
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.tsx b/src/features/workspaces/components/WorkspaceDrawerItem.tsx index 0ad56d1ae..74ca2797d 100644 --- a/src/features/workspaces/components/WorkspaceDrawerItem.tsx +++ b/src/features/workspaces/components/WorkspaceDrawerItem.tsx | |||
@@ -19,10 +19,11 @@ const messages = defineMessages({ | |||
19 | }, | 19 | }, |
20 | }); | 20 | }); |
21 | 21 | ||
22 | const itemTransition = | 22 | const itemTransition = window?.matchMedia( |
23 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 23 | '(prefers-reduced-motion: no-preference)', |
24 | ? 'background-color 300ms ease-out' | 24 | ) |
25 | : 'none'; | 25 | ? 'background-color 300ms ease-out' |
26 | : 'none'; | ||
26 | 27 | ||
27 | const styles = theme => ({ | 28 | const styles = theme => ({ |
28 | item: { | 29 | item: { |
diff --git a/src/features/workspaces/components/WorkspaceItem.tsx b/src/features/workspaces/components/WorkspaceItem.tsx index b097a8298..6c4dd649b 100644 --- a/src/features/workspaces/components/WorkspaceItem.tsx +++ b/src/features/workspaces/components/WorkspaceItem.tsx | |||
@@ -1,4 +1,4 @@ | |||
1 | /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ // TODO - [TS DEBT] Need to check and remove it | 1 | /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ |
2 | import { Component, ReactElement } from 'react'; | 2 | import { Component, ReactElement } from 'react'; |
3 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
4 | import withStyles, { WithStylesProps } from 'react-jss'; | 4 | import withStyles, { WithStylesProps } from 'react-jss'; |
diff --git a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx index c9af22c96..e1cc0f785 100644 --- a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx +++ b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx | |||
@@ -14,10 +14,11 @@ const messages = defineMessages({ | |||
14 | }, | 14 | }, |
15 | }); | 15 | }); |
16 | 16 | ||
17 | const wrapperTransition = | 17 | const wrapperTransition = window?.matchMedia( |
18 | window && window.matchMedia('(prefers-reduced-motion: no-preference)') | 18 | '(prefers-reduced-motion: no-preference)', |
19 | ? 'width 0.5s ease' | 19 | ) |
20 | : 'none'; | 20 | ? 'width 0.5s ease' |
21 | : 'none'; | ||
21 | 22 | ||
22 | const styles = theme => ({ | 23 | const styles = theme => ({ |
23 | wrapper: { | 24 | wrapper: { |
diff --git a/src/features/workspaces/components/WorkspacesDashboard.tsx b/src/features/workspaces/components/WorkspacesDashboard.tsx index 06738b38c..c5f8909c1 100644 --- a/src/features/workspaces/components/WorkspacesDashboard.tsx +++ b/src/features/workspaces/components/WorkspacesDashboard.tsx | |||
@@ -147,7 +147,7 @@ class WorkspacesDashboard extends Component<IProps> { | |||
147 | icon="alert" | 147 | icon="alert" |
148 | type="danger" | 148 | type="danger" |
149 | ctaLabel={intl.formatMessage(messages.tryReloadWorkspaces)} | 149 | ctaLabel={intl.formatMessage(messages.tryReloadWorkspaces)} |
150 | // ctaLoading={getUserWorkspacesRequest.isExecuting} // TODO - [TECH DEBT][PROP NOT USED IN COMPONENT] need to check and update | 150 | // ctaLoading={getUserWorkspacesRequest.isExecuting} // TODO: [TECH DEBT][PROP NOT USED IN COMPONENT] need to check and update |
151 | ctaOnClick={getUserWorkspacesRequest.retry} | 151 | ctaOnClick={getUserWorkspacesRequest.retry} |
152 | > | 152 | > |
153 | {intl.formatMessage(messages.workspacesRequestFailed)} | 153 | {intl.formatMessage(messages.workspacesRequestFailed)} |
diff --git a/src/features/workspaces/store.ts b/src/features/workspaces/store.ts index d63feb1f8..53e3b62ed 100644 --- a/src/features/workspaces/store.ts +++ b/src/features/workspaces/store.ts | |||
@@ -28,7 +28,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
28 | 28 | ||
29 | @observable nextWorkspace: Workspace | undefined; | 29 | @observable nextWorkspace: Workspace | undefined; |
30 | 30 | ||
31 | @observable workspaceBeingEdited: any = null; // TODO - [TS DEBT] fix type later | 31 | @observable workspaceBeingEdited: any = null; // TODO: [TS DEBT] fix type later |
32 | 32 | ||
33 | @observable isSwitchingWorkspace = false; | 33 | @observable isSwitchingWorkspace = false; |
34 | 34 | ||
@@ -36,7 +36,7 @@ export default class WorkspacesStore extends FeatureStore { | |||
36 | 36 | ||
37 | @observable isSettingsRouteActive = false; | 37 | @observable isSettingsRouteActive = false; |
38 | 38 | ||
39 | stores: any; // TODO - [TS DEBT] fix type later | 39 | stores: any; // TODO: [TS DEBT] fix type later |
40 | 40 | ||
41 | actions: Actions | undefined; | 41 | actions: Actions | undefined; |
42 | 42 | ||
diff --git a/src/helpers/userAgent-helpers.ts b/src/helpers/userAgent-helpers.ts index c811b34c9..a89207326 100644 --- a/src/helpers/userAgent-helpers.ts +++ b/src/helpers/userAgent-helpers.ts | |||
@@ -11,7 +11,7 @@ import { | |||
11 | } from '../environment'; | 11 | } from '../environment'; |
12 | 12 | ||
13 | function macOS() { | 13 | function macOS() { |
14 | const version = macosVersion() || ''; | 14 | const version = macosVersion() ?? ''; |
15 | let cpuName = cpus()[0].model.split(' ')[0]; | 15 | let cpuName = cpus()[0].model.split(' ')[0]; |
16 | if (cpuName && /\(/.test(cpuName)) { | 16 | if (cpuName && /\(/.test(cpuName)) { |
17 | cpuName = cpuName.split('(')[0]; | 17 | cpuName = cpuName.split('(')[0]; |
diff --git a/src/index.ts b/src/index.ts index 182a281fa..7ef23415b 100644 --- a/src/index.ts +++ b/src/index.ts | |||
@@ -32,6 +32,7 @@ import { | |||
32 | import { ifUndefined } from './jsUtils'; | 32 | import { ifUndefined } from './jsUtils'; |
33 | 33 | ||
34 | import { mainIpcHandler as basicAuthHandler } from './features/basicAuth'; | 34 | import { mainIpcHandler as basicAuthHandler } from './features/basicAuth'; |
35 | // eslint-disable-next-line import/no-cycle | ||
35 | import ipcApi from './electron/ipc-api'; | 36 | import ipcApi from './electron/ipc-api'; |
36 | import TrayIcon from './lib/Tray'; | 37 | import TrayIcon from './lib/Tray'; |
37 | import DBus from './lib/DBus'; | 38 | import DBus from './lib/DBus'; |
diff --git a/src/jsUtils.ts b/src/jsUtils.ts index 0cc83bb91..47473a538 100644 --- a/src/jsUtils.ts +++ b/src/jsUtils.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | export const ifUndefined = <T>( | 1 | export const ifUndefined = <T>( |
2 | source: undefined | null | T, | 2 | source: undefined | null | T, |
3 | defaultValue: T, | 3 | defaultValue: T, |
4 | ): T => (source !== undefined && source !== null ? source : defaultValue); | 4 | ): T => source ?? defaultValue; |
5 | 5 | ||
6 | export const convertToJSON = (data: string | any | undefined | null) => | 6 | export const convertToJSON = (data: string | any | undefined | null) => |
7 | data && typeof data === 'string' && data.length > 0 ? JSON.parse(data) : data; | 7 | data && typeof data === 'string' && data.length > 0 ? JSON.parse(data) : data; |
diff --git a/src/models/Recipe.ts b/src/models/Recipe.ts index 9a28a59ac..a03d3447f 100644 --- a/src/models/Recipe.ts +++ b/src/models/Recipe.ts | |||
@@ -56,7 +56,7 @@ export interface IRecipe { | |||
56 | readonly knownCertificateHosts?: null | Function; | 56 | readonly knownCertificateHosts?: null | Function; |
57 | readonly events?: null | { (key: string): string }; | 57 | readonly events?: null | { (key: string): string }; |
58 | 58 | ||
59 | // TODO - [TS DEBT] Need to check if below properties are needed and where is inherited / implemented from | 59 | // TODO: [TS DEBT] Need to check if below properties are needed and where is inherited / implemented from |
60 | author?: string[]; | 60 | author?: string[]; |
61 | hasDarkMode?: boolean; | 61 | hasDarkMode?: boolean; |
62 | validateUrl?: (url: string) => boolean; | 62 | validateUrl?: (url: string) => boolean; |
@@ -108,7 +108,7 @@ export default class Recipe implements IRecipe { | |||
108 | // TODO: Is this being used? | 108 | // TODO: Is this being used? |
109 | local = false; | 109 | local = false; |
110 | 110 | ||
111 | // TODO - [TS DEBT] introduced to address missing function but need to check how validateUrl is inherited / implemented in recipe | 111 | // TODO: [TS DEBT] introduced to address missing function but need to check how validateUrl is inherited / implemented in recipe |
112 | validateUrl?: (url: string) => boolean; | 112 | validateUrl?: (url: string) => boolean; |
113 | 113 | ||
114 | // TODO: Need to reconcile which of these are optional/mandatory | 114 | // TODO: Need to reconcile which of these are optional/mandatory |
diff --git a/src/stores/AppStore.ts b/src/stores/AppStore.ts index 18b38799e..82591a2a4 100644 --- a/src/stores/AppStore.ts +++ b/src/stores/AppStore.ts | |||
@@ -212,7 +212,7 @@ export default class AppStore extends TypedStore { | |||
212 | } | 212 | } |
213 | 213 | ||
214 | if (data.error) { | 214 | if (data.error) { |
215 | if (data.error.message && data.error.message.startsWith('404')) { | 215 | if (data.error.message?.startsWith('404')) { |
216 | this.updateStatus = this.updateStatusTypes.NOT_AVAILABLE; | 216 | this.updateStatus = this.updateStatusTypes.NOT_AVAILABLE; |
217 | console.warn( | 217 | console.warn( |
218 | 'Updater warning: there seems to be unpublished pre-release(s) available on GitHub', | 218 | 'Updater warning: there seems to be unpublished pre-release(s) available on GitHub', |
@@ -350,7 +350,7 @@ export default class AppStore extends TypedStore { | |||
350 | if (this.stores.settings.all.app.isAppMuted) return; | 350 | if (this.stores.settings.all.app.isAppMuted) return; |
351 | 351 | ||
352 | // TODO: is there a simple way to use blobs for notifications without storing them on disk? | 352 | // TODO: is there a simple way to use blobs for notifications without storing them on disk? |
353 | if (options.icon && options.icon.startsWith('blob:')) { | 353 | if (options.icon?.startsWith('blob:')) { |
354 | delete options.icon; | 354 | delete options.icon; |
355 | } | 355 | } |
356 | 356 | ||
diff --git a/src/stores/GlobalErrorStore.ts b/src/stores/GlobalErrorStore.ts index be86563d0..8547fec72 100644 --- a/src/stores/GlobalErrorStore.ts +++ b/src/stores/GlobalErrorStore.ts | |||
@@ -86,7 +86,7 @@ export default class GlobalErrorStore extends TypedStore { | |||
86 | if (request.isError) { | 86 | if (request.isError) { |
87 | this.error = request.error; | 87 | this.error = request.error; |
88 | 88 | ||
89 | if (request.error && request.error.json) { | 89 | if (request.error?.json) { |
90 | try { | 90 | try { |
91 | this.response = await request.error.json(); | 91 | this.response = await request.error.json(); |
92 | } catch { | 92 | } catch { |
diff --git a/src/stores/ServicesStore.ts b/src/stores/ServicesStore.ts index 9c15d3a07..44f8b277c 100644 --- a/src/stores/ServicesStore.ts +++ b/src/stores/ServicesStore.ts | |||
@@ -425,12 +425,12 @@ export default class ServicesStore extends TypedStore { | |||
425 | return ( | 425 | return ( |
426 | this.allDisplayed.find( | 426 | this.allDisplayed.find( |
427 | service => service.isTodosService && service.isEnabled, | 427 | service => service.isTodosService && service.isEnabled, |
428 | ) || false | 428 | ) ?? false |
429 | ); | 429 | ); |
430 | } | 430 | } |
431 | 431 | ||
432 | @computed get isTodosServiceActive() { | 432 | @computed get isTodosServiceActive() { |
433 | return this.active && this.active.isTodosService; | 433 | return this.active?.isTodosService; |
434 | } | 434 | } |
435 | 435 | ||
436 | // TODO: This can actually return undefined as well | 436 | // TODO: This can actually return undefined as well |
diff --git a/src/stores/UserStore.ts b/src/stores/UserStore.ts index 6c8f8f20b..7ba8f4222 100644 --- a/src/stores/UserStore.ts +++ b/src/stores/UserStore.ts | |||
@@ -209,7 +209,7 @@ export default class UserStore extends TypedStore { | |||
209 | plan, | 209 | plan, |
210 | currency, | 210 | currency, |
211 | }): Promise<void> { | 211 | }): Promise<void> { |
212 | // TODO - [TS DEBT] Need to find a way proper to implement promise's then and catch in request class | 212 | // TODO: [TS DEBT] Need to find a way proper to implement promise's then and catch in request class |
213 | // @ts-ignore | 213 | // @ts-ignore |
214 | const authToken = await this.signupRequest.execute({ | 214 | const authToken = await this.signupRequest.execute({ |
215 | firstname, | 215 | firstname, |
diff --git a/src/stores/index.ts b/src/stores/index.ts index 8836f2892..f9927d9a3 100644 --- a/src/stores/index.ts +++ b/src/stores/index.ts | |||
@@ -57,7 +57,7 @@ export default ( | |||
57 | 57 | ||
58 | // Initialize all stores | 58 | // Initialize all stores |
59 | for (const name of Object.keys(stores)) { | 59 | for (const name of Object.keys(stores)) { |
60 | if (stores[name] && stores[name].initialize) { | 60 | if (stores[name]?.initialize) { |
61 | stores[name].initialize(); | 61 | stores[name].initialize(); |
62 | } | 62 | } |
63 | } | 63 | } |