aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.js2
-rw-r--r--babel.config.json2
-rw-r--r--package-lock.json62
-rw-r--r--package.json8
-rw-r--r--packages/forms/package.json6
-rw-r--r--packages/forms/src/button/index.tsx6
-rw-r--r--packages/forms/src/error/index.tsx2
-rw-r--r--packages/forms/src/input/index.tsx4
-rw-r--r--packages/forms/src/label/index.tsx6
-rw-r--r--packages/forms/src/select/index.tsx4
-rw-r--r--packages/forms/src/textarea/index.tsx4
-rw-r--r--packages/forms/src/toggle/index.tsx4
-rw-r--r--packages/forms/src/wrapper/index.tsx4
-rw-r--r--packages/ui/package.json6
-rw-r--r--packages/ui/src/badge/ProBadge.tsx2
-rw-r--r--packages/ui/src/badge/index.tsx4
-rw-r--r--packages/ui/src/headline/index.tsx6
-rw-r--r--packages/ui/src/icon/index.tsx2
-rw-r--r--packages/ui/src/infobox/index.tsx4
-rw-r--r--packages/ui/src/loader/index.tsx2
-rw-r--r--src/I18n.js2
-rw-r--r--src/app.js1
-rw-r--r--src/components/AppUpdateInfoBar.js2
-rw-r--r--src/components/auth/AuthLayout.js4
-rw-r--r--src/components/auth/ChangeServer.js2
-rw-r--r--src/components/auth/Import.js2
-rw-r--r--src/components/auth/Invite.js2
-rw-r--r--src/components/auth/Locked.js2
-rw-r--r--src/components/auth/Login.js2
-rw-r--r--src/components/auth/Password.js2
-rw-r--r--src/components/auth/SetupAssistant.js2
-rw-r--r--src/components/auth/Signup.js2
-rw-r--r--src/components/auth/Welcome.js2
-rw-r--r--src/components/layout/AppLayout.js2
-rw-r--r--src/components/layout/Sidebar.js2
-rw-r--r--src/components/services/content/ConnectionLostBanner.js4
-rw-r--r--src/components/services/content/ErrorHandlers/WebviewErrorHandler.js2
-rw-r--r--src/components/services/content/ServiceDisabled.js2
-rw-r--r--src/components/services/content/ServiceView.js2
-rw-r--r--src/components/services/content/ServiceWebview.js2
-rw-r--r--src/components/services/content/Services.js2
-rw-r--r--src/components/services/content/WebviewCrashHandler.js2
-rw-r--r--src/components/services/tabs/TabBarSortableList.js2
-rw-r--r--src/components/services/tabs/TabItem.js2
-rw-r--r--src/components/services/tabs/Tabbar.js2
-rw-r--r--src/components/settings/SettingsLayout.js2
-rw-r--r--src/components/settings/account/AccountDashboard.js2
-rw-r--r--src/components/settings/navigation/SettingsNavigation.js2
-rw-r--r--src/components/settings/recipes/RecipeItem.js2
-rw-r--r--src/components/settings/recipes/RecipesDashboard.js2
-rw-r--r--src/components/settings/services/EditServiceForm.js2
-rw-r--r--src/components/settings/services/ServiceError.js2
-rw-r--r--src/components/settings/services/ServiceItem.js2
-rw-r--r--src/components/settings/services/ServicesDashboard.js2
-rw-r--r--src/components/settings/settings/EditSettingsForm.js2
-rw-r--r--src/components/settings/supportFerdi/SupportFerdiDashboard.js2
-rw-r--r--src/components/settings/team/TeamDashboard.js2
-rw-r--r--src/components/settings/user/EditUserForm.js2
-rw-r--r--src/components/ui/AppLoader/index.js2
-rw-r--r--src/components/ui/Button.js2
-rw-r--r--src/components/ui/FAB.js2
-rw-r--r--src/components/ui/FullscreenLoader/index.js2
-rw-r--r--src/components/ui/ImageUpload.js2
-rw-r--r--src/components/ui/InfoBar.js2
-rw-r--r--src/components/ui/Infobox.js2
-rw-r--r--src/components/ui/Input.js2
-rw-r--r--src/components/ui/Link.js2
-rw-r--r--src/components/ui/Loader.js2
-rw-r--r--src/components/ui/Modal/index.js2
-rw-r--r--src/components/ui/Radio.js2
-rw-r--r--src/components/ui/SearchInput.js2
-rw-r--r--src/components/ui/Select.js4
-rw-r--r--src/components/ui/ServiceIcon.js2
-rw-r--r--src/components/ui/Slider.js2
-rw-r--r--src/components/ui/StatusBarTargetUrl.js2
-rw-r--r--src/components/ui/Tabs/TabItem.tsx2
-rw-r--r--src/components/ui/Tabs/Tabs.js6
-rw-r--r--src/components/ui/Toggle.js2
-rw-r--r--src/components/ui/ToggleRaw.js2
-rw-r--r--src/components/ui/WebviewLoader/index.js2
-rw-r--r--src/components/ui/effects/Appear.js2
-rw-r--r--src/components/util/ErrorBoundary/index.js2
-rw-r--r--src/containers/auth/AuthLayoutContainer.js2
-rw-r--r--src/containers/auth/ChangeServerScreen.js2
-rw-r--r--src/containers/auth/ImportScreen.js2
-rw-r--r--src/containers/auth/InviteScreen.js2
-rw-r--r--src/containers/auth/LockedScreen.js2
-rw-r--r--src/containers/auth/LoginScreen.js2
-rw-r--r--src/containers/auth/PasswordScreen.js2
-rw-r--r--src/containers/auth/SetupAssistantScreen.js2
-rw-r--r--src/containers/auth/SignupScreen.js2
-rw-r--r--src/containers/auth/WelcomeScreen.js2
-rw-r--r--src/containers/layout/AppLayoutContainer.js4
-rw-r--r--src/containers/settings/AccountScreen.js2
-rw-r--r--src/containers/settings/EditServiceScreen.js2
-rw-r--r--src/containers/settings/EditSettingsScreen.js2
-rw-r--r--src/containers/settings/EditUserScreen.js2
-rw-r--r--src/containers/settings/InviteScreen.js2
-rw-r--r--src/containers/settings/RecipesScreen.js2
-rw-r--r--src/containers/settings/ServicesScreen.js2
-rw-r--r--src/containers/settings/SettingsWindow.js2
-rw-r--r--src/containers/settings/SupportScreen.js2
-rw-r--r--src/containers/settings/TeamScreen.js2
-rw-r--r--src/features/basicAuth/Component.js2
-rw-r--r--src/features/nightlyBuilds/Component.js2
-rw-r--r--src/features/publishDebugInfo/Component.js2
-rw-r--r--src/features/quickSwitch/Component.js2
-rw-r--r--src/features/todos/components/TodosWebview.js2
-rw-r--r--src/features/todos/containers/TodosScreen.js2
-rw-r--r--src/features/webControls/components/WebControls.js4
-rw-r--r--src/features/webControls/containers/WebControlsScreen.js2
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.js2
-rw-r--r--src/features/workspaces/components/EditWorkspaceForm.js2
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.js2
-rw-r--r--src/features/workspaces/components/WorkspaceDrawerItem.js2
-rw-r--r--src/features/workspaces/components/WorkspaceItem.js2
-rw-r--r--src/features/workspaces/components/WorkspaceServiceListItem.js2
-rw-r--r--src/features/workspaces/components/WorkspaceSwitchingIndicator.js2
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.js2
-rw-r--r--src/features/workspaces/containers/EditWorkspaceScreen.js2
-rw-r--r--src/features/workspaces/containers/WorkspacesScreen.js2
-rw-r--r--src/routes.js2
-rw-r--r--tsconfig.json2
-rw-r--r--uidev/src/app.tsx1
-rw-r--r--uidev/src/index.tsx1
-rw-r--r--uidev/src/stories/badge.stories.tsx2
-rw-r--r--uidev/src/stories/button.stories.tsx2
-rw-r--r--uidev/src/stories/headline.stories.tsx2
-rw-r--r--uidev/src/stories/icon.stories.tsx1
-rw-r--r--uidev/src/stories/infobox.stories.tsx2
-rw-r--r--uidev/src/stories/input.stories.tsx2
-rw-r--r--uidev/src/stories/loader.stories.tsx2
-rw-r--r--uidev/src/stories/select.stories.tsx2
-rw-r--r--uidev/src/stories/textarea.stories.tsx2
-rw-r--r--uidev/src/stories/toggle.stories.tsx1
-rw-r--r--uidev/src/withTheme/index.tsx2
136 files changed, 164 insertions, 217 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 057631708..dc727a196 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -74,6 +74,7 @@ module.exports = {
74 'react/button-has-type': 0, 74 'react/button-has-type': 0,
75 'react/forbid-prop-types': 0, 75 'react/forbid-prop-types': 0,
76 'react/jsx-curly-newline': 0, 76 'react/jsx-curly-newline': 0,
77 'react/react-in-jsx-scope': 0,
77 'react/jsx-no-bind': 0, 78 'react/jsx-no-bind': 0,
78 'react/jsx-no-target-blank': 0, 79 'react/jsx-no-target-blank': 0,
79 'react/jsx-props-no-spreading': 0, 80 'react/jsx-props-no-spreading': 0,
@@ -151,6 +152,7 @@ module.exports = {
151 'react/forbid-prop-types': 1, 152 'react/forbid-prop-types': 1,
152 'react/destructuring-assignment': 0, 153 'react/destructuring-assignment': 0,
153 'react/jsx-curly-newline': 0, 154 'react/jsx-curly-newline': 0,
155 'react/react-in-jsx-scope': 0,
154 'react/jsx-filename-extension': 1, 156 'react/jsx-filename-extension': 1,
155 'react/jsx-one-expression-per-line': 0, 157 'react/jsx-one-expression-per-line': 0,
156 'react/jsx-no-bind': 1, 158 'react/jsx-no-bind': 1,
diff --git a/babel.config.json b/babel.config.json
index 03f768c6c..7ef38a9a8 100644
--- a/babel.config.json
+++ b/babel.config.json
@@ -8,7 +8,7 @@
8 } 8 }
9 } 9 }
10 ], 10 ],
11 "@babel/preset-react" 11 ["@babel/preset-react", { "runtime": "automatic" }]
12 ], 12 ],
13 "plugins": [ 13 "plugins": [
14 [ 14 [
diff --git a/package-lock.json b/package-lock.json
index 5ff1d8988..66c375eb6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7809,9 +7809,9 @@
7809 "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" 7809 "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
7810 }, 7810 },
7811 "@types/react": { 7811 "@types/react": {
7812 "version": "16.14.6", 7812 "version": "17.0.27",
7813 "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.6.tgz", 7813 "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.27.tgz",
7814 "integrity": "sha512-Ol/aFKune+P0FSFKIgf+XbhGzYGyz0p7g5befSt4rmbzfGLaZR0q7jPew9k7d3bvrcuaL8dPy9Oz3XGZmf9n+w==", 7814 "integrity": "sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA==",
7815 "requires": { 7815 "requires": {
7816 "@types/prop-types": "*", 7816 "@types/prop-types": "*",
7817 "@types/scheduler": "*", 7817 "@types/scheduler": "*",
@@ -7819,12 +7819,12 @@
7819 } 7819 }
7820 }, 7820 },
7821 "@types/react-dom": { 7821 "@types/react-dom": {
7822 "version": "16.9.13", 7822 "version": "17.0.9",
7823 "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.13.tgz", 7823 "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.9.tgz",
7824 "integrity": "sha512-34Hr3XnmUSJbUVDxIw/e7dhQn2BJZhJmlAaPyPwfTQyuVS9mV/CeyghFcXyvkJXxI7notQJz8mF8FeCVvloJrA==", 7824 "integrity": "sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==",
7825 "dev": true, 7825 "dev": true,
7826 "requires": { 7826 "requires": {
7827 "@types/react": "^16" 7827 "@types/react": "*"
7828 } 7828 }
7829 }, 7829 },
7830 "@types/route-parser": { 7830 "@types/route-parser": {
@@ -26307,25 +26307,12 @@
26307 } 26307 }
26308 }, 26308 },
26309 "react": { 26309 "react": {
26310 "version": "16.14.0", 26310 "version": "17.0.2",
26311 "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", 26311 "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
26312 "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", 26312 "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
26313 "requires": { 26313 "requires": {
26314 "loose-envify": "^1.1.0", 26314 "loose-envify": "^1.1.0",
26315 "object-assign": "^4.1.1", 26315 "object-assign": "^4.1.1"
26316 "prop-types": "^15.6.2"
26317 },
26318 "dependencies": {
26319 "prop-types": {
26320 "version": "15.7.2",
26321 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
26322 "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
26323 "requires": {
26324 "loose-envify": "^1.4.0",
26325 "object-assign": "^4.1.1",
26326 "react-is": "^16.8.1"
26327 }
26328 }
26329 } 26316 }
26330 }, 26317 },
26331 "react-addons-css-transition-group": { 26318 "react-addons-css-transition-group": {
@@ -26345,26 +26332,13 @@
26345 } 26332 }
26346 }, 26333 },
26347 "react-dom": { 26334 "react-dom": {
26348 "version": "16.14.0", 26335 "version": "17.0.2",
26349 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", 26336 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
26350 "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", 26337 "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
26351 "requires": { 26338 "requires": {
26352 "loose-envify": "^1.1.0", 26339 "loose-envify": "^1.1.0",
26353 "object-assign": "^4.1.1", 26340 "object-assign": "^4.1.1",
26354 "prop-types": "^15.6.2", 26341 "scheduler": "^0.20.2"
26355 "scheduler": "^0.19.1"
26356 },
26357 "dependencies": {
26358 "prop-types": {
26359 "version": "15.7.2",
26360 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
26361 "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
26362 "requires": {
26363 "loose-envify": "^1.4.0",
26364 "object-assign": "^4.1.1",
26365 "react-is": "^16.8.1"
26366 }
26367 }
26368 } 26342 }
26369 }, 26343 },
26370 "react-dropzone": { 26344 "react-dropzone": {
@@ -27645,9 +27619,9 @@
27645 } 27619 }
27646 }, 27620 },
27647 "scheduler": { 27621 "scheduler": {
27648 "version": "0.19.1", 27622 "version": "0.20.2",
27649 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", 27623 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
27650 "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", 27624 "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
27651 "requires": { 27625 "requires": {
27652 "loose-envify": "^1.1.0", 27626 "loose-envify": "^1.1.0",
27653 "object-assign": "^4.1.1" 27627 "object-assign": "^4.1.1"
diff --git a/package.json b/package.json
index 176e59be1..e2ddee394 100644
--- a/package.json
+++ b/package.json
@@ -107,10 +107,10 @@
107 "os-name": "4.0.1", 107 "os-name": "4.0.1",
108 "pretty-bytes": "5.6.0", 108 "pretty-bytes": "5.6.0",
109 "prop-types": "15.7.2", 109 "prop-types": "15.7.2",
110 "react": "16.14.0", 110 "react": "17.0.2",
111 "react-addons-css-transition-group": "15.6.2", 111 "react-addons-css-transition-group": "15.6.2",
112 "react-confetti": "6.0.1", 112 "react-confetti": "6.0.1",
113 "react-dom": "16.14.0", 113 "react-dom": "17.0.2",
114 "react-dropzone": "11.3.4", 114 "react-dropzone": "11.3.4",
115 "react-electron-web-view": "2.0.1", 115 "react-electron-web-view": "2.0.1",
116 "react-intl": "5.20.10", 116 "react-intl": "5.20.10",
@@ -149,8 +149,8 @@
149 "@types/mocha": "9.0.0", 149 "@types/mocha": "9.0.0",
150 "@types/ms": "0.7.31", 150 "@types/ms": "0.7.31",
151 "@types/node": "14.17.6", 151 "@types/node": "14.17.6",
152 "@types/react": "16.14.6", 152 "@types/react": "17.0.27",
153 "@types/react-dom": "16.9.13", 153 "@types/react-dom": "17.0.9",
154 "@types/route-parser": "0.1.3", 154 "@types/route-parser": "0.1.3",
155 "@types/tar": "4.0.5", 155 "@types/tar": "4.0.5",
156 "@types/uuid": "8.3.1", 156 "@types/uuid": "8.3.1",
diff --git a/packages/forms/package.json b/packages/forms/package.json
index 5676ed6c3..f073221bc 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -29,11 +29,5 @@
29 "csstype": "3.0.8", 29 "csstype": "3.0.8",
30 "react-loader": "2.4.7" 30 "react-loader": "2.4.7"
31 }, 31 },
32 "peerDependencies": {
33 "classnames": "2.3.1",
34 "react": "16.14.0",
35 "react-dom": "16.14.0",
36 "react-jss": "8.6.1"
37 },
38 "gitHead": "00db2bddccb8bb8ad7d29b8d032876c798b8bbf3" 32 "gitHead": "00db2bddccb8bb8ad7d29b8d032876c798b8bbf3"
39} 33}
diff --git a/packages/forms/src/button/index.tsx b/packages/forms/src/button/index.tsx
index c9ae47d55..d9f372c4b 100644
--- a/packages/forms/src/button/index.tsx
+++ b/packages/forms/src/button/index.tsx
@@ -1,7 +1,7 @@
1import Icon from '@mdi/react'; 1import Icon from '@mdi/react';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import { Property } from 'csstype'; 3import { Property } from 'csstype';
4import React, { Component } from 'react'; 4import { Component, MouseEvent } from 'react';
5import injectStyle, { withTheme } from 'react-jss'; 5import injectStyle, { withTheme } from 'react-jss';
6import Loader from 'react-loader'; 6import Loader from 'react-loader';
7 7
@@ -22,9 +22,7 @@ interface IProps extends IFormField, IWithStyle {
22 id?: string; 22 id?: string;
23 type?: 'button' | 'reset' | 'submit' | undefined; 23 type?: 'button' | 'reset' | 'submit' | undefined;
24 onClick: ( 24 onClick: (
25 event: 25 event: MouseEvent<HTMLButtonElement> | MouseEvent<HTMLAnchorElement>,
26 | React.MouseEvent<HTMLButtonElement>
27 | React.MouseEvent<HTMLAnchorElement>,
28 ) => void; 26 ) => void;
29 buttonType?: ButtonType; 27 buttonType?: ButtonType;
30 stretch?: boolean; 28 stretch?: boolean;
diff --git a/packages/forms/src/error/index.tsx b/packages/forms/src/error/index.tsx
index 243321d97..8439bfc8b 100644
--- a/packages/forms/src/error/index.tsx
+++ b/packages/forms/src/error/index.tsx
@@ -1,5 +1,5 @@
1import { Classes } from 'jss'; 1import { Classes } from 'jss';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import injectSheet from 'react-jss'; 3import injectSheet from 'react-jss';
4 4
5import styles from './styles'; 5import styles from './styles';
diff --git a/packages/forms/src/input/index.tsx b/packages/forms/src/input/index.tsx
index 41751710a..0b16fe688 100644
--- a/packages/forms/src/input/index.tsx
+++ b/packages/forms/src/input/index.tsx
@@ -1,7 +1,7 @@
1import { mdiEye, mdiEyeOff } from '@mdi/js'; 1import { mdiEye, mdiEyeOff } from '@mdi/js';
2import Icon from '@mdi/react'; 2import Icon from '@mdi/react';
3import classnames from 'classnames'; 3import classnames from 'classnames';
4import React, { Component, createRef } from 'react'; 4import { Component, createRef, InputHTMLAttributes } from 'react';
5import injectSheet from 'react-jss'; 5import injectSheet from 'react-jss';
6 6
7import { IFormField, IWithStyle } from '../typings/generic'; 7import { IFormField, IWithStyle } from '../typings/generic';
@@ -18,7 +18,7 @@ interface IData {
18} 18}
19 19
20interface IProps 20interface IProps
21 extends React.InputHTMLAttributes<HTMLInputElement>, 21 extends InputHTMLAttributes<HTMLInputElement>,
22 IFormField, 22 IFormField,
23 IWithStyle { 23 IWithStyle {
24 focus?: boolean; 24 focus?: boolean;
diff --git a/packages/forms/src/label/index.tsx b/packages/forms/src/label/index.tsx
index ad503b785..4d86f23f7 100644
--- a/packages/forms/src/label/index.tsx
+++ b/packages/forms/src/label/index.tsx
@@ -1,15 +1,13 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Classes } from 'jss'; 2import { Classes } from 'jss';
3import React, { Component } from 'react'; 3import { Component, LabelHTMLAttributes } from 'react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
5 5
6import { IFormField } from '../typings/generic'; 6import { IFormField } from '../typings/generic';
7 7
8import styles from './styles'; 8import styles from './styles';
9 9
10interface ILabel 10interface ILabel extends IFormField, LabelHTMLAttributes<HTMLLabelElement> {
11 extends IFormField,
12 React.LabelHTMLAttributes<HTMLLabelElement> {
13 classes: Classes; 11 classes: Classes;
14 isRequired: boolean; 12 isRequired: boolean;
15} 13}
diff --git a/packages/forms/src/select/index.tsx b/packages/forms/src/select/index.tsx
index 7806baa2a..d965d3c93 100644
--- a/packages/forms/src/select/index.tsx
+++ b/packages/forms/src/select/index.tsx
@@ -5,7 +5,7 @@ import {
5} from '@mdi/js'; 5} from '@mdi/js';
6import Icon from '@mdi/react'; 6import Icon from '@mdi/react';
7import classnames from 'classnames'; 7import classnames from 'classnames';
8import React, { Component, createRef } from 'react'; 8import { ChangeEvent, Component, createRef } from 'react';
9import injectStyle from 'react-jss'; 9import injectStyle from 'react-jss';
10 10
11import { IFormField, IWithStyle } from '../typings/generic'; 11import { IFormField, IWithStyle } from '../typings/generic';
@@ -33,7 +33,7 @@ interface IProps extends IFormField, IWithStyle {
33 name: string; 33 name: string;
34 options: IOptions; 34 options: IOptions;
35 value: string; 35 value: string;
36 onChange: (event: React.ChangeEvent<HTMLInputElement>) => void; 36 onChange: (event: ChangeEvent<HTMLInputElement>) => void;
37 showSearch: boolean; 37 showSearch: boolean;
38 data: IData; 38 data: IData;
39} 39}
diff --git a/packages/forms/src/textarea/index.tsx b/packages/forms/src/textarea/index.tsx
index 2d89d1c9f..1b16698eb 100644
--- a/packages/forms/src/textarea/index.tsx
+++ b/packages/forms/src/textarea/index.tsx
@@ -1,5 +1,5 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import React, { Component, createRef } from 'react'; 2import { Component, createRef, TextareaHTMLAttributes } from 'react';
3import injectSheet from 'react-jss'; 3import injectSheet from 'react-jss';
4 4
5import { IFormField, IWithStyle } from '../typings/generic'; 5import { IFormField, IWithStyle } from '../typings/generic';
@@ -15,7 +15,7 @@ interface IData {
15} 15}
16 16
17interface IProps 17interface IProps
18 extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, 18 extends TextareaHTMLAttributes<HTMLTextAreaElement>,
19 IFormField, 19 IFormField,
20 IWithStyle { 20 IWithStyle {
21 focus?: boolean; 21 focus?: boolean;
diff --git a/packages/forms/src/toggle/index.tsx b/packages/forms/src/toggle/index.tsx
index bdf1d22cf..f9ef5775a 100644
--- a/packages/forms/src/toggle/index.tsx
+++ b/packages/forms/src/toggle/index.tsx
@@ -1,6 +1,6 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Property } from 'csstype'; 2import { Property } from 'csstype';
3import React, { Component } from 'react'; 3import { Component, InputHTMLAttributes } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle from 'react-jss';
5 5
6import { IFormField, IWithStyle } from '../typings/generic'; 6import { IFormField, IWithStyle } from '../typings/generic';
@@ -11,7 +11,7 @@ import { Label } from '../label';
11import { Wrapper } from '../wrapper'; 11import { Wrapper } from '../wrapper';
12 12
13interface IProps 13interface IProps
14 extends React.InputHTMLAttributes<HTMLInputElement>, 14 extends InputHTMLAttributes<HTMLInputElement>,
15 IFormField, 15 IFormField,
16 IWithStyle { 16 IWithStyle {
17 className?: string; 17 className?: string;
diff --git a/packages/forms/src/wrapper/index.tsx b/packages/forms/src/wrapper/index.tsx
index 3ae551e2c..ffcd6fe0b 100644
--- a/packages/forms/src/wrapper/index.tsx
+++ b/packages/forms/src/wrapper/index.tsx
@@ -1,10 +1,10 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import React, { Component } from 'react'; 2import { Component, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle from 'react-jss';
4import { IWithStyle } from '../typings/generic'; 4import { IWithStyle } from '../typings/generic';
5 5
6interface IProps extends IWithStyle { 6interface IProps extends IWithStyle {
7 children: React.ReactNode; 7 children: ReactNode;
8 className?: string; 8 className?: string;
9 identifier: string; 9 identifier: string;
10 noMargin?: boolean; 10 noMargin?: boolean;
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 23af393f5..0de76a98b 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -27,11 +27,5 @@
27 "@meetfranz/theme": "file:../theme", 27 "@meetfranz/theme": "file:../theme",
28 "react-loader": "2.4.7" 28 "react-loader": "2.4.7"
29 }, 29 },
30 "peerDependencies": {
31 "classnames": "2.3.1",
32 "react": "16.14.0",
33 "react-dom": "16.14.0",
34 "react-jss": "8.6.1"
35 },
36 "gitHead": "254da30f801169fac376bda1439b46cabbb491ad" 30 "gitHead": "254da30f801169fac376bda1439b46cabbb491ad"
37} 31}
diff --git a/packages/ui/src/badge/ProBadge.tsx b/packages/ui/src/badge/ProBadge.tsx
index 63d5d673a..be7ed8e58 100644
--- a/packages/ui/src/badge/ProBadge.tsx
+++ b/packages/ui/src/badge/ProBadge.tsx
@@ -1,6 +1,6 @@
1import { mdiStar } from '@mdi/js'; 1import { mdiStar } from '@mdi/js';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import React, { Component } from 'react'; 3import { Component } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle from 'react-jss';
5 5
6import { Badge, Icon } from '..'; 6import { Badge, Icon } from '..';
diff --git a/packages/ui/src/badge/index.tsx b/packages/ui/src/badge/index.tsx
index 5dd735879..a8f3ebcbf 100644
--- a/packages/ui/src/badge/index.tsx
+++ b/packages/ui/src/badge/index.tsx
@@ -1,5 +1,5 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import React, { Component } from 'react'; 2import { Component, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle from 'react-jss';
4 4
5import { Theme } from '../../../theme'; 5import { Theme } from '../../../theme';
@@ -8,7 +8,7 @@ import { IWithStyle } from '../typings/generic';
8interface IProps extends IWithStyle { 8interface IProps extends IWithStyle {
9 type: string; 9 type: string;
10 className?: string; 10 className?: string;
11 children: React.ReactNode; 11 children: ReactNode;
12} 12}
13 13
14const badgeStyles = (theme: Theme) => { 14const badgeStyles = (theme: Theme) => {
diff --git a/packages/ui/src/headline/index.tsx b/packages/ui/src/headline/index.tsx
index bf3d4418c..b534a6298 100644
--- a/packages/ui/src/headline/index.tsx
+++ b/packages/ui/src/headline/index.tsx
@@ -1,5 +1,5 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import React, { Component } from 'react'; 2import { Component, createElement, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle from 'react-jss';
4 4
5import { Theme } from '../../../theme'; 5import { Theme } from '../../../theme';
@@ -8,7 +8,7 @@ import { IWithStyle, Omit } from '../typings/generic';
8interface IProps extends IWithStyle { 8interface IProps extends IWithStyle {
9 level?: number; 9 level?: number;
10 className?: string; 10 className?: string;
11 children: string | React.ReactNode; 11 children: string | ReactNode;
12 id?: string; 12 id?: string;
13} 13}
14 14
@@ -39,7 +39,7 @@ class HeadlineComponent extends Component<IProps> {
39 render() { 39 render() {
40 const { classes, level, className, children, id } = this.props; 40 const { classes, level, className, children, id } = this.props;
41 41
42 return React.createElement( 42 return createElement(
43 `h${level}`, 43 `h${level}`,
44 { 44 {
45 id, 45 id,
diff --git a/packages/ui/src/icon/index.tsx b/packages/ui/src/icon/index.tsx
index b644a9234..9753b399c 100644
--- a/packages/ui/src/icon/index.tsx
+++ b/packages/ui/src/icon/index.tsx
@@ -1,6 +1,6 @@
1import MdiIcon from '@mdi/react'; 1import MdiIcon from '@mdi/react';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import React, { Component } from 'react'; 3import { Component } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle from 'react-jss';
5 5
6import { Theme } from '../../../theme'; 6import { Theme } from '../../../theme';
diff --git a/packages/ui/src/infobox/index.tsx b/packages/ui/src/infobox/index.tsx
index 88cfdb620..7bad4a1f2 100644
--- a/packages/ui/src/infobox/index.tsx
+++ b/packages/ui/src/infobox/index.tsx
@@ -1,6 +1,6 @@
1import { mdiClose } from '@mdi/js'; 1import { mdiClose } from '@mdi/js';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import React, { Component } from 'react'; 3import { Component, ReactNode } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle from 'react-jss';
5 5
6import { Icon } from '..'; 6import { Icon } from '..';
@@ -16,7 +16,7 @@ interface IProps extends IWithStyle {
16 ctaOnClick?: () => void; 16 ctaOnClick?: () => void;
17 ctaLabel?: string; 17 ctaLabel?: string;
18 ctaLoading?: boolean; 18 ctaLoading?: boolean;
19 children: React.ReactNode; 19 children: ReactNode;
20 className: string; 20 className: string;
21} 21}
22 22
diff --git a/packages/ui/src/loader/index.tsx b/packages/ui/src/loader/index.tsx
index 244aa9dc9..0607bd48b 100644
--- a/packages/ui/src/loader/index.tsx
+++ b/packages/ui/src/loader/index.tsx
@@ -1,5 +1,5 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import injectStyle, { withTheme } from 'react-jss'; 3import injectStyle, { withTheme } from 'react-jss';
4import ReactLoader from 'react-loader'; 4import ReactLoader from 'react-loader';
5 5
diff --git a/src/I18n.js b/src/I18n.js
index 6fb4cdc61..2a50050ee 100644
--- a/src/I18n.js
+++ b/src/I18n.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { IntlProvider } from 'react-intl'; 4import { IntlProvider } from 'react-intl';
diff --git a/src/app.js b/src/app.js
index 8a1f99320..aea57a673 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1,6 +1,5 @@
1import { webFrame } from 'electron'; 1import { webFrame } from 'electron';
2 2
3import React from 'react';
4import { render } from 'react-dom'; 3import { render } from 'react-dom';
5import { Provider } from 'mobx-react'; 4import { Provider } from 'mobx-react';
6import { syncHistoryWithStore, RouterStore } from 'mobx-react-router'; 5import { syncHistoryWithStore, RouterStore } from 'mobx-react-router';
diff --git a/src/components/AppUpdateInfoBar.js b/src/components/AppUpdateInfoBar.js
index 47b730bde..3f2b1ae95 100644
--- a/src/components/AppUpdateInfoBar.js
+++ b/src/components/AppUpdateInfoBar.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { defineMessages, injectIntl } from 'react-intl'; 3import { defineMessages, injectIntl } from 'react-intl';
4 4
diff --git a/src/components/auth/AuthLayout.js b/src/components/auth/AuthLayout.js
index 17ac221a2..00eded728 100644
--- a/src/components/auth/AuthLayout.js
+++ b/src/components/auth/AuthLayout.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { cloneElement, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { TitleBar } from 'electron-react-titlebar/renderer'; 4import { TitleBar } from 'electron-react-titlebar/renderer';
@@ -87,7 +87,7 @@ class AuthLayout extends Component {
87 )} 87 )}
88 <div className="auth__layout"> 88 <div className="auth__layout">
89 {/* Inject globalError into children */} 89 {/* Inject globalError into children */}
90 {React.cloneElement(children, { 90 {cloneElement(children, {
91 error, 91 error,
92 })} 92 })}
93 </div> 93 </div>
diff --git a/src/components/auth/ChangeServer.js b/src/components/auth/ChangeServer.js
index b98fb50f7..9aeebc5c8 100644
--- a/src/components/auth/ChangeServer.js
+++ b/src/components/auth/ChangeServer.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Import.js b/src/components/auth/Import.js
index 44cb7e791..fe2fe9872 100644
--- a/src/components/auth/Import.js
+++ b/src/components/auth/Import.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js
index df8980314..dd71c2450 100644
--- a/src/components/auth/Invite.js
+++ b/src/components/auth/Invite.js
@@ -1,4 +1,4 @@
1import React, { Component, Fragment } from 'react'; 1import { Component, Fragment } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Locked.js b/src/components/auth/Locked.js
index a507ba140..5b36b9fc2 100644
--- a/src/components/auth/Locked.js
+++ b/src/components/auth/Locked.js
@@ -1,5 +1,5 @@
1import { systemPreferences } from '@electron/remote'; 1import { systemPreferences } from '@electron/remote';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js
index 2f9986858..9f3f636e3 100644
--- a/src/components/auth/Login.js
+++ b/src/components/auth/Login.js
@@ -1,5 +1,5 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */ 1/* eslint jsx-a11y/anchor-is-valid: 0 */
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Password.js b/src/components/auth/Password.js
index 3e678f638..d5bc7fa80 100644
--- a/src/components/auth/Password.js
+++ b/src/components/auth/Password.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/SetupAssistant.js b/src/components/auth/SetupAssistant.js
index 299c40c63..d0efd6361 100644
--- a/src/components/auth/SetupAssistant.js
+++ b/src/components/auth/SetupAssistant.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Signup.js b/src/components/auth/Signup.js
index 816a49669..00625a3ac 100644
--- a/src/components/auth/Signup.js
+++ b/src/components/auth/Signup.js
@@ -1,5 +1,5 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */ 1/* eslint jsx-a11y/anchor-is-valid: 0 */
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js
index 2d2e2ab28..809ec67a7 100644
--- a/src/components/auth/Welcome.js
+++ b/src/components/auth/Welcome.js
@@ -1,5 +1,5 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */ 1/* eslint jsx-a11y/anchor-is-valid: 0 */
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; 4import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js
index 0a65dcffa..9c1dbf139 100644
--- a/src/components/layout/AppLayout.js
+++ b/src/components/layout/AppLayout.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js
index 87233f7ca..76edcf2e1 100644
--- a/src/components/layout/Sidebar.js
+++ b/src/components/layout/Sidebar.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import ReactTooltip from 'react-tooltip'; 3import ReactTooltip from 'react-tooltip';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/services/content/ConnectionLostBanner.js b/src/components/services/content/ConnectionLostBanner.js
index 423edb3c7..236d2739b 100644
--- a/src/components/services/content/ConnectionLostBanner.js
+++ b/src/components/services/content/ConnectionLostBanner.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { createRef, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
@@ -78,7 +78,7 @@ class ConnectionLostBanner extends Component {
78 reload: PropTypes.func.isRequired, 78 reload: PropTypes.func.isRequired,
79 }; 79 };
80 80
81 inputRef = React.createRef(); 81 inputRef = createRef();
82 82
83 render() { 83 render() {
84 const { classes, name, reload } = this.props; 84 const { classes, name, reload } = this.props;
diff --git a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
index b00db8c3f..5c93de80f 100644
--- a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
+++ b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/services/content/ServiceDisabled.js b/src/components/services/content/ServiceDisabled.js
index e59ed58bd..476b23235 100644
--- a/src/components/services/content/ServiceDisabled.js
+++ b/src/components/services/content/ServiceDisabled.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js
index 81401b1d2..8e44efc5f 100644
--- a/src/components/services/content/ServiceView.js
+++ b/src/components/services/content/ServiceView.js
@@ -1,4 +1,4 @@
1import React, { Component, Fragment } from 'react'; 1import { Component, Fragment } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { autorun } from 'mobx'; 3import { autorun } from 'mobx';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js
index d3170be53..b60ed3267 100644
--- a/src/components/services/content/ServiceWebview.js
+++ b/src/components/services/content/ServiceWebview.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { observable, reaction } from 'mobx'; 4import { observable, reaction } from 'mobx';
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js
index fb43fb816..1edf31bd3 100644
--- a/src/components/services/content/Services.js
+++ b/src/components/services/content/Services.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react';
4import { Link } from 'react-router'; 4import { Link } from 'react-router';
diff --git a/src/components/services/content/WebviewCrashHandler.js b/src/components/services/content/WebviewCrashHandler.js
index a332602be..3607435b3 100644
--- a/src/components/services/content/WebviewCrashHandler.js
+++ b/src/components/services/content/WebviewCrashHandler.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js
index 1a389991d..146cd93eb 100644
--- a/src/components/services/tabs/TabBarSortableList.js
+++ b/src/components/services/tabs/TabBarSortableList.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 2import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { SortableContainer } from 'react-sortable-hoc'; 4import { SortableContainer } from 'react-sortable-hoc';
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 2474682df..d789b6425 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -1,5 +1,5 @@
1import { Menu, dialog, app } from '@electron/remote'; 1import { Menu, dialog, app } from '@electron/remote';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import { defineMessages, injectIntl } from 'react-intl'; 3import { defineMessages, injectIntl } from 'react-intl';
4import PropTypes from 'prop-types'; 4import PropTypes from 'prop-types';
5import { observer } from 'mobx-react'; 5import { observer } from 'mobx-react';
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js
index a77799819..4ab0e8611 100644
--- a/src/components/services/tabs/Tabbar.js
+++ b/src/components/services/tabs/Tabbar.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4 4
diff --git a/src/components/settings/SettingsLayout.js b/src/components/settings/SettingsLayout.js
index 71250bd4d..be11fdb8e 100644
--- a/src/components/settings/SettingsLayout.js
+++ b/src/components/settings/SettingsLayout.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js
index 544821e9a..686501267 100644
--- a/src/components/settings/account/AccountDashboard.js
+++ b/src/components/settings/account/AccountDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/settings/navigation/SettingsNavigation.js b/src/components/settings/navigation/SettingsNavigation.js
index 72c7faa66..18a71fdeb 100644
--- a/src/components/settings/navigation/SettingsNavigation.js
+++ b/src/components/settings/navigation/SettingsNavigation.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { defineMessages, injectIntl } from 'react-intl'; 3import { defineMessages, injectIntl } from 'react-intl';
4import { inject, observer } from 'mobx-react'; 4import { inject, observer } from 'mobx-react';
diff --git a/src/components/settings/recipes/RecipeItem.js b/src/components/settings/recipes/RecipeItem.js
index ca188aa99..1e910e6dc 100644
--- a/src/components/settings/recipes/RecipeItem.js
+++ b/src/components/settings/recipes/RecipeItem.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4 4
diff --git a/src/components/settings/recipes/RecipesDashboard.js b/src/components/settings/recipes/RecipesDashboard.js
index 44f5bc39a..0c521319a 100644
--- a/src/components/settings/recipes/RecipesDashboard.js
+++ b/src/components/settings/recipes/RecipesDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 22089ec45..fd3c4a176 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { Link } from 'react-router'; 4import { Link } from 'react-router';
diff --git a/src/components/settings/services/ServiceError.js b/src/components/settings/services/ServiceError.js
index d16d76db2..6dd53a102 100644
--- a/src/components/settings/services/ServiceError.js
+++ b/src/components/settings/services/ServiceError.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import { Link } from 'react-router'; 3import { Link } from 'react-router';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/settings/services/ServiceItem.js b/src/components/settings/services/ServiceItem.js
index 4916e4ecc..e08b9af1f 100644
--- a/src/components/settings/services/ServiceItem.js
+++ b/src/components/settings/services/ServiceItem.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { defineMessages, injectIntl } from 'react-intl'; 3import { defineMessages, injectIntl } from 'react-intl';
4import ReactTooltip from 'react-tooltip'; 4import ReactTooltip from 'react-tooltip';
diff --git a/src/components/settings/services/ServicesDashboard.js b/src/components/settings/services/ServicesDashboard.js
index bb52db97f..aae6eb855 100644
--- a/src/components/settings/services/ServicesDashboard.js
+++ b/src/components/settings/services/ServicesDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { Link } from 'react-router'; 4import { Link } from 'react-router';
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 123ab4c2d..063bf7b15 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -1,5 +1,5 @@
1import { systemPreferences } from '@electron/remote'; 1import { systemPreferences } from '@electron/remote';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
5import prettyBytes from 'pretty-bytes'; 5import prettyBytes from 'pretty-bytes';
diff --git a/src/components/settings/supportFerdi/SupportFerdiDashboard.js b/src/components/settings/supportFerdi/SupportFerdiDashboard.js
index f24e4bd62..b906df5c8 100644
--- a/src/components/settings/supportFerdi/SupportFerdiDashboard.js
+++ b/src/components/settings/supportFerdi/SupportFerdiDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { defineMessages, injectIntl } from 'react-intl'; 2import { defineMessages, injectIntl } from 'react-intl';
3import { BrowserWindow } from '@electron/remote'; 3import { BrowserWindow } from '@electron/remote';
4import InfoBar from '../../ui/InfoBar'; 4import InfoBar from '../../ui/InfoBar';
diff --git a/src/components/settings/team/TeamDashboard.js b/src/components/settings/team/TeamDashboard.js
index 06f244997..4a1a02571 100644
--- a/src/components/settings/team/TeamDashboard.js
+++ b/src/components/settings/team/TeamDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/settings/user/EditUserForm.js b/src/components/settings/user/EditUserForm.js
index adc107ccc..55883e65f 100644
--- a/src/components/settings/user/EditUserForm.js
+++ b/src/components/settings/user/EditUserForm.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/components/ui/AppLoader/index.js b/src/components/ui/AppLoader/index.js
index fa4a719ab..e00960200 100644
--- a/src/components/ui/AppLoader/index.js
+++ b/src/components/ui/AppLoader/index.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import injectSheet, { withTheme } from 'react-jss'; 3import injectSheet, { withTheme } from 'react-jss';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Button.js b/src/components/ui/Button.js
index f6c9fd3d3..67c801d98 100644
--- a/src/components/ui/Button.js
+++ b/src/components/ui/Button.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, inject } from 'mobx-react'; 3import { observer, inject } from 'mobx-react';
4import Loader from 'react-loader'; 4import Loader from 'react-loader';
diff --git a/src/components/ui/FAB.js b/src/components/ui/FAB.js
index a3aa06bc9..55fe97e82 100644
--- a/src/components/ui/FAB.js
+++ b/src/components/ui/FAB.js
@@ -1,7 +1,7 @@
1/** 1/**
2 * Floating Action Button (FAB) 2 * Floating Action Button (FAB)
3 */ 3 */
4import React, { Component } from 'react'; 4import { Component } from 'react';
5import PropTypes from 'prop-types'; 5import PropTypes from 'prop-types';
6import { observer } from 'mobx-react'; 6import { observer } from 'mobx-react';
7import classnames from 'classnames'; 7import classnames from 'classnames';
diff --git a/src/components/ui/FullscreenLoader/index.js b/src/components/ui/FullscreenLoader/index.js
index ab5e2f365..f5943f3f3 100644
--- a/src/components/ui/FullscreenLoader/index.js
+++ b/src/components/ui/FullscreenLoader/index.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet, { withTheme } from 'react-jss'; 4import injectSheet, { withTheme } from 'react-jss';
diff --git a/src/components/ui/ImageUpload.js b/src/components/ui/ImageUpload.js
index 49aff389b..c51d39a9b 100644
--- a/src/components/ui/ImageUpload.js
+++ b/src/components/ui/ImageUpload.js
@@ -1,4 +1,4 @@
1import React, { Component, Fragment } from 'react'; 1import { Component, Fragment } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { Field } from 'mobx-react-form'; 4import { Field } from 'mobx-react-form';
diff --git a/src/components/ui/InfoBar.js b/src/components/ui/InfoBar.js
index dc6be10da..3311a949f 100644
--- a/src/components/ui/InfoBar.js
+++ b/src/components/ui/InfoBar.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Infobox.js b/src/components/ui/Infobox.js
index 9e34bf110..b88b01bd8 100644
--- a/src/components/ui/Infobox.js
+++ b/src/components/ui/Infobox.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Input.js b/src/components/ui/Input.js
index 43fab10ee..8d37d7a05 100644
--- a/src/components/ui/Input.js
+++ b/src/components/ui/Input.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { Field } from 'mobx-react-form'; 4import { Field } from 'mobx-react-form';
diff --git a/src/components/ui/Link.js b/src/components/ui/Link.js
index 94db3f842..40766c984 100644
--- a/src/components/ui/Link.js
+++ b/src/components/ui/Link.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { RouterStore } from 'mobx-react-router'; 4import { RouterStore } from 'mobx-react-router';
diff --git a/src/components/ui/Loader.js b/src/components/ui/Loader.js
index 46c1390bf..71c6b9552 100644
--- a/src/components/ui/Loader.js
+++ b/src/components/ui/Loader.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { observer, inject } from 'mobx-react'; 2import { observer, inject } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import Loader from 'react-loader'; 4import Loader from 'react-loader';
diff --git a/src/components/ui/Modal/index.js b/src/components/ui/Modal/index.js
index 3c7c66c59..c4e47748a 100644
--- a/src/components/ui/Modal/index.js
+++ b/src/components/ui/Modal/index.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import ReactModal from 'react-modal'; 2import ReactModal from 'react-modal';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Radio.js b/src/components/ui/Radio.js
index 65a777ff1..5354dbfe1 100644
--- a/src/components/ui/Radio.js
+++ b/src/components/ui/Radio.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { Field } from 'mobx-react-form'; 4import { Field } from 'mobx-react-form';
diff --git a/src/components/ui/SearchInput.js b/src/components/ui/SearchInput.js
index 2d760beab..2e8793a2b 100644
--- a/src/components/ui/SearchInput.js
+++ b/src/components/ui/SearchInput.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Select.js b/src/components/ui/Select.js
index 5ac7ddd6d..a560da332 100644
--- a/src/components/ui/Select.js
+++ b/src/components/ui/Select.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { createRef, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { Field } from 'mobx-react-form'; 4import { Field } from 'mobx-react-form';
@@ -24,7 +24,7 @@ class Select extends Component {
24 constructor(props) { 24 constructor(props) {
25 super(props); 25 super(props);
26 26
27 this.element = React.createRef(); 27 this.element = createRef();
28 } 28 }
29 29
30 multipleChange() { 30 multipleChange() {
diff --git a/src/components/ui/ServiceIcon.js b/src/components/ui/ServiceIcon.js
index b2dadeac3..2e9312d27 100644
--- a/src/components/ui/ServiceIcon.js
+++ b/src/components/ui/ServiceIcon.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/components/ui/Slider.js b/src/components/ui/Slider.js
index 6f17eae00..dea6e0563 100644
--- a/src/components/ui/Slider.js
+++ b/src/components/ui/Slider.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/StatusBarTargetUrl.js b/src/components/ui/StatusBarTargetUrl.js
index ff4e8c795..38b436742 100644
--- a/src/components/ui/StatusBarTargetUrl.js
+++ b/src/components/ui/StatusBarTargetUrl.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/Tabs/TabItem.tsx b/src/components/ui/Tabs/TabItem.tsx
index bd613ddc7..9fcc3c41e 100644
--- a/src/components/ui/Tabs/TabItem.tsx
+++ b/src/components/ui/Tabs/TabItem.tsx
@@ -1,3 +1 @@
1import React from 'react';
2
3export const TabItem = ({ children }) => <>{children}</>; export const TabItem = ({ children }) => <>{children}</>;
diff --git a/src/components/ui/Tabs/Tabs.js b/src/components/ui/Tabs/Tabs.js
index 195398708..77803974b 100644
--- a/src/components/ui/Tabs/Tabs.js
+++ b/src/components/ui/Tabs/Tabs.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Children, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
@@ -36,7 +36,7 @@ class Tab extends Component {
36 return ( 36 return (
37 <div className="content-tabs"> 37 <div className="content-tabs">
38 <div className="content-tabs__tabs"> 38 <div className="content-tabs__tabs">
39 {React.Children.map(children, (child, i) => ( 39 {Children.map(children, (child, i) => (
40 <button 40 <button
41 key="{i}" 41 key="{i}"
42 className={classnames({ 42 className={classnames({
@@ -51,7 +51,7 @@ class Tab extends Component {
51 ))} 51 ))}
52 </div> 52 </div>
53 <div className="content-tabs__content"> 53 <div className="content-tabs__content">
54 {React.Children.map(children, (child, i) => ( 54 {Children.map(children, (child, i) => (
55 <div 55 <div
56 key="{i}" 56 key="{i}"
57 className={classnames({ 57 className={classnames({
diff --git a/src/components/ui/Toggle.js b/src/components/ui/Toggle.js
index bd7bc242d..dfc319735 100644
--- a/src/components/ui/Toggle.js
+++ b/src/components/ui/Toggle.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
diff --git a/src/components/ui/ToggleRaw.js b/src/components/ui/ToggleRaw.js
index 1fde879ac..74292a870 100644
--- a/src/components/ui/ToggleRaw.js
+++ b/src/components/ui/ToggleRaw.js
@@ -1,7 +1,7 @@
1/** 1/**
2 * "Raw" Toggle - for usage without a MobX Form element 2 * "Raw" Toggle - for usage without a MobX Form element
3 */ 3 */
4import React, { Component } from 'react'; 4import { Component } from 'react';
5import PropTypes from 'prop-types'; 5import PropTypes from 'prop-types';
6import { observer } from 'mobx-react'; 6import { observer } from 'mobx-react';
7import classnames from 'classnames'; 7import classnames from 'classnames';
diff --git a/src/components/ui/WebviewLoader/index.js b/src/components/ui/WebviewLoader/index.js
index 8f4499e7b..8d4513172 100644
--- a/src/components/ui/WebviewLoader/index.js
+++ b/src/components/ui/WebviewLoader/index.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/components/ui/effects/Appear.js b/src/components/ui/effects/Appear.js
index 183181f8f..fc319fe28 100644
--- a/src/components/ui/effects/Appear.js
+++ b/src/components/ui/effects/Appear.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import ReactCSSTransitionGroup from 'react-addons-css-transition-group'; 3import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
4 4
diff --git a/src/components/util/ErrorBoundary/index.js b/src/components/util/ErrorBoundary/index.js
index 9c789e981..cddcd91c2 100644
--- a/src/components/util/ErrorBoundary/index.js
+++ b/src/components/util/ErrorBoundary/index.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import injectSheet from 'react-jss'; 3import injectSheet from 'react-jss';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/containers/auth/AuthLayoutContainer.js b/src/containers/auth/AuthLayoutContainer.js
index 7673ab9c7..aa36e3969 100644
--- a/src/containers/auth/AuthLayoutContainer.js
+++ b/src/containers/auth/AuthLayoutContainer.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { ThemeProvider } from 'react-jss'; 4import { ThemeProvider } from 'react-jss';
diff --git a/src/containers/auth/ChangeServerScreen.js b/src/containers/auth/ChangeServerScreen.js
index a8910e7b1..dcc913c39 100644
--- a/src/containers/auth/ChangeServerScreen.js
+++ b/src/containers/auth/ChangeServerScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { RouterStore } from 'mobx-react-router'; 4import { RouterStore } from 'mobx-react-router';
diff --git a/src/containers/auth/ImportScreen.js b/src/containers/auth/ImportScreen.js
index ce786bdb8..46e2d41f0 100644
--- a/src/containers/auth/ImportScreen.js
+++ b/src/containers/auth/ImportScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { RouterStore } from 'mobx-react-router'; 4import { RouterStore } from 'mobx-react-router';
diff --git a/src/containers/auth/InviteScreen.js b/src/containers/auth/InviteScreen.js
index d9d52a57c..e252242ae 100644
--- a/src/containers/auth/InviteScreen.js
+++ b/src/containers/auth/InviteScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import Invite from '../../components/auth/Invite'; 4import Invite from '../../components/auth/Invite';
diff --git a/src/containers/auth/LockedScreen.js b/src/containers/auth/LockedScreen.js
index a49549731..945e41284 100644
--- a/src/containers/auth/LockedScreen.js
+++ b/src/containers/auth/LockedScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import Locked from '../../components/auth/Locked'; 4import Locked from '../../components/auth/Locked';
diff --git a/src/containers/auth/LoginScreen.js b/src/containers/auth/LoginScreen.js
index cab73316b..3f8c67fa8 100644
--- a/src/containers/auth/LoginScreen.js
+++ b/src/containers/auth/LoginScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import Login from '../../components/auth/Login'; 4import Login from '../../components/auth/Login';
diff --git a/src/containers/auth/PasswordScreen.js b/src/containers/auth/PasswordScreen.js
index 86a746b9b..836d4cc88 100644
--- a/src/containers/auth/PasswordScreen.js
+++ b/src/containers/auth/PasswordScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import Password from '../../components/auth/Password'; 4import Password from '../../components/auth/Password';
diff --git a/src/containers/auth/SetupAssistantScreen.js b/src/containers/auth/SetupAssistantScreen.js
index efda2e9d2..8cdd95a88 100644
--- a/src/containers/auth/SetupAssistantScreen.js
+++ b/src/containers/auth/SetupAssistantScreen.js
@@ -1,5 +1,5 @@
1/* eslint-disable no-await-in-loop */ 1/* eslint-disable no-await-in-loop */
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { inject, observer } from 'mobx-react'; 4import { inject, observer } from 'mobx-react';
5 5
diff --git a/src/containers/auth/SignupScreen.js b/src/containers/auth/SignupScreen.js
index b20a7fd62..3b19f3c50 100644
--- a/src/containers/auth/SignupScreen.js
+++ b/src/containers/auth/SignupScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4 4
diff --git a/src/containers/auth/WelcomeScreen.js b/src/containers/auth/WelcomeScreen.js
index d169e5f0f..7a23d9ba9 100644
--- a/src/containers/auth/WelcomeScreen.js
+++ b/src/containers/auth/WelcomeScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4 4
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 3e92b0610..ae4cc8b63 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Children, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { ThemeProvider } from 'react-jss'; 4import { ThemeProvider } from 'react-jss';
@@ -168,7 +168,7 @@ class AppLayoutContainer extends Component {
168 retryRequiredRequests={retryRequiredRequests} 168 retryRequiredRequests={retryRequiredRequests}
169 areRequiredRequestsLoading={requests.areRequiredRequestsLoading} 169 areRequiredRequestsLoading={requests.areRequiredRequestsLoading}
170 > 170 >
171 {React.Children.count(children) > 0 ? children : null} 171 {Children.count(children) > 0 ? children : null}
172 </AppLayout> 172 </AppLayout>
173 </ThemeProvider> 173 </ThemeProvider>
174 ); 174 );
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js
index 1515fc22b..f7c9b8164 100644
--- a/src/containers/settings/AccountScreen.js
+++ b/src/containers/settings/AccountScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4 4
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index dee7e7cff..85af0334d 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 1b05644f9..4b59442cb 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/containers/settings/EditUserScreen.js b/src/containers/settings/EditUserScreen.js
index ca1363c59..1dc0aa8e6 100644
--- a/src/containers/settings/EditUserScreen.js
+++ b/src/containers/settings/EditUserScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/containers/settings/InviteScreen.js b/src/containers/settings/InviteScreen.js
index bf393f42f..592b4b11c 100644
--- a/src/containers/settings/InviteScreen.js
+++ b/src/containers/settings/InviteScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4 4
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js
index 2e60ceefa..832c2db10 100644
--- a/src/containers/settings/RecipesScreen.js
+++ b/src/containers/settings/RecipesScreen.js
@@ -1,5 +1,5 @@
1import { readJsonSync } from 'fs-extra'; 1import { readJsonSync } from 'fs-extra';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { autorun } from 'mobx'; 4import { autorun } from 'mobx';
5import { inject, observer } from 'mobx-react'; 5import { inject, observer } from 'mobx-react';
diff --git a/src/containers/settings/ServicesScreen.js b/src/containers/settings/ServicesScreen.js
index c9dfc68d0..a657b6e6c 100644
--- a/src/containers/settings/ServicesScreen.js
+++ b/src/containers/settings/ServicesScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { RouterStore } from 'mobx-react-router'; 4import { RouterStore } from 'mobx-react-router';
diff --git a/src/containers/settings/SettingsWindow.js b/src/containers/settings/SettingsWindow.js
index e03c4c1d2..35db3a434 100644
--- a/src/containers/settings/SettingsWindow.js
+++ b/src/containers/settings/SettingsWindow.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import ReactDOM from 'react-dom'; 2import ReactDOM from 'react-dom';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
diff --git a/src/containers/settings/SupportScreen.js b/src/containers/settings/SupportScreen.js
index 646f672ce..d3600f8ea 100644
--- a/src/containers/settings/SupportScreen.js
+++ b/src/containers/settings/SupportScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { inject } from 'mobx-react'; 2import { inject } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4 4
diff --git a/src/containers/settings/TeamScreen.js b/src/containers/settings/TeamScreen.js
index ea447469b..928262a59 100644
--- a/src/containers/settings/TeamScreen.js
+++ b/src/containers/settings/TeamScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4 4
diff --git a/src/features/basicAuth/Component.js b/src/features/basicAuth/Component.js
index 3cf937f98..652233e55 100644
--- a/src/features/basicAuth/Component.js
+++ b/src/features/basicAuth/Component.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import injectSheet from 'react-jss'; 3import injectSheet from 'react-jss';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
diff --git a/src/features/nightlyBuilds/Component.js b/src/features/nightlyBuilds/Component.js
index 814d529d9..98a7cb5a2 100644
--- a/src/features/nightlyBuilds/Component.js
+++ b/src/features/nightlyBuilds/Component.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, inject } from 'mobx-react'; 3import { observer, inject } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/publishDebugInfo/Component.js b/src/features/publishDebugInfo/Component.js
index 5b5036752..d3751b63d 100644
--- a/src/features/publishDebugInfo/Component.js
+++ b/src/features/publishDebugInfo/Component.js
@@ -1,7 +1,7 @@
1import { H1 } from '@meetfranz/ui'; 1import { H1 } from '@meetfranz/ui';
2import { inject, observer } from 'mobx-react'; 2import { inject, observer } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import React, { Component } from 'react'; 4import { Component } from 'react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
6import injectSheet from 'react-jss'; 6import injectSheet from 'react-jss';
7import { state as ModalState } from './store'; 7import { state as ModalState } from './store';
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js
index f21db0ebd..76b3c9b4b 100644
--- a/src/features/quickSwitch/Component.js
+++ b/src/features/quickSwitch/Component.js
@@ -1,4 +1,4 @@
1import React, { Component, createRef } from 'react'; 1import { Component, createRef } from 'react';
2import { getCurrentWindow } from '@electron/remote'; 2import { getCurrentWindow } from '@electron/remote';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer, inject } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js
index 2dc30cdf2..b31c7d858 100644
--- a/src/features/todos/components/TodosWebview.js
+++ b/src/features/todos/components/TodosWebview.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/todos/containers/TodosScreen.js b/src/features/todos/containers/TodosScreen.js
index d05e24e56..c2b6a5af4 100644
--- a/src/features/todos/containers/TodosScreen.js
+++ b/src/features/todos/containers/TodosScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { observer, inject } from 'mobx-react'; 2import { observer, inject } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4 4
diff --git a/src/features/webControls/components/WebControls.js b/src/features/webControls/components/WebControls.js
index 97fa20dcc..8261ede2b 100644
--- a/src/features/webControls/components/WebControls.js
+++ b/src/features/webControls/components/WebControls.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { createRef, Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
@@ -121,7 +121,7 @@ class WebControls extends Component {
121 } 121 }
122 } 122 }
123 123
124 inputRef = React.createRef(); 124 inputRef = createRef();
125 125
126 state = { 126 state = {
127 inputUrl: '', 127 inputUrl: '',
diff --git a/src/features/webControls/containers/WebControlsScreen.js b/src/features/webControls/containers/WebControlsScreen.js
index 0273bb13e..6fba5db86 100644
--- a/src/features/webControls/containers/WebControlsScreen.js
+++ b/src/features/webControls/containers/WebControlsScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { observer, inject } from 'mobx-react'; 2import { observer, inject } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4 4
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.js b/src/features/workspaces/components/CreateWorkspaceForm.js
index c9b05b87f..c93f8f6f7 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.js
+++ b/src/features/workspaces/components/CreateWorkspaceForm.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/features/workspaces/components/EditWorkspaceForm.js b/src/features/workspaces/components/EditWorkspaceForm.js
index f562733dd..1bd06c4b2 100644
--- a/src/features/workspaces/components/EditWorkspaceForm.js
+++ b/src/features/workspaces/components/EditWorkspaceForm.js
@@ -1,4 +1,4 @@
1import React, { Component, Fragment } from 'react'; 1import { Component, Fragment } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/features/workspaces/components/WorkspaceDrawer.js b/src/features/workspaces/components/WorkspaceDrawer.js
index 3dac77bc2..54e74fdf5 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.js
+++ b/src/features/workspaces/components/WorkspaceDrawer.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js
index 4afb9c108..237f9488b 100644
--- a/src/features/workspaces/components/WorkspaceDrawerItem.js
+++ b/src/features/workspaces/components/WorkspaceDrawerItem.js
@@ -1,5 +1,5 @@
1import { Menu } from '@electron/remote'; 1import { Menu } from '@electron/remote';
2import React, { Component } from 'react'; 2import { Component } from 'react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import { observer } from 'mobx-react'; 4import { observer } from 'mobx-react';
5import injectSheet from 'react-jss'; 5import injectSheet from 'react-jss';
diff --git a/src/features/workspaces/components/WorkspaceItem.js b/src/features/workspaces/components/WorkspaceItem.js
index ec7b19add..ff3f69dd9 100644
--- a/src/features/workspaces/components/WorkspaceItem.js
+++ b/src/features/workspaces/components/WorkspaceItem.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/workspaces/components/WorkspaceServiceListItem.js b/src/features/workspaces/components/WorkspaceServiceListItem.js
index f6e2a2786..c06f3c61c 100644
--- a/src/features/workspaces/components/WorkspaceServiceListItem.js
+++ b/src/features/workspaces/components/WorkspaceServiceListItem.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/workspaces/components/WorkspaceSwitchingIndicator.js b/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
index 33a82cf4b..187b6a516 100644
--- a/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
+++ b/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
diff --git a/src/features/workspaces/components/WorkspacesDashboard.js b/src/features/workspaces/components/WorkspacesDashboard.js
index 49552df6b..78b758e7d 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.js
+++ b/src/features/workspaces/components/WorkspacesDashboard.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; 3import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react';
4import { defineMessages, injectIntl } from 'react-intl'; 4import { defineMessages, injectIntl } from 'react-intl';
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.js b/src/features/workspaces/containers/EditWorkspaceScreen.js
index ba7606031..bd9e235e3 100644
--- a/src/features/workspaces/containers/EditWorkspaceScreen.js
+++ b/src/features/workspaces/containers/EditWorkspaceScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 2import { inject, observer } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4 4
diff --git a/src/features/workspaces/containers/WorkspacesScreen.js b/src/features/workspaces/containers/WorkspacesScreen.js
index 4828658f9..2ba3784cb 100644
--- a/src/features/workspaces/containers/WorkspacesScreen.js
+++ b/src/features/workspaces/containers/WorkspacesScreen.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 2import { inject, observer } from 'mobx-react';
3import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
4import WorkspacesDashboard from '../components/WorkspacesDashboard'; 4import WorkspacesDashboard from '../components/WorkspacesDashboard';
diff --git a/src/routes.js b/src/routes.js
index 502ea86f5..9891e5d43 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -1,4 +1,4 @@
1import React, { Component } from 'react'; 1import { Component } from 'react';
2import PropTypes from 'prop-types'; 2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react'; 3import { inject, observer } from 'mobx-react';
4import { Router, Route, IndexRedirect } from 'react-router'; 4import { Router, Route, IndexRedirect } from 'react-router';
diff --git a/tsconfig.json b/tsconfig.json
index 25ac51709..6dcf49291 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -7,7 +7,7 @@
7 "target": "esnext", 7 "target": "esnext",
8 "lib": ["esnext", "dom"], 8 "lib": ["esnext", "dom"],
9 "module": "CommonJS", 9 "module": "CommonJS",
10 "jsx": "react", 10 "jsx": "react-jsx",
11 "typeRoots": ["@types", "node_modules/@types"], 11 "typeRoots": ["@types", "node_modules/@types"],
12 "moduleResolution": "node", 12 "moduleResolution": "node",
13 "types": ["node", "mocha"], 13 "types": ["node", "mocha"],
diff --git a/uidev/src/app.tsx b/uidev/src/app.tsx
index 970cb40e3..26e0f5b96 100644
--- a/uidev/src/app.tsx
+++ b/uidev/src/app.tsx
@@ -1,7 +1,6 @@
1import { Property } from 'csstype'; 1import { Property } from 'csstype';
2import { Classes } from 'jss'; 2import { Classes } from 'jss';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import React from 'react';
5import injectSheet from 'react-jss'; 4import injectSheet from 'react-jss';
6 5
7import { theme, ThemeType } from '@meetfranz/theme'; 6import { theme, ThemeType } from '@meetfranz/theme';
diff --git a/uidev/src/index.tsx b/uidev/src/index.tsx
index 5aa3979c8..c996d9f69 100644
--- a/uidev/src/index.tsx
+++ b/uidev/src/index.tsx
@@ -1,4 +1,3 @@
1import React from 'react';
2import { render } from 'react-dom'; 1import { render } from 'react-dom';
3import { App } from './app'; 2import { App } from './app';
4 3
diff --git a/uidev/src/stories/badge.stories.tsx b/uidev/src/stories/badge.stories.tsx
index d7b4d55b5..05fa4617b 100644
--- a/uidev/src/stories/badge.stories.tsx
+++ b/uidev/src/stories/badge.stories.tsx
@@ -1,5 +1,3 @@
1import React from 'react';
2
3import { Badge, ProBadge } from '@meetfranz/ui'; 1import { Badge, ProBadge } from '@meetfranz/ui';
4import { storiesOf } from '../stores/stories'; 2import { storiesOf } from '../stores/stories';
5 3
diff --git a/uidev/src/stories/button.stories.tsx b/uidev/src/stories/button.stories.tsx
index 5ca657238..e948e8ca4 100644
--- a/uidev/src/stories/button.stories.tsx
+++ b/uidev/src/stories/button.stories.tsx
@@ -1,7 +1,7 @@
1import { mdiInformation } from '@mdi/js'; 1import { mdiInformation } from '@mdi/js';
2import { observable } from 'mobx'; 2import { observable } from 'mobx';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import React from 'react'; 4import * as React from 'react';
5import injectSheet from 'react-jss'; 5import injectSheet from 'react-jss';
6 6
7import { Button, Input } from '@meetfranz/forms'; 7import { Button, Input } from '@meetfranz/forms';
diff --git a/uidev/src/stories/headline.stories.tsx b/uidev/src/stories/headline.stories.tsx
index 320ac832f..1f1ab2036 100644
--- a/uidev/src/stories/headline.stories.tsx
+++ b/uidev/src/stories/headline.stories.tsx
@@ -1,5 +1,3 @@
1import React from 'react';
2
3import { H1, H2, H3, H4 } from '@meetfranz/ui'; 1import { H1, H2, H3, H4 } from '@meetfranz/ui';
4import { storiesOf } from '../stores/stories'; 2import { storiesOf } from '../stores/stories';
5 3
diff --git a/uidev/src/stories/icon.stories.tsx b/uidev/src/stories/icon.stories.tsx
index f9aa1635b..12c08fd57 100644
--- a/uidev/src/stories/icon.stories.tsx
+++ b/uidev/src/stories/icon.stories.tsx
@@ -1,5 +1,4 @@
1import { mdiAccountCircle } from '@mdi/js'; 1import { mdiAccountCircle } from '@mdi/js';
2import React from 'react';
3 2
4import { Icon } from '@meetfranz/ui'; 3import { Icon } from '@meetfranz/ui';
5import { storiesOf } from '../stores/stories'; 4import { storiesOf } from '../stores/stories';
diff --git a/uidev/src/stories/infobox.stories.tsx b/uidev/src/stories/infobox.stories.tsx
index fe4aaab06..166150606 100644
--- a/uidev/src/stories/infobox.stories.tsx
+++ b/uidev/src/stories/infobox.stories.tsx
@@ -1,7 +1,7 @@
1import { mdiEarth } from '@mdi/js'; 1import { mdiEarth } from '@mdi/js';
2import { observable } from 'mobx'; 2import { observable } from 'mobx';
3import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
4import React from 'react'; 4import * as React from 'react';
5 5
6import { Infobox } from '@meetfranz/ui'; 6import { Infobox } from '@meetfranz/ui';
7import { storiesOf } from '../stores/stories'; 7import { storiesOf } from '../stores/stories';
diff --git a/uidev/src/stories/input.stories.tsx b/uidev/src/stories/input.stories.tsx
index c92ebb36a..2a252ee66 100644
--- a/uidev/src/stories/input.stories.tsx
+++ b/uidev/src/stories/input.stories.tsx
@@ -1,4 +1,4 @@
1import React from 'react'; 1import * as React from 'react';
2 2
3import { Input } from '@meetfranz/forms'; 3import { Input } from '@meetfranz/forms';
4import { v4 as uuid } from 'uuid'; 4import { v4 as uuid } from 'uuid';
diff --git a/uidev/src/stories/loader.stories.tsx b/uidev/src/stories/loader.stories.tsx
index 50eb7b9e1..ad38dffe8 100644
--- a/uidev/src/stories/loader.stories.tsx
+++ b/uidev/src/stories/loader.stories.tsx
@@ -1,5 +1,3 @@
1import React from 'react';
2
3import { Loader } from '@meetfranz/ui'; 1import { Loader } from '@meetfranz/ui';
4import { storiesOf } from '../stores/stories'; 2import { storiesOf } from '../stores/stories';
5 3
diff --git a/uidev/src/stories/select.stories.tsx b/uidev/src/stories/select.stories.tsx
index 93e072cd9..26189afb8 100644
--- a/uidev/src/stories/select.stories.tsx
+++ b/uidev/src/stories/select.stories.tsx
@@ -1,4 +1,4 @@
1import React from 'react'; 1import * as React from 'react';
2import { v4 as uuid } from 'uuid'; 2import { v4 as uuid } from 'uuid';
3 3
4import { Select } from '@meetfranz/forms'; 4import { Select } from '@meetfranz/forms';
diff --git a/uidev/src/stories/textarea.stories.tsx b/uidev/src/stories/textarea.stories.tsx
index 09b9fef70..5c2b61798 100644
--- a/uidev/src/stories/textarea.stories.tsx
+++ b/uidev/src/stories/textarea.stories.tsx
@@ -1,4 +1,4 @@
1import React from 'react'; 1import * as React from 'react';
2import { v4 as uuid } from 'uuid'; 2import { v4 as uuid } from 'uuid';
3 3
4import { Textarea } from '@meetfranz/forms'; 4import { Textarea } from '@meetfranz/forms';
diff --git a/uidev/src/stories/toggle.stories.tsx b/uidev/src/stories/toggle.stories.tsx
index f54e67596..021658d21 100644
--- a/uidev/src/stories/toggle.stories.tsx
+++ b/uidev/src/stories/toggle.stories.tsx
@@ -1,6 +1,5 @@
1import { observable } from 'mobx'; 1import { observable } from 'mobx';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import React from 'react';
4import { v4 as uuid } from 'uuid'; 3import { v4 as uuid } from 'uuid';
5 4
6import { Toggle } from '@meetfranz/forms'; 5import { Toggle } from '@meetfranz/forms';
diff --git a/uidev/src/withTheme/index.tsx b/uidev/src/withTheme/index.tsx
index 4ef649367..5184ff340 100644
--- a/uidev/src/withTheme/index.tsx
+++ b/uidev/src/withTheme/index.tsx
@@ -1,6 +1,6 @@
1import { theme, Theme, ThemeType } from '@meetfranz/theme'; 1import { theme, Theme, ThemeType } from '@meetfranz/theme';
2import { Classes } from 'jss'; 2import { Classes } from 'jss';
3import React from 'react'; 3import * as React from 'react';
4import injectSheet, { ThemeProvider } from 'react-jss'; 4import injectSheet, { ThemeProvider } from 'react-jss';
5 5
6const defaultTheme = { 6const defaultTheme = {