aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Markus Hatvan <markus_hatvan@aon.at>2021-12-04 10:51:16 +0100
committerLibravatar GitHub <noreply@github.com>2021-12-04 10:51:16 +0100
commit11c992b04f3cad6badf0ae86da65f490e31dd359 (patch)
tree749e63f6ba3e9bea48c186b5d8502d328edfd276
parent5.6.4-nightly.24 [skip ci] (diff)
downloadferdium-app-11c992b04f3cad6badf0ae86da65f490e31dd359.tar.gz
ferdium-app-11c992b04f3cad6badf0ae86da65f490e31dd359.tar.zst
ferdium-app-11c992b04f3cad6badf0ae86da65f490e31dd359.zip
chore: upgrade react-jss to latest (#2302)
-rw-r--r--package-lock.json659
-rw-r--r--package.json6
-rw-r--r--src/I18n.tsx4
-rw-r--r--src/components/auth/AuthLayout.js3
-rw-r--r--src/components/auth/ChangeServer.js3
-rw-r--r--src/components/auth/Import.js3
-rw-r--r--src/components/auth/Invite.js3
-rw-r--r--src/components/auth/Locked.js3
-rw-r--r--src/components/auth/Login.js4
-rw-r--r--src/components/auth/Password.js3
-rw-r--r--src/components/auth/SetupAssistant.js6
-rw-r--r--src/components/auth/Signup.js4
-rw-r--r--src/components/auth/Welcome.js4
-rw-r--r--src/components/layout/AppLayout.js6
-rw-r--r--src/components/layout/Sidebar.js4
-rw-r--r--src/components/services/content/ConnectionLostBanner.js4
-rw-r--r--src/components/services/content/ErrorHandlers/WebviewErrorHandler.js6
-rw-r--r--src/components/services/content/ServiceDisabled.js3
-rw-r--r--src/components/services/content/ServiceView.js4
-rw-r--r--src/components/services/content/ServiceWebview.js3
-rw-r--r--src/components/services/content/Services.js9
-rw-r--r--src/components/services/content/WebviewCrashHandler.js3
-rw-r--r--src/components/services/tabs/TabBarSortableList.js3
-rw-r--r--src/components/services/tabs/TabItem.js11
-rw-r--r--src/components/services/tabs/Tabbar.js3
-rw-r--r--src/components/settings/SettingsLayout.js3
-rw-r--r--src/components/settings/account/AccountDashboard.js3
-rw-r--r--src/components/settings/navigation/SettingsNavigation.js4
-rw-r--r--src/components/settings/recipes/RecipeItem.js3
-rw-r--r--src/components/settings/recipes/RecipesDashboard.js28
-rw-r--r--src/components/settings/services/EditServiceForm.js3
-rw-r--r--src/components/settings/services/ServiceError.js3
-rw-r--r--src/components/settings/services/ServiceItem.js3
-rw-r--r--src/components/settings/services/ServicesDashboard.js3
-rw-r--r--src/components/settings/settings/EditSettingsForm.js3
-rw-r--r--src/components/settings/team/TeamDashboard.js6
-rw-r--r--src/components/settings/user/EditUserForm.js3
-rw-r--r--src/components/ui/AppLoader/index.tsx6
-rw-r--r--src/components/ui/Button.js4
-rw-r--r--src/components/ui/FAB.tsx3
-rw-r--r--src/components/ui/FullscreenLoader/index.js9
-rw-r--r--src/components/ui/ImageUpload.tsx3
-rw-r--r--src/components/ui/InfoBar.js3
-rw-r--r--src/components/ui/Infobox.js3
-rw-r--r--src/components/ui/Input.js12
-rw-r--r--src/components/ui/Link.js8
-rw-r--r--src/components/ui/Loader.tsx4
-rw-r--r--src/components/ui/Modal/index.tsx3
-rw-r--r--src/components/ui/Radio.tsx3
-rw-r--r--src/components/ui/SearchInput.tsx3
-rw-r--r--src/components/ui/Select.js3
-rw-r--r--src/components/ui/ServiceIcon.js6
-rw-r--r--src/components/ui/Slider.js3
-rw-r--r--src/components/ui/StatusBarTargetUrl.js3
-rw-r--r--src/components/ui/Tabs/Tabs.js3
-rw-r--r--src/components/ui/Toggle.js3
-rw-r--r--src/components/ui/ToggleRaw.js3
-rw-r--r--src/components/ui/WebviewLoader/index.js6
-rw-r--r--src/components/ui/badge/ProBadge.tsx9
-rw-r--r--src/components/ui/badge/index.tsx7
-rw-r--r--src/components/ui/button/index.tsx14
-rw-r--r--src/components/ui/error/index.tsx2
-rw-r--r--src/components/ui/headline/index.tsx10
-rw-r--r--src/components/ui/icon/index.tsx7
-rw-r--r--src/components/ui/infobox/index.tsx9
-rw-r--r--src/components/ui/input/index.tsx8
-rw-r--r--src/components/ui/label/index.tsx13
-rw-r--r--src/components/ui/loader/index.tsx18
-rw-r--r--src/components/ui/select/index.tsx11
-rw-r--r--src/components/ui/textarea/index.tsx10
-rw-r--r--src/components/ui/toggle/index.tsx10
-rw-r--r--src/components/ui/typings/generic.ts9
-rw-r--r--src/components/ui/wrapper/index.tsx9
-rw-r--r--src/components/util/ErrorBoundary/index.js5
-rw-r--r--src/containers/auth/AuthLayoutContainer.js6
-rw-r--r--src/containers/auth/ChangeServerScreen.js6
-rw-r--r--src/containers/auth/ImportScreen.js6
-rw-r--r--src/containers/auth/InviteScreen.js6
-rw-r--r--src/containers/auth/LockedScreen.js6
-rw-r--r--src/containers/auth/LoginScreen.js6
-rw-r--r--src/containers/auth/PasswordScreen.js6
-rw-r--r--src/containers/auth/SetupAssistantScreen.js6
-rw-r--r--src/containers/auth/SignupScreen.js6
-rw-r--r--src/containers/auth/WelcomeScreen.js6
-rw-r--r--src/containers/layout/AppLayoutContainer.js6
-rw-r--r--src/containers/settings/AccountScreen.js6
-rw-r--r--src/containers/settings/EditServiceScreen.js8
-rw-r--r--src/containers/settings/EditSettingsScreen.js8
-rw-r--r--src/containers/settings/EditUserScreen.js8
-rw-r--r--src/containers/settings/InviteScreen.js6
-rw-r--r--src/containers/settings/RecipesScreen.js6
-rw-r--r--src/containers/settings/ServicesScreen.js6
-rw-r--r--src/containers/settings/SettingsWindow.js6
-rw-r--r--src/containers/settings/SupportScreen.js5
-rw-r--r--src/containers/settings/TeamScreen.js6
-rw-r--r--src/electron/ipc-api/download.ts2
-rw-r--r--src/features/basicAuth/Component.js6
-rw-r--r--src/features/nightlyBuilds/Component.js15
-rw-r--r--src/features/publishDebugInfo/Component.js16
-rw-r--r--src/features/quickSwitch/Component.js12
-rw-r--r--src/features/todos/components/TodosWebview.js7
-rw-r--r--src/features/todos/containers/TodosScreen.js6
-rw-r--r--src/features/todos/store.js4
-rw-r--r--src/features/webControls/components/WebControls.js6
-rw-r--r--src/features/webControls/containers/WebControlsScreen.js6
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.js10
-rw-r--r--src/features/workspaces/components/EditWorkspaceForm.js10
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.js6
-rw-r--r--src/features/workspaces/components/WorkspaceDrawerItem.js6
-rw-r--r--src/features/workspaces/components/WorkspaceItem.tsx6
-rw-r--r--src/features/workspaces/components/WorkspaceServiceListItem.tsx6
-rw-r--r--src/features/workspaces/components/WorkspaceSwitchingIndicator.js8
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.js15
-rw-r--r--src/features/workspaces/containers/EditWorkspaceScreen.tsx4
-rw-r--r--src/features/workspaces/containers/WorkspacesScreen.tsx4
-rw-r--r--src/lib/Form.ts7
-rw-r--r--src/routes.tsx4
-rw-r--r--src/stores/ServicesStore.js2
118 files changed, 700 insertions, 673 deletions
diff --git a/package-lock.json b/package-lock.json
index eefac54e2..b145811cd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -51,8 +51,8 @@
51 "minimist": "^1.2.5", 51 "minimist": "^1.2.5",
52 "mobx": "^5.15.0", 52 "mobx": "^5.15.0",
53 "mobx-localstorage": "^1.2.0", 53 "mobx-localstorage": "^1.2.0",
54 "mobx-react": "^5.4.2", 54 "mobx-react": "^6.3.1",
55 "mobx-react-form": "1.35.1", 55 "mobx-react-form": "^2.0.9",
56 "mobx-react-router": "^3.1.2", 56 "mobx-react-router": "^3.1.2",
57 "moment": "^2.29.1", 57 "moment": "^2.29.1",
58 "ms": "^2.1.3", 58 "ms": "^2.1.3",
@@ -68,7 +68,7 @@
68 "react-dropzone": "^11.4.2", 68 "react-dropzone": "^11.4.2",
69 "react-electron-web-view": "^2.0.1", 69 "react-electron-web-view": "^2.0.1",
70 "react-intl": "^5.21.0", 70 "react-intl": "^5.21.0",
71 "react-jss": "^8.6.1", 71 "react-jss": "^10.8.2",
72 "react-loader": "^2.4.7", 72 "react-loader": "^2.4.7",
73 "react-modal": "^3.14.3", 73 "react-modal": "^3.14.3",
74 "react-router": "^3.2.6", 74 "react-router": "^3.2.6",
@@ -2866,6 +2866,19 @@
2866 "graceful-fs": "^4.1.6" 2866 "graceful-fs": "^4.1.6"
2867 } 2867 }
2868 }, 2868 },
2869 "node_modules/@emotion/is-prop-valid": {
2870 "version": "0.7.3",
2871 "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz",
2872 "integrity": "sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==",
2873 "dependencies": {
2874 "@emotion/memoize": "0.7.1"
2875 }
2876 },
2877 "node_modules/@emotion/memoize": {
2878 "version": "0.7.1",
2879 "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz",
2880 "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg=="
2881 },
2869 "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { 2882 "node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": {
2870 "version": "3.0.2", 2883 "version": "3.0.2",
2871 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", 2884 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
@@ -7769,11 +7782,6 @@
7769 "node": ">=0.10.0" 7782 "node": ">=0.10.0"
7770 } 7783 }
7771 }, 7784 },
7772 "node_modules/brcast": {
7773 "version": "3.0.2",
7774 "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.2.tgz",
7775 "integrity": "sha512-f5XwwFCCuvgqP2nMH/hJ74FqnGmb4X3D+NC//HphxJzzhsZvSZa+Hk/syB7j3ZHpPDLMoYU8oBgviRWfNvEfKA=="
7776 },
7777 "node_modules/brorand": { 7785 "node_modules/brorand": {
7778 "version": "1.1.0", 7786 "version": "1.1.0",
7779 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 7787 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
@@ -10098,6 +10106,16 @@
10098 "node": ">= 0.8" 10106 "node": ">= 0.8"
10099 } 10107 }
10100 }, 10108 },
10109 "node_modules/css-jss": {
10110 "version": "10.8.2",
10111 "resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.8.2.tgz",
10112 "integrity": "sha512-KjsoKnBV4C9p+F+zW9jNXCai0UYU5K+3eyo+lJX/fY8UBEQd/yNREnHsLD1VMMzBwHRvrA8eQHvqmAL+XNLYcw==",
10113 "dependencies": {
10114 "@babel/runtime": "^7.3.1",
10115 "jss": "10.8.2",
10116 "jss-preset-default": "10.8.2"
10117 }
10118 },
10101 "node_modules/css-select": { 10119 "node_modules/css-select": {
10102 "version": "4.1.3", 10120 "version": "4.1.3",
10103 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", 10121 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
@@ -10137,10 +10155,11 @@
10137 } 10155 }
10138 }, 10156 },
10139 "node_modules/css-vendor": { 10157 "node_modules/css-vendor": {
10140 "version": "0.3.8", 10158 "version": "2.0.8",
10141 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", 10159 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
10142 "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", 10160 "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
10143 "dependencies": { 10161 "dependencies": {
10162 "@babel/runtime": "^7.8.3",
10144 "is-in-browser": "^1.0.2" 10163 "is-in-browser": "^1.0.2"
10145 } 10164 }
10146 }, 10165 },
@@ -16616,11 +16635,6 @@
16616 "node": ">=4" 16635 "node": ">=4"
16617 } 16636 }
16618 }, 16637 },
16619 "node_modules/is-function": {
16620 "version": "1.0.2",
16621 "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
16622 "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
16623 },
16624 "node_modules/is-generator-fn": { 16638 "node_modules/is-generator-fn": {
16625 "version": "2.1.0", 16639 "version": "2.1.0",
16626 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", 16640 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
@@ -19420,122 +19434,141 @@
19420 "url": "https://opencollective.com/jss" 19434 "url": "https://opencollective.com/jss"
19421 } 19435 }
19422 }, 19436 },
19423 "node_modules/jss-camel-case": { 19437 "node_modules/jss-plugin-camel-case": {
19424 "version": "6.1.0", 19438 "version": "10.8.2",
19425 "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", 19439 "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz",
19426 "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", 19440 "integrity": "sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA==",
19427 "dependencies": { 19441 "dependencies": {
19428 "hyphenate-style-name": "^1.0.2" 19442 "@babel/runtime": "^7.3.1",
19429 }, 19443 "hyphenate-style-name": "^1.0.3",
19430 "peerDependencies": { 19444 "jss": "10.8.2"
19431 "jss": "^9.7.0"
19432 } 19445 }
19433 }, 19446 },
19434 "node_modules/jss-compose": { 19447 "node_modules/jss-plugin-compose": {
19435 "version": "5.0.0", 19448 "version": "10.8.2",
19436 "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", 19449 "resolved": "https://registry.npmjs.org/jss-plugin-compose/-/jss-plugin-compose-10.8.2.tgz",
19437 "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", 19450 "integrity": "sha512-X7fDQJ6IlIJoT8A3zc++LuC1hmSGKVudb3LyXp+vHv8r2hzzfXEEZty3y2CaC5CGrWcLlYquXENjqLNmLYMgMA==",
19438 "dependencies": { 19451 "dependencies": {
19439 "warning": "^3.0.0" 19452 "@babel/runtime": "^7.3.1",
19440 }, 19453 "jss": "10.8.2",
19441 "peerDependencies": { 19454 "tiny-warning": "^1.0.2"
19442 "jss": "^9.0.0"
19443 } 19455 }
19444 }, 19456 },
19445 "node_modules/jss-default-unit": { 19457 "node_modules/jss-plugin-default-unit": {
19446 "version": "8.0.2", 19458 "version": "10.8.2",
19447 "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz", 19459 "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz",
19448 "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg==", 19460 "integrity": "sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg==",
19449 "peerDependencies": { 19461 "dependencies": {
19450 "jss": "^9.4.0" 19462 "@babel/runtime": "^7.3.1",
19463 "jss": "10.8.2"
19451 } 19464 }
19452 }, 19465 },
19453 "node_modules/jss-expand": { 19466 "node_modules/jss-plugin-expand": {
19454 "version": "5.3.0", 19467 "version": "10.8.2",
19455 "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz", 19468 "resolved": "https://registry.npmjs.org/jss-plugin-expand/-/jss-plugin-expand-10.8.2.tgz",
19456 "integrity": "sha512-NiM4TbDVE0ykXSAw6dfFmB1LIqXP/jdd0ZMnlvlGgEMkMt+weJIl8Ynq1DsuBY9WwkNyzWktdqcEW2VN0RAtQg==", 19469 "integrity": "sha512-Iy4qsZbEcomXz5aBZJYGwnzK23vK3hqlwGleqmd19fY3L+WbqTmUnW8W0fWeXSuCkw2NknBTAJuEpFcgm3b0Pw==",
19457 "peerDependencies": { 19470 "dependencies": {
19458 "jss": "^9.4.0" 19471 "@babel/runtime": "^7.3.1",
19472 "jss": "10.8.2"
19459 } 19473 }
19460 }, 19474 },
19461 "node_modules/jss-extend": { 19475 "node_modules/jss-plugin-extend": {
19462 "version": "6.2.0", 19476 "version": "10.8.2",
19463 "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", 19477 "resolved": "https://registry.npmjs.org/jss-plugin-extend/-/jss-plugin-extend-10.8.2.tgz",
19464 "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", 19478 "integrity": "sha512-NYu0cJ/Zb50ySPkegzbXQQfhXza0VpaRVXdXDex30yXqZpGcAdmhSg4HTv8vzHiL1v3uIOm641FYQX9WvLgSWw==",
19465 "dependencies": { 19479 "dependencies": {
19466 "warning": "^3.0.0" 19480 "@babel/runtime": "^7.3.1",
19467 }, 19481 "jss": "10.8.2",
19468 "peerDependencies": { 19482 "tiny-warning": "^1.0.2"
19469 "jss": "^9.7.0"
19470 } 19483 }
19471 }, 19484 },
19472 "node_modules/jss-global": { 19485 "node_modules/jss-plugin-global": {
19473 "version": "3.0.0", 19486 "version": "10.8.2",
19474 "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz", 19487 "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz",
19475 "integrity": "sha512-wxYn7vL+TImyQYGAfdplg7yaxnPQ9RaXY/cIA8hawaVnmmWxDHzBK32u1y+RAvWboa3lW83ya3nVZ/C+jyjZ5Q==", 19488 "integrity": "sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA==",
19476 "peerDependencies": { 19489 "dependencies": {
19477 "jss": "^9.0.0" 19490 "@babel/runtime": "^7.3.1",
19491 "jss": "10.8.2"
19478 } 19492 }
19479 }, 19493 },
19480 "node_modules/jss-nested": { 19494 "node_modules/jss-plugin-nested": {
19481 "version": "6.0.1", 19495 "version": "10.8.2",
19482 "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", 19496 "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz",
19483 "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", 19497 "integrity": "sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA==",
19484 "dependencies": { 19498 "dependencies": {
19485 "warning": "^3.0.0" 19499 "@babel/runtime": "^7.3.1",
19486 }, 19500 "jss": "10.8.2",
19487 "peerDependencies": { 19501 "tiny-warning": "^1.0.2"
19488 "jss": "^9.0.0"
19489 } 19502 }
19490 }, 19503 },
19491 "node_modules/jss-preset-default": { 19504 "node_modules/jss-plugin-props-sort": {
19492 "version": "4.5.0", 19505 "version": "10.8.2",
19493 "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz", 19506 "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz",
19494 "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==", 19507 "integrity": "sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ==",
19495 "dependencies": { 19508 "dependencies": {
19496 "jss-camel-case": "^6.1.0", 19509 "@babel/runtime": "^7.3.1",
19497 "jss-compose": "^5.0.0", 19510 "jss": "10.8.2"
19498 "jss-default-unit": "^8.0.2",
19499 "jss-expand": "^5.3.0",
19500 "jss-extend": "^6.2.0",
19501 "jss-global": "^3.0.0",
19502 "jss-nested": "^6.0.1",
19503 "jss-props-sort": "^6.0.0",
19504 "jss-template": "^1.0.1",
19505 "jss-vendor-prefixer": "^7.0.0"
19506 },
19507 "peerDependencies": {
19508 "jss": "^9.7.0"
19509 } 19511 }
19510 }, 19512 },
19511 "node_modules/jss-props-sort": { 19513 "node_modules/jss-plugin-rule-value-function": {
19512 "version": "6.0.0", 19514 "version": "10.8.2",
19513 "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz", 19515 "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz",
19514 "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g==", 19516 "integrity": "sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug==",
19515 "peerDependencies": { 19517 "dependencies": {
19516 "jss": "^9.0.0" 19518 "@babel/runtime": "^7.3.1",
19519 "jss": "10.8.2",
19520 "tiny-warning": "^1.0.2"
19517 } 19521 }
19518 }, 19522 },
19519 "node_modules/jss-template": { 19523 "node_modules/jss-plugin-rule-value-observable": {
19520 "version": "1.0.1", 19524 "version": "10.8.2",
19521 "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", 19525 "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-observable/-/jss-plugin-rule-value-observable-10.8.2.tgz",
19522 "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", 19526 "integrity": "sha512-NaJCfsEg8/6l/E8HstwL2w8kHj2LHhwoG4fXxefmdvNKmJMwBpnjech5dEPL72It4bZfIIYoynWbyxo3Q0ZKQQ==",
19523 "dependencies": { 19527 "dependencies": {
19524 "warning": "^3.0.0" 19528 "@babel/runtime": "^7.3.1",
19525 }, 19529 "jss": "10.8.2",
19526 "peerDependencies": { 19530 "symbol-observable": "^1.2.0"
19527 "jss": "^9.0.0"
19528 } 19531 }
19529 }, 19532 },
19530 "node_modules/jss-vendor-prefixer": { 19533 "node_modules/jss-plugin-template": {
19531 "version": "7.0.0", 19534 "version": "10.8.2",
19532 "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", 19535 "resolved": "https://registry.npmjs.org/jss-plugin-template/-/jss-plugin-template-10.8.2.tgz",
19533 "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", 19536 "integrity": "sha512-oTVwYRUCuCLslHxuH73F15kFmDxc4YEJIn8kHBnNpGr99ZbQdRIgPabosVTfkgE8czuyTx0KM5u8zEeuL+v66A==",
19534 "dependencies": { 19537 "dependencies": {
19535 "css-vendor": "^0.3.8" 19538 "@babel/runtime": "^7.3.1",
19536 }, 19539 "jss": "10.8.2",
19537 "peerDependencies": { 19540 "tiny-warning": "^1.0.2"
19538 "jss": "^9.0.0" 19541 }
19542 },
19543 "node_modules/jss-plugin-vendor-prefixer": {
19544 "version": "10.8.2",
19545 "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz",
19546 "integrity": "sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg==",
19547 "dependencies": {
19548 "@babel/runtime": "^7.3.1",
19549 "css-vendor": "^2.0.8",
19550 "jss": "10.8.2"
19551 }
19552 },
19553 "node_modules/jss-preset-default": {
19554 "version": "10.8.2",
19555 "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-10.8.2.tgz",
19556 "integrity": "sha512-mgkr6DAZuvkEleHFEpOkm8Y+sTdK/r0HH8PxToLHgaWHbYS0JAb0g1tBSUMG24kFj98VOYLTllK1o0J4lWU/uw==",
19557 "dependencies": {
19558 "@babel/runtime": "^7.3.1",
19559 "jss": "10.8.2",
19560 "jss-plugin-camel-case": "10.8.2",
19561 "jss-plugin-compose": "10.8.2",
19562 "jss-plugin-default-unit": "10.8.2",
19563 "jss-plugin-expand": "10.8.2",
19564 "jss-plugin-extend": "10.8.2",
19565 "jss-plugin-global": "10.8.2",
19566 "jss-plugin-nested": "10.8.2",
19567 "jss-plugin-props-sort": "10.8.2",
19568 "jss-plugin-rule-value-function": "10.8.2",
19569 "jss-plugin-rule-value-observable": "10.8.2",
19570 "jss-plugin-template": "10.8.2",
19571 "jss-plugin-vendor-prefixer": "10.8.2"
19539 } 19572 }
19540 }, 19573 },
19541 "node_modules/jsx-ast-utils": { 19574 "node_modules/jsx-ast-utils": {
@@ -21173,32 +21206,48 @@
21173 } 21206 }
21174 }, 21207 },
21175 "node_modules/mobx-react": { 21208 "node_modules/mobx-react": {
21176 "version": "5.4.4", 21209 "version": "6.3.1",
21177 "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.4.4.tgz", 21210 "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-6.3.1.tgz",
21178 "integrity": "sha512-2mTzpyEjVB/RGk2i6KbcmP4HWcAUFox5ZRCrGvSyz49w20I4C4qql63grPpYrS9E9GKwgydBHQlA4y665LuRCQ==", 21211 "integrity": "sha512-IOxdJGnRSNSJrL2uGpWO5w9JH5q5HoxEqwOF4gye1gmZYdjoYkkMzSGMDnRCUpN/BNzZcFoMdHXrjvkwO7KgaQ==",
21179 "dependencies": { 21212 "dependencies": {
21180 "hoist-non-react-statics": "^3.0.0", 21213 "mobx-react-lite": "^2.2.0"
21181 "react-lifecycles-compat": "^3.0.2"
21182 }, 21214 },
21183 "peerDependencies": { 21215 "peerDependencies": {
21184 "mobx": "^4.0.0 || ^5.0.0", 21216 "mobx": "^5.15.4 || ^4.15.4",
21185 "react": "^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0" 21217 "react": "^16.8.0 || 16.9.0-alpha.0"
21186 } 21218 }
21187 }, 21219 },
21188 "node_modules/mobx-react-form": { 21220 "node_modules/mobx-react-form": {
21189 "version": "1.35.1", 21221 "version": "2.0.9",
21190 "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-1.35.1.tgz", 21222 "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-2.0.9.tgz",
21191 "integrity": "sha1-iSrsZykiThHCl4+4LmetxOgOOmo=", 21223 "integrity": "sha512-YLbtXVUF6BtifeVr6XWJ76dQWJs3T/+aPNI/DKvNs1Opcl4jNCzENahqlqNsNI+RgXZbP36zck//IGWBNZsr0A==",
21192 "dependencies": { 21224 "dependencies": {
21193 "lodash": "^4.16.2" 21225 "lodash": "^4.17.11"
21194 }, 21226 },
21195 "engines": { 21227 "engines": {
21196 "node": ">=6.0.0" 21228 "node": ">=8.0.0"
21197 }, 21229 },
21198 "peerDependencies": { 21230 "peerDependencies": {
21199 "mobx": "^2.5.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" 21231 "mobx": "^2.5.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
21200 } 21232 }
21201 }, 21233 },
21234 "node_modules/mobx-react-lite": {
21235 "version": "2.2.2",
21236 "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-2.2.2.tgz",
21237 "integrity": "sha512-2SlXALHIkyUPDsV4VTKVR9DW7K3Ksh1aaIv3NrNJygTbhXe2A9GrcKHZ2ovIiOp/BXilOcTYemfHHZubP431dg==",
21238 "peerDependencies": {
21239 "mobx": "^4.0.0 || ^5.0.0",
21240 "react": "^16.8.0"
21241 },
21242 "peerDependenciesMeta": {
21243 "react-dom": {
21244 "optional": true
21245 },
21246 "react-native": {
21247 "optional": true
21248 }
21249 }
21250 },
21202 "node_modules/mobx-react-router": { 21251 "node_modules/mobx-react-router": {
21203 "version": "3.1.2", 21252 "version": "3.1.2",
21204 "resolved": "https://registry.npmjs.org/mobx-react-router/-/mobx-react-router-3.1.2.tgz", 21253 "resolved": "https://registry.npmjs.org/mobx-react-router/-/mobx-react-router-3.1.2.tgz",
@@ -24552,6 +24601,11 @@
24552 "react": "^16.3.0 || ^17.0.1" 24601 "react": "^16.3.0 || ^17.0.1"
24553 } 24602 }
24554 }, 24603 },
24604 "node_modules/react-display-name": {
24605 "version": "0.2.5",
24606 "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz",
24607 "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg=="
24608 },
24555 "node_modules/react-dom": { 24609 "node_modules/react-dom": {
24556 "version": "17.0.2", 24610 "version": "17.0.2",
24557 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", 24611 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
@@ -24625,40 +24679,24 @@
24625 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 24679 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
24626 }, 24680 },
24627 "node_modules/react-jss": { 24681 "node_modules/react-jss": {
24628 "version": "8.6.1", 24682 "version": "10.8.2",
24629 "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.6.1.tgz", 24683 "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-10.8.2.tgz",
24630 "integrity": "sha512-SH6XrJDJkAphp602J14JTy3puB2Zxz1FkM3bKVE8wON+va99jnUTKWnzGECb3NfIn9JPR5vHykge7K3/A747xQ==", 24684 "integrity": "sha512-/lLFIv1H6GA5RkvNb7TdXcJMBaSvSpfmSYsDisj4WI7MmqXUouoKfkZUJzG7CWq8xnIxik0WWYjFcGOvx0Sasw==",
24631 "dependencies": { 24685 "dependencies": {
24632 "hoist-non-react-statics": "^2.5.0", 24686 "@babel/runtime": "^7.3.1",
24633 "jss": "^9.7.0", 24687 "@emotion/is-prop-valid": "^0.7.3",
24634 "jss-preset-default": "^4.3.0", 24688 "css-jss": "10.8.2",
24689 "hoist-non-react-statics": "^3.2.0",
24690 "is-in-browser": "^1.1.3",
24691 "jss": "10.8.2",
24692 "jss-preset-default": "10.8.2",
24635 "prop-types": "^15.6.0", 24693 "prop-types": "^15.6.0",
24636 "theming": "^1.3.0" 24694 "shallow-equal": "^1.2.0",
24637 }, 24695 "theming": "^3.3.0",
24638 "engines": { 24696 "tiny-warning": "^1.0.2"
24639 "node": ">=4"
24640 }, 24697 },
24641 "peerDependencies": { 24698 "peerDependencies": {
24642 "react": ">=0.13" 24699 "react": ">=16.8.6"
24643 }
24644 },
24645 "node_modules/react-jss/node_modules/hoist-non-react-statics": {
24646 "version": "2.5.5",
24647 "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
24648 "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
24649 },
24650 "node_modules/react-jss/node_modules/jss": {
24651 "version": "9.8.7",
24652 "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz",
24653 "integrity": "sha512-awj3XRZYxbrmmrx9LUSj5pXSUfm12m8xzi/VKeqI1ZwWBtQ0kVPTs3vYs32t4rFw83CgFDukA8wKzOE9sMQnoQ==",
24654 "hasInstallScript": true,
24655 "dependencies": {
24656 "is-in-browser": "^1.1.3",
24657 "symbol-observable": "^1.1.0",
24658 "warning": "^3.0.0"
24659 },
24660 "engines": {
24661 "node": ">=4"
24662 } 24700 }
24663 }, 24701 },
24664 "node_modules/react-lifecycles-compat": { 24702 "node_modules/react-lifecycles-compat": {
@@ -26490,6 +26528,11 @@
26490 "node": ">=8" 26528 "node": ">=8"
26491 } 26529 }
26492 }, 26530 },
26531 "node_modules/shallow-equal": {
26532 "version": "1.2.1",
26533 "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
26534 "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
26535 },
26493 "node_modules/shebang-command": { 26536 "node_modules/shebang-command": {
26494 "version": "2.0.0", 26537 "version": "2.0.0",
26495 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 26538 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -28065,17 +28108,20 @@
28065 "dev": true 28108 "dev": true
28066 }, 28109 },
28067 "node_modules/theming": { 28110 "node_modules/theming": {
28068 "version": "1.3.0", 28111 "version": "3.3.0",
28069 "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", 28112 "resolved": "https://registry.npmjs.org/theming/-/theming-3.3.0.tgz",
28070 "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", 28113 "integrity": "sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==",
28071 "dependencies": { 28114 "dependencies": {
28072 "brcast": "^3.0.1", 28115 "hoist-non-react-statics": "^3.3.0",
28073 "is-function": "^1.0.1", 28116 "prop-types": "^15.5.8",
28074 "is-plain-object": "^2.0.1", 28117 "react-display-name": "^0.2.4",
28075 "prop-types": "^15.5.8" 28118 "tiny-warning": "^1.0.2"
28119 },
28120 "engines": {
28121 "node": ">=8"
28076 }, 28122 },
28077 "peerDependencies": { 28123 "peerDependencies": {
28078 "react": ">=0.15" 28124 "react": ">=16.3"
28079 } 28125 }
28080 }, 28126 },
28081 "node_modules/throat": { 28127 "node_modules/throat": {
@@ -33729,6 +33775,19 @@
33729 } 33775 }
33730 } 33776 }
33731 }, 33777 },
33778 "@emotion/is-prop-valid": {
33779 "version": "0.7.3",
33780 "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz",
33781 "integrity": "sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==",
33782 "requires": {
33783 "@emotion/memoize": "0.7.1"
33784 }
33785 },
33786 "@emotion/memoize": {
33787 "version": "0.7.1",
33788 "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz",
33789 "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg=="
33790 },
33732 "@endemolshinegroup/cosmiconfig-typescript-loader": { 33791 "@endemolshinegroup/cosmiconfig-typescript-loader": {
33733 "version": "3.0.2", 33792 "version": "3.0.2",
33734 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", 33793 "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz",
@@ -37695,11 +37754,6 @@
37695 "to-regex": "^3.0.1" 37754 "to-regex": "^3.0.1"
37696 } 37755 }
37697 }, 37756 },
37698 "brcast": {
37699 "version": "3.0.2",
37700 "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.2.tgz",
37701 "integrity": "sha512-f5XwwFCCuvgqP2nMH/hJ74FqnGmb4X3D+NC//HphxJzzhsZvSZa+Hk/syB7j3ZHpPDLMoYU8oBgviRWfNvEfKA=="
37702 },
37703 "brorand": { 37757 "brorand": {
37704 "version": "1.1.0", 37758 "version": "1.1.0",
37705 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 37759 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
@@ -39589,6 +39643,16 @@
39589 "uid-safe": "2.1.5" 39643 "uid-safe": "2.1.5"
39590 } 39644 }
39591 }, 39645 },
39646 "css-jss": {
39647 "version": "10.8.2",
39648 "resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.8.2.tgz",
39649 "integrity": "sha512-KjsoKnBV4C9p+F+zW9jNXCai0UYU5K+3eyo+lJX/fY8UBEQd/yNREnHsLD1VMMzBwHRvrA8eQHvqmAL+XNLYcw==",
39650 "requires": {
39651 "@babel/runtime": "^7.3.1",
39652 "jss": "10.8.2",
39653 "jss-preset-default": "10.8.2"
39654 }
39655 },
39592 "css-select": { 39656 "css-select": {
39593 "version": "4.1.3", 39657 "version": "4.1.3",
39594 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", 39658 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
@@ -39621,10 +39685,11 @@
39621 } 39685 }
39622 }, 39686 },
39623 "css-vendor": { 39687 "css-vendor": {
39624 "version": "0.3.8", 39688 "version": "2.0.8",
39625 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", 39689 "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
39626 "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", 39690 "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
39627 "requires": { 39691 "requires": {
39692 "@babel/runtime": "^7.8.3",
39628 "is-in-browser": "^1.0.2" 39693 "is-in-browser": "^1.0.2"
39629 } 39694 }
39630 }, 39695 },
@@ -44767,11 +44832,6 @@
44767 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 44832 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
44768 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 44833 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
44769 }, 44834 },
44770 "is-function": {
44771 "version": "1.0.2",
44772 "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
44773 "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
44774 },
44775 "is-generator-fn": { 44835 "is-generator-fn": {
44776 "version": "2.1.0", 44836 "version": "2.1.0",
44777 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", 44837 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
@@ -46868,89 +46928,141 @@
46868 "tiny-warning": "^1.0.2" 46928 "tiny-warning": "^1.0.2"
46869 } 46929 }
46870 }, 46930 },
46871 "jss-camel-case": { 46931 "jss-plugin-camel-case": {
46872 "version": "6.1.0", 46932 "version": "10.8.2",
46873 "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", 46933 "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz",
46874 "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", 46934 "integrity": "sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA==",
46875 "requires": { 46935 "requires": {
46876 "hyphenate-style-name": "^1.0.2" 46936 "@babel/runtime": "^7.3.1",
46937 "hyphenate-style-name": "^1.0.3",
46938 "jss": "10.8.2"
46877 } 46939 }
46878 }, 46940 },
46879 "jss-compose": { 46941 "jss-plugin-compose": {
46880 "version": "5.0.0", 46942 "version": "10.8.2",
46881 "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", 46943 "resolved": "https://registry.npmjs.org/jss-plugin-compose/-/jss-plugin-compose-10.8.2.tgz",
46882 "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", 46944 "integrity": "sha512-X7fDQJ6IlIJoT8A3zc++LuC1hmSGKVudb3LyXp+vHv8r2hzzfXEEZty3y2CaC5CGrWcLlYquXENjqLNmLYMgMA==",
46883 "requires": { 46945 "requires": {
46884 "warning": "^3.0.0" 46946 "@babel/runtime": "^7.3.1",
46947 "jss": "10.8.2",
46948 "tiny-warning": "^1.0.2"
46885 } 46949 }
46886 }, 46950 },
46887 "jss-default-unit": { 46951 "jss-plugin-default-unit": {
46888 "version": "8.0.2", 46952 "version": "10.8.2",
46889 "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz", 46953 "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz",
46890 "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg==" 46954 "integrity": "sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg==",
46955 "requires": {
46956 "@babel/runtime": "^7.3.1",
46957 "jss": "10.8.2"
46958 }
46891 }, 46959 },
46892 "jss-expand": { 46960 "jss-plugin-expand": {
46893 "version": "5.3.0", 46961 "version": "10.8.2",
46894 "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz", 46962 "resolved": "https://registry.npmjs.org/jss-plugin-expand/-/jss-plugin-expand-10.8.2.tgz",
46895 "integrity": "sha512-NiM4TbDVE0ykXSAw6dfFmB1LIqXP/jdd0ZMnlvlGgEMkMt+weJIl8Ynq1DsuBY9WwkNyzWktdqcEW2VN0RAtQg==" 46963 "integrity": "sha512-Iy4qsZbEcomXz5aBZJYGwnzK23vK3hqlwGleqmd19fY3L+WbqTmUnW8W0fWeXSuCkw2NknBTAJuEpFcgm3b0Pw==",
46964 "requires": {
46965 "@babel/runtime": "^7.3.1",
46966 "jss": "10.8.2"
46967 }
46896 }, 46968 },
46897 "jss-extend": { 46969 "jss-plugin-extend": {
46898 "version": "6.2.0", 46970 "version": "10.8.2",
46899 "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", 46971 "resolved": "https://registry.npmjs.org/jss-plugin-extend/-/jss-plugin-extend-10.8.2.tgz",
46900 "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", 46972 "integrity": "sha512-NYu0cJ/Zb50ySPkegzbXQQfhXza0VpaRVXdXDex30yXqZpGcAdmhSg4HTv8vzHiL1v3uIOm641FYQX9WvLgSWw==",
46901 "requires": { 46973 "requires": {
46902 "warning": "^3.0.0" 46974 "@babel/runtime": "^7.3.1",
46975 "jss": "10.8.2",
46976 "tiny-warning": "^1.0.2"
46903 } 46977 }
46904 }, 46978 },
46905 "jss-global": { 46979 "jss-plugin-global": {
46906 "version": "3.0.0", 46980 "version": "10.8.2",
46907 "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz", 46981 "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz",
46908 "integrity": "sha512-wxYn7vL+TImyQYGAfdplg7yaxnPQ9RaXY/cIA8hawaVnmmWxDHzBK32u1y+RAvWboa3lW83ya3nVZ/C+jyjZ5Q==" 46982 "integrity": "sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA==",
46983 "requires": {
46984 "@babel/runtime": "^7.3.1",
46985 "jss": "10.8.2"
46986 }
46909 }, 46987 },
46910 "jss-nested": { 46988 "jss-plugin-nested": {
46911 "version": "6.0.1", 46989 "version": "10.8.2",
46912 "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", 46990 "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz",
46913 "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", 46991 "integrity": "sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA==",
46914 "requires": { 46992 "requires": {
46915 "warning": "^3.0.0" 46993 "@babel/runtime": "^7.3.1",
46994 "jss": "10.8.2",
46995 "tiny-warning": "^1.0.2"
46916 } 46996 }
46917 }, 46997 },
46918 "jss-preset-default": { 46998 "jss-plugin-props-sort": {
46919 "version": "4.5.0", 46999 "version": "10.8.2",
46920 "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz", 47000 "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz",
46921 "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==", 47001 "integrity": "sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ==",
46922 "requires": { 47002 "requires": {
46923 "jss-camel-case": "^6.1.0", 47003 "@babel/runtime": "^7.3.1",
46924 "jss-compose": "^5.0.0", 47004 "jss": "10.8.2"
46925 "jss-default-unit": "^8.0.2", 47005 }
46926 "jss-expand": "^5.3.0",
46927 "jss-extend": "^6.2.0",
46928 "jss-global": "^3.0.0",
46929 "jss-nested": "^6.0.1",
46930 "jss-props-sort": "^6.0.0",
46931 "jss-template": "^1.0.1",
46932 "jss-vendor-prefixer": "^7.0.0"
46933 }
46934 },
46935 "jss-props-sort": {
46936 "version": "6.0.0",
46937 "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz",
46938 "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g=="
46939 }, 47006 },
46940 "jss-template": { 47007 "jss-plugin-rule-value-function": {
46941 "version": "1.0.1", 47008 "version": "10.8.2",
46942 "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", 47009 "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz",
46943 "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", 47010 "integrity": "sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug==",
46944 "requires": { 47011 "requires": {
46945 "warning": "^3.0.0" 47012 "@babel/runtime": "^7.3.1",
47013 "jss": "10.8.2",
47014 "tiny-warning": "^1.0.2"
46946 } 47015 }
46947 }, 47016 },
46948 "jss-vendor-prefixer": { 47017 "jss-plugin-rule-value-observable": {
46949 "version": "7.0.0", 47018 "version": "10.8.2",
46950 "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", 47019 "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-observable/-/jss-plugin-rule-value-observable-10.8.2.tgz",
46951 "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", 47020 "integrity": "sha512-NaJCfsEg8/6l/E8HstwL2w8kHj2LHhwoG4fXxefmdvNKmJMwBpnjech5dEPL72It4bZfIIYoynWbyxo3Q0ZKQQ==",
46952 "requires": { 47021 "requires": {
46953 "css-vendor": "^0.3.8" 47022 "@babel/runtime": "^7.3.1",
47023 "jss": "10.8.2",
47024 "symbol-observable": "^1.2.0"
47025 }
47026 },
47027 "jss-plugin-template": {
47028 "version": "10.8.2",
47029 "resolved": "https://registry.npmjs.org/jss-plugin-template/-/jss-plugin-template-10.8.2.tgz",
47030 "integrity": "sha512-oTVwYRUCuCLslHxuH73F15kFmDxc4YEJIn8kHBnNpGr99ZbQdRIgPabosVTfkgE8czuyTx0KM5u8zEeuL+v66A==",
47031 "requires": {
47032 "@babel/runtime": "^7.3.1",
47033 "jss": "10.8.2",
47034 "tiny-warning": "^1.0.2"
47035 }
47036 },
47037 "jss-plugin-vendor-prefixer": {
47038 "version": "10.8.2",
47039 "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz",
47040 "integrity": "sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg==",
47041 "requires": {
47042 "@babel/runtime": "^7.3.1",
47043 "css-vendor": "^2.0.8",
47044 "jss": "10.8.2"
47045 }
47046 },
47047 "jss-preset-default": {
47048 "version": "10.8.2",
47049 "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-10.8.2.tgz",
47050 "integrity": "sha512-mgkr6DAZuvkEleHFEpOkm8Y+sTdK/r0HH8PxToLHgaWHbYS0JAb0g1tBSUMG24kFj98VOYLTllK1o0J4lWU/uw==",
47051 "requires": {
47052 "@babel/runtime": "^7.3.1",
47053 "jss": "10.8.2",
47054 "jss-plugin-camel-case": "10.8.2",
47055 "jss-plugin-compose": "10.8.2",
47056 "jss-plugin-default-unit": "10.8.2",
47057 "jss-plugin-expand": "10.8.2",
47058 "jss-plugin-extend": "10.8.2",
47059 "jss-plugin-global": "10.8.2",
47060 "jss-plugin-nested": "10.8.2",
47061 "jss-plugin-props-sort": "10.8.2",
47062 "jss-plugin-rule-value-function": "10.8.2",
47063 "jss-plugin-rule-value-observable": "10.8.2",
47064 "jss-plugin-template": "10.8.2",
47065 "jss-plugin-vendor-prefixer": "10.8.2"
46954 } 47066 }
46955 }, 47067 },
46956 "jsx-ast-utils": { 47068 "jsx-ast-utils": {
@@ -48251,22 +48363,26 @@
48251 } 48363 }
48252 }, 48364 },
48253 "mobx-react": { 48365 "mobx-react": {
48254 "version": "5.4.4", 48366 "version": "6.3.1",
48255 "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.4.4.tgz", 48367 "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-6.3.1.tgz",
48256 "integrity": "sha512-2mTzpyEjVB/RGk2i6KbcmP4HWcAUFox5ZRCrGvSyz49w20I4C4qql63grPpYrS9E9GKwgydBHQlA4y665LuRCQ==", 48368 "integrity": "sha512-IOxdJGnRSNSJrL2uGpWO5w9JH5q5HoxEqwOF4gye1gmZYdjoYkkMzSGMDnRCUpN/BNzZcFoMdHXrjvkwO7KgaQ==",
48257 "requires": { 48369 "requires": {
48258 "hoist-non-react-statics": "^3.0.0", 48370 "mobx-react-lite": "^2.2.0"
48259 "react-lifecycles-compat": "^3.0.2"
48260 } 48371 }
48261 }, 48372 },
48262 "mobx-react-form": { 48373 "mobx-react-form": {
48263 "version": "1.35.1", 48374 "version": "2.0.9",
48264 "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-1.35.1.tgz", 48375 "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-2.0.9.tgz",
48265 "integrity": "sha1-iSrsZykiThHCl4+4LmetxOgOOmo=", 48376 "integrity": "sha512-YLbtXVUF6BtifeVr6XWJ76dQWJs3T/+aPNI/DKvNs1Opcl4jNCzENahqlqNsNI+RgXZbP36zck//IGWBNZsr0A==",
48266 "requires": { 48377 "requires": {
48267 "lodash": "^4.16.2" 48378 "lodash": "^4.17.11"
48268 } 48379 }
48269 }, 48380 },
48381 "mobx-react-lite": {
48382 "version": "2.2.2",
48383 "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-2.2.2.tgz",
48384 "integrity": "sha512-2SlXALHIkyUPDsV4VTKVR9DW7K3Ksh1aaIv3NrNJygTbhXe2A9GrcKHZ2ovIiOp/BXilOcTYemfHHZubP431dg=="
48385 },
48270 "mobx-react-router": { 48386 "mobx-react-router": {
48271 "version": "3.1.2", 48387 "version": "3.1.2",
48272 "resolved": "https://registry.npmjs.org/mobx-react-router/-/mobx-react-router-3.1.2.tgz", 48388 "resolved": "https://registry.npmjs.org/mobx-react-router/-/mobx-react-router-3.1.2.tgz",
@@ -50927,6 +51043,11 @@
50927 "tween-functions": "^1.2.0" 51043 "tween-functions": "^1.2.0"
50928 } 51044 }
50929 }, 51045 },
51046 "react-display-name": {
51047 "version": "0.2.5",
51048 "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz",
51049 "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg=="
51050 },
50930 "react-dom": { 51051 "react-dom": {
50931 "version": "17.0.2", 51052 "version": "17.0.2",
50932 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", 51053 "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
@@ -50978,32 +51099,21 @@
50978 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 51099 "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
50979 }, 51100 },
50980 "react-jss": { 51101 "react-jss": {
50981 "version": "8.6.1", 51102 "version": "10.8.2",
50982 "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.6.1.tgz", 51103 "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-10.8.2.tgz",
50983 "integrity": "sha512-SH6XrJDJkAphp602J14JTy3puB2Zxz1FkM3bKVE8wON+va99jnUTKWnzGECb3NfIn9JPR5vHykge7K3/A747xQ==", 51104 "integrity": "sha512-/lLFIv1H6GA5RkvNb7TdXcJMBaSvSpfmSYsDisj4WI7MmqXUouoKfkZUJzG7CWq8xnIxik0WWYjFcGOvx0Sasw==",
50984 "requires": { 51105 "requires": {
50985 "hoist-non-react-statics": "^2.5.0", 51106 "@babel/runtime": "^7.3.1",
50986 "jss": "^9.7.0", 51107 "@emotion/is-prop-valid": "^0.7.3",
50987 "jss-preset-default": "^4.3.0", 51108 "css-jss": "10.8.2",
51109 "hoist-non-react-statics": "^3.2.0",
51110 "is-in-browser": "^1.1.3",
51111 "jss": "10.8.2",
51112 "jss-preset-default": "10.8.2",
50988 "prop-types": "^15.6.0", 51113 "prop-types": "^15.6.0",
50989 "theming": "^1.3.0" 51114 "shallow-equal": "^1.2.0",
50990 }, 51115 "theming": "^3.3.0",
50991 "dependencies": { 51116 "tiny-warning": "^1.0.2"
50992 "hoist-non-react-statics": {
50993 "version": "2.5.5",
50994 "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
50995 "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
50996 },
50997 "jss": {
50998 "version": "9.8.7",
50999 "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz",
51000 "integrity": "sha512-awj3XRZYxbrmmrx9LUSj5pXSUfm12m8xzi/VKeqI1ZwWBtQ0kVPTs3vYs32t4rFw83CgFDukA8wKzOE9sMQnoQ==",
51001 "requires": {
51002 "is-in-browser": "^1.1.3",
51003 "symbol-observable": "^1.1.0",
51004 "warning": "^3.0.0"
51005 }
51006 }
51007 } 51117 }
51008 }, 51118 },
51009 "react-lifecycles-compat": { 51119 "react-lifecycles-compat": {
@@ -52484,6 +52594,11 @@
52484 "kind-of": "^6.0.2" 52594 "kind-of": "^6.0.2"
52485 } 52595 }
52486 }, 52596 },
52597 "shallow-equal": {
52598 "version": "1.2.1",
52599 "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
52600 "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
52601 },
52487 "shebang-command": { 52602 "shebang-command": {
52488 "version": "2.0.0", 52603 "version": "2.0.0",
52489 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 52604 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -53776,14 +53891,14 @@
53776 "dev": true 53891 "dev": true
53777 }, 53892 },
53778 "theming": { 53893 "theming": {
53779 "version": "1.3.0", 53894 "version": "3.3.0",
53780 "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", 53895 "resolved": "https://registry.npmjs.org/theming/-/theming-3.3.0.tgz",
53781 "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", 53896 "integrity": "sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==",
53782 "requires": { 53897 "requires": {
53783 "brcast": "^3.0.1", 53898 "hoist-non-react-statics": "^3.3.0",
53784 "is-function": "^1.0.1", 53899 "prop-types": "^15.5.8",
53785 "is-plain-object": "^2.0.1", 53900 "react-display-name": "^0.2.4",
53786 "prop-types": "^15.5.8" 53901 "tiny-warning": "^1.0.2"
53787 } 53902 }
53788 }, 53903 },
53789 "throat": { 53904 "throat": {
diff --git a/package.json b/package.json
index 5f733a501..8135f0ba3 100644
--- a/package.json
+++ b/package.json
@@ -88,8 +88,8 @@
88 "minimist": "^1.2.5", 88 "minimist": "^1.2.5",
89 "mobx": "^5.15.0", 89 "mobx": "^5.15.0",
90 "mobx-localstorage": "^1.2.0", 90 "mobx-localstorage": "^1.2.0",
91 "mobx-react": "^5.4.2", 91 "mobx-react": "^6.3.1",
92 "mobx-react-form": "1.35.1", 92 "mobx-react-form": "^2.0.9",
93 "mobx-react-router": "^3.1.2", 93 "mobx-react-router": "^3.1.2",
94 "moment": "^2.29.1", 94 "moment": "^2.29.1",
95 "ms": "^2.1.3", 95 "ms": "^2.1.3",
@@ -105,7 +105,7 @@
105 "react-dropzone": "^11.4.2", 105 "react-dropzone": "^11.4.2",
106 "react-electron-web-view": "^2.0.1", 106 "react-electron-web-view": "^2.0.1",
107 "react-intl": "^5.21.0", 107 "react-intl": "^5.21.0",
108 "react-jss": "^8.6.1", 108 "react-jss": "^10.8.2",
109 "react-loader": "^2.4.7", 109 "react-loader": "^2.4.7",
110 "react-modal": "^3.14.3", 110 "react-modal": "^3.14.3",
111 "react-router": "^3.2.6", 111 "react-router": "^3.2.6",
diff --git a/src/I18n.tsx b/src/I18n.tsx
index 39b5273c1..5d969da1f 100644
--- a/src/I18n.tsx
+++ b/src/I18n.tsx
@@ -16,8 +16,6 @@ type Props = {
16 children: ReactNode; 16 children: ReactNode;
17}; 17};
18 18
19@inject('stores')
20@observer
21class I18N extends Component<Props> { 19class I18N extends Component<Props> {
22 componentDidUpdate() { 20 componentDidUpdate() {
23 window['ferdi'].menu.rebuild(); 21 window['ferdi'].menu.rebuild();
@@ -39,4 +37,4 @@ class I18N extends Component<Props> {
39 } 37 }
40} 38}
41 39
42export default I18N; 40export default inject('stores')(observer(I18N));
diff --git a/src/components/auth/AuthLayout.js b/src/components/auth/AuthLayout.js
index f26282cfc..94ff5d54d 100644
--- a/src/components/auth/AuthLayout.js
+++ b/src/components/auth/AuthLayout.js
@@ -19,7 +19,6 @@ import AppUpdateInfoBar from '../AppUpdateInfoBar';
19import { GITHUB_FERDI_URL } from '../../config'; 19import { GITHUB_FERDI_URL } from '../../config';
20import { Icon } from '../ui/icon'; 20import { Icon } from '../ui/icon';
21 21
22@observer
23class AuthLayout extends Component { 22class AuthLayout extends Component {
24 static propTypes = { 23 static propTypes = {
25 children: oneOrManyChildElements.isRequired, 24 children: oneOrManyChildElements.isRequired,
@@ -107,4 +106,4 @@ class AuthLayout extends Component {
107 } 106 }
108} 107}
109 108
110export default injectIntl(AuthLayout); 109export default injectIntl(observer(AuthLayout));
diff --git a/src/components/auth/ChangeServer.js b/src/components/auth/ChangeServer.js
index 9aeebc5c8..c284c0d19 100644
--- a/src/components/auth/ChangeServer.js
+++ b/src/components/auth/ChangeServer.js
@@ -34,7 +34,6 @@ const messages = defineMessages({
34 }, 34 },
35}); 35});
36 36
37@observer
38class ChangeServer extends Component { 37class ChangeServer extends Component {
39 static propTypes = { 38 static propTypes = {
40 onSubmit: PropTypes.func.isRequired, 39 onSubmit: PropTypes.func.isRequired,
@@ -131,4 +130,4 @@ class ChangeServer extends Component {
131 } 130 }
132} 131}
133 132
134export default injectIntl(ChangeServer); 133export default injectIntl(observer(ChangeServer));
diff --git a/src/components/auth/Import.js b/src/components/auth/Import.js
index fe2fe9872..8f70318ed 100644
--- a/src/components/auth/Import.js
+++ b/src/components/auth/Import.js
@@ -28,7 +28,6 @@ const messages = defineMessages({
28 }, 28 },
29}); 29});
30 30
31@observer
32class Import extends Component { 31class Import extends Component {
33 static propTypes = { 32 static propTypes = {
34 services: MobxPropTypes.arrayOrObservableArray.isRequired, 33 services: MobxPropTypes.arrayOrObservableArray.isRequired,
@@ -166,4 +165,4 @@ class Import extends Component {
166 } 165 }
167} 166}
168 167
169export default injectIntl(Import); 168export default injectIntl(observer(Import));
diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js
index dd71c2450..a23af7c6b 100644
--- a/src/components/auth/Invite.js
+++ b/src/components/auth/Invite.js
@@ -43,7 +43,6 @@ const messages = defineMessages({
43 }, 43 },
44}); 44});
45 45
46@observer
47class Invite extends Component { 46class Invite extends Component {
48 static propTypes = { 47 static propTypes = {
49 onSubmit: PropTypes.func.isRequired, 48 onSubmit: PropTypes.func.isRequired,
@@ -198,4 +197,4 @@ class Invite extends Component {
198 } 197 }
199} 198}
200 199
201export default injectIntl(Invite); 200export default injectIntl(observer(Invite));
diff --git a/src/components/auth/Locked.js b/src/components/auth/Locked.js
index 5b36b9fc2..2ed429199 100644
--- a/src/components/auth/Locked.js
+++ b/src/components/auth/Locked.js
@@ -48,7 +48,6 @@ const messages = defineMessages({
48 }, 48 },
49}); 49});
50 50
51@observer
52class Locked extends Component { 51class Locked extends Component {
53 static propTypes = { 52 static propTypes = {
54 onSubmit: PropTypes.func.isRequired, 53 onSubmit: PropTypes.func.isRequired,
@@ -149,4 +148,4 @@ class Locked extends Component {
149 } 148 }
150} 149}
151 150
152export default injectIntl(Locked); 151export default injectIntl(observer(Locked));
diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js
index 0c327d67e..c1602a047 100644
--- a/src/components/auth/Login.js
+++ b/src/components/auth/Login.js
@@ -71,8 +71,6 @@ const messages = defineMessages({
71 }, 71 },
72}); 72});
73 73
74@inject('actions')
75@observer
76class Login extends Component { 74class Login extends Component {
77 static propTypes = { 75 static propTypes = {
78 onSubmit: PropTypes.func.isRequired, 76 onSubmit: PropTypes.func.isRequired,
@@ -215,4 +213,4 @@ class Login extends Component {
215 } 213 }
216} 214}
217 215
218export default injectIntl(Login); 216export default injectIntl(inject('actions')(observer(Login)));
diff --git a/src/components/auth/Password.js b/src/components/auth/Password.js
index d5bc7fa80..b4d51f43d 100644
--- a/src/components/auth/Password.js
+++ b/src/components/auth/Password.js
@@ -38,7 +38,6 @@ const messages = defineMessages({
38 }, 38 },
39}); 39});
40 40
41@observer
42class Password extends Component { 41class Password extends Component {
43 static propTypes = { 42 static propTypes = {
44 onSubmit: PropTypes.func.isRequired, 43 onSubmit: PropTypes.func.isRequired,
@@ -119,4 +118,4 @@ class Password extends Component {
119 } 118 }
120} 119}
121 120
122export default injectIntl(Password); 121export default injectIntl(observer(Password));
diff --git a/src/components/auth/SetupAssistant.js b/src/components/auth/SetupAssistant.js
index 47fe88f43..a24f4e4d5 100644
--- a/src/components/auth/SetupAssistant.js
+++ b/src/components/auth/SetupAssistant.js
@@ -131,8 +131,6 @@ const styles = theme => ({
131 }, 131 },
132}); 132});
133 133
134@injectSheet(styles)
135@observer
136class SetupAssistant extends Component { 134class SetupAssistant extends Component {
137 static propTypes = { 135 static propTypes = {
138 classes: PropTypes.object.isRequired, 136 classes: PropTypes.object.isRequired,
@@ -327,4 +325,6 @@ class SetupAssistant extends Component {
327 } 325 }
328} 326}
329 327
330export default injectIntl(SetupAssistant); 328export default injectIntl(
329 injectSheet(styles, { injectTheme: true })(observer(SetupAssistant)),
330);
diff --git a/src/components/auth/Signup.js b/src/components/auth/Signup.js
index 00625a3ac..ac86dcdc3 100644
--- a/src/components/auth/Signup.js
+++ b/src/components/auth/Signup.js
@@ -75,8 +75,6 @@ const messages = defineMessages({
75 }, 75 },
76}); 76});
77 77
78@inject('actions')
79@observer
80class Signup extends Component { 78class Signup extends Component {
81 static propTypes = { 79 static propTypes = {
82 onSubmit: PropTypes.func.isRequired, 80 onSubmit: PropTypes.func.isRequired,
@@ -217,4 +215,4 @@ class Signup extends Component {
217 } 215 }
218} 216}
219 217
220export default injectIntl(Signup); 218export default injectIntl(inject('actions')(observer(Signup)));
diff --git a/src/components/auth/Welcome.js b/src/components/auth/Welcome.js
index 809ec67a7..794c78987 100644
--- a/src/components/auth/Welcome.js
+++ b/src/components/auth/Welcome.js
@@ -22,8 +22,6 @@ const messages = defineMessages({
22 }, 22 },
23}); 23});
24 24
25@inject('actions')
26@observer
27class Login extends Component { 25class Login extends Component {
28 static propTypes = { 26 static propTypes = {
29 loginRoute: PropTypes.string.isRequired, 27 loginRoute: PropTypes.string.isRequired,
@@ -93,4 +91,4 @@ class Login extends Component {
93 } 91 }
94} 92}
95 93
96export default injectIntl(Login); 94export default injectIntl(inject('actions')(observer(Login)));
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js
index a31419a5e..084d93ecd 100644
--- a/src/components/layout/AppLayout.js
+++ b/src/components/layout/AppLayout.js
@@ -74,8 +74,6 @@ const toggleFullScreen = () => {
74 ipcRenderer.send('window.toolbar-double-clicked'); 74 ipcRenderer.send('window.toolbar-double-clicked');
75}; 75};
76 76
77@injectSheet(styles)
78@observer
79class AppLayout extends Component { 77class AppLayout extends Component {
80 static propTypes = { 78 static propTypes = {
81 classes: PropTypes.object.isRequired, 79 classes: PropTypes.object.isRequired,
@@ -208,4 +206,6 @@ class AppLayout extends Component {
208 } 206 }
209} 207}
210 208
211export default injectIntl(AppLayout); 209export default injectIntl(
210 injectSheet(styles, { injectTheme: true })(observer(AppLayout)),
211);
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js
index 728613f42..4f67a8719 100644
--- a/src/components/layout/Sidebar.js
+++ b/src/components/layout/Sidebar.js
@@ -66,8 +66,6 @@ const messages = defineMessages({
66 }, 66 },
67}); 67});
68 68
69@inject('stores', 'actions')
70@observer
71class Sidebar extends Component { 69class Sidebar extends Component {
72 static propTypes = { 70 static propTypes = {
73 openSettings: PropTypes.func.isRequired, 71 openSettings: PropTypes.func.isRequired,
@@ -262,4 +260,4 @@ class Sidebar extends Component {
262 } 260 }
263} 261}
264 262
265export default injectIntl(Sidebar); 263export default injectIntl(inject('stores', 'actions')(observer(Sidebar)));
diff --git a/src/components/services/content/ConnectionLostBanner.js b/src/components/services/content/ConnectionLostBanner.js
index b9e7eca53..5adb22c84 100644
--- a/src/components/services/content/ConnectionLostBanner.js
+++ b/src/components/services/content/ConnectionLostBanner.js
@@ -68,8 +68,6 @@ const styles = theme => ({
68 }, 68 },
69}); 69});
70 70
71@injectSheet(styles)
72@observer
73class ConnectionLostBanner extends Component { 71class ConnectionLostBanner extends Component {
74 static propTypes = { 72 static propTypes = {
75 classes: PropTypes.object.isRequired, 73 classes: PropTypes.object.isRequired,
@@ -103,4 +101,4 @@ class ConnectionLostBanner extends Component {
103 } 101 }
104} 102}
105 103
106export default injectIntl(ConnectionLostBanner); 104export default injectIntl(injectSheet(styles)(observer(ConnectionLostBanner)));
diff --git a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
index 5c93de80f..d605b3a52 100644
--- a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
+++ b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
@@ -31,8 +31,6 @@ const messages = defineMessages({
31 }, 31 },
32}); 32});
33 33
34@injectSheet(styles)
35@observer
36class WebviewErrorHandler extends Component { 34class WebviewErrorHandler extends Component {
37 static propTypes = { 35 static propTypes = {
38 name: PropTypes.string.isRequired, 36 name: PropTypes.string.isRequired,
@@ -71,4 +69,6 @@ class WebviewErrorHandler extends Component {
71 } 69 }
72} 70}
73 71
74export default injectIntl(WebviewErrorHandler); 72export default injectIntl(
73 injectSheet(styles, { injectTheme: true })(observer(WebviewErrorHandler)),
74);
diff --git a/src/components/services/content/ServiceDisabled.js b/src/components/services/content/ServiceDisabled.js
index f60d4bca6..b4658618e 100644
--- a/src/components/services/content/ServiceDisabled.js
+++ b/src/components/services/content/ServiceDisabled.js
@@ -16,7 +16,6 @@ const messages = defineMessages({
16 }, 16 },
17}); 17});
18 18
19@observer
20class ServiceDisabled extends Component { 19class ServiceDisabled extends Component {
21 static propTypes = { 20 static propTypes = {
22 name: PropTypes.string.isRequired, 21 name: PropTypes.string.isRequired,
@@ -40,4 +39,4 @@ class ServiceDisabled extends Component {
40 } 39 }
41} 40}
42 41
43export default injectIntl(ServiceDisabled); 42export default injectIntl(observer(ServiceDisabled));
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js
index 1ffdd2153..6fc1f1400 100644
--- a/src/components/services/content/ServiceView.js
+++ b/src/components/services/content/ServiceView.js
@@ -16,8 +16,6 @@ import SettingsStore from '../../../stores/SettingsStore';
16import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen'; 16import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen';
17import { CUSTOM_WEBSITE_RECIPE_ID } from '../../../config'; 17import { CUSTOM_WEBSITE_RECIPE_ID } from '../../../config';
18 18
19@inject('stores', 'actions')
20@observer
21class ServiceView extends Component { 19class ServiceView extends Component {
22 static propTypes = { 20 static propTypes = {
23 service: PropTypes.instanceOf(ServiceModel).isRequired, 21 service: PropTypes.instanceOf(ServiceModel).isRequired,
@@ -163,4 +161,4 @@ class ServiceView extends Component {
163 } 161 }
164} 162}
165 163
166export default ServiceView; 164export default inject('stores', 'actions')(observer(ServiceView));
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js
index c70494edd..713a0c21d 100644
--- a/src/components/services/content/ServiceWebview.js
+++ b/src/components/services/content/ServiceWebview.js
@@ -9,7 +9,6 @@ import ServiceModel from '../../../models/Service';
9 9
10const debug = require('debug')('Ferdi:Services'); 10const debug = require('debug')('Ferdi:Services');
11 11
12@observer
13class ServiceWebview extends Component { 12class ServiceWebview extends Component {
14 static propTypes = { 13 static propTypes = {
15 service: PropTypes.instanceOf(ServiceModel).isRequired, 14 service: PropTypes.instanceOf(ServiceModel).isRequired,
@@ -116,4 +115,4 @@ class ServiceWebview extends Component {
116 } 115 }
117} 116}
118 117
119export default ServiceWebview; 118export default observer(ServiceWebview);
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js
index 1edf31bd3..0587b553f 100644
--- a/src/components/services/content/Services.js
+++ b/src/components/services/content/Services.js
@@ -44,9 +44,6 @@ const styles = {
44 }, 44 },
45}; 45};
46 46
47@injectSheet(styles)
48@inject('actions')
49@observer
50class Services extends Component { 47class Services extends Component {
51 static propTypes = { 48 static propTypes = {
52 services: MobxPropTypes.arrayOrObservableArray, 49 services: MobxPropTypes.arrayOrObservableArray,
@@ -197,4 +194,8 @@ class Services extends Component {
197 } 194 }
198} 195}
199 196
200export default injectIntl(Services); 197export default injectIntl(
198 injectSheet(styles, { injectTheme: true })(
199 inject('actions')(observer(Services)),
200 ),
201);
diff --git a/src/components/services/content/WebviewCrashHandler.js b/src/components/services/content/WebviewCrashHandler.js
index 3607435b3..1ca5ba415 100644
--- a/src/components/services/content/WebviewCrashHandler.js
+++ b/src/components/services/content/WebviewCrashHandler.js
@@ -26,7 +26,6 @@ const messages = defineMessages({
26 }, 26 },
27}); 27});
28 28
29@observer
30class WebviewCrashHandler extends Component { 29class WebviewCrashHandler extends Component {
31 static propTypes = { 30 static propTypes = {
32 name: PropTypes.string.isRequired, 31 name: PropTypes.string.isRequired,
@@ -81,4 +80,4 @@ class WebviewCrashHandler extends Component {
81 } 80 }
82} 81}
83 82
84export default injectIntl(WebviewCrashHandler); 83export default injectIntl(observer(WebviewCrashHandler));
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js
index 3049b6efa..e01461e5c 100644
--- a/src/components/services/tabs/TabBarSortableList.js
+++ b/src/components/services/tabs/TabBarSortableList.js
@@ -5,7 +5,6 @@ import { SortableContainer } from 'react-sortable-hoc';
5 5
6import TabItem from './TabItem'; 6import TabItem from './TabItem';
7 7
8@observer
9class TabBarSortableList extends Component { 8class TabBarSortableList extends Component {
10 static propTypes = { 9 static propTypes = {
11 services: MobxPropTypes.arrayOrObservableArray.isRequired, 10 services: MobxPropTypes.arrayOrObservableArray.isRequired,
@@ -75,4 +74,4 @@ class TabBarSortableList extends Component {
75 } 74 }
76} 75}
77 76
78export default SortableContainer(TabBarSortableList); 77export default SortableContainer(observer(TabBarSortableList));
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 14be37153..8e163bce6 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -114,9 +114,6 @@ const styles = {
114 }, 114 },
115}; 115};
116 116
117@injectSheet(styles)
118@inject('stores')
119@observer
120class TabItem extends Component { 117class TabItem extends Component {
121 static propTypes = { 118 static propTypes = {
122 classes: PropTypes.object.isRequired, 119 classes: PropTypes.object.isRequired,
@@ -402,4 +399,10 @@ class TabItem extends Component {
402 } 399 }
403} 400}
404 401
405export default injectIntl(SortableElement(TabItem)); 402export default injectIntl(
403 SortableElement(
404 injectSheet(styles, { injectTheme: true })(
405 inject('stores')(observer(TabItem)),
406 ),
407 ),
408);
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js
index 94d6f33c1..d9e11df41 100644
--- a/src/components/services/tabs/Tabbar.js
+++ b/src/components/services/tabs/Tabbar.js
@@ -4,7 +4,6 @@ import { observer, PropTypes as MobxPropTypes } from 'mobx-react';
4 4
5import TabBarSortableList from './TabBarSortableList'; 5import TabBarSortableList from './TabBarSortableList';
6 6
7@observer
8class TabBar extends Component { 7class TabBar extends Component {
9 static propTypes = { 8 static propTypes = {
10 services: MobxPropTypes.arrayOrObservableArray.isRequired, 9 services: MobxPropTypes.arrayOrObservableArray.isRequired,
@@ -120,4 +119,4 @@ class TabBar extends Component {
120 } 119 }
121} 120}
122 121
123export default TabBar; 122export default observer(TabBar);
diff --git a/src/components/settings/SettingsLayout.js b/src/components/settings/SettingsLayout.js
index e9119a944..de13e95ab 100644
--- a/src/components/settings/SettingsLayout.js
+++ b/src/components/settings/SettingsLayout.js
@@ -16,7 +16,6 @@ const messages = defineMessages({
16 }, 16 },
17}); 17});
18 18
19@observer
20class SettingsLayout extends Component { 19class SettingsLayout extends Component {
21 static propTypes = { 20 static propTypes = {
22 navigation: PropTypes.element.isRequired, 21 navigation: PropTypes.element.isRequired,
@@ -78,4 +77,4 @@ class SettingsLayout extends Component {
78 } 77 }
79} 78}
80 79
81export default injectIntl(SettingsLayout); 80export default injectIntl(observer(SettingsLayout));
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js
index 6c489e64b..d0c56af05 100644
--- a/src/components/settings/account/AccountDashboard.js
+++ b/src/components/settings/account/AccountDashboard.js
@@ -64,7 +64,6 @@ const messages = defineMessages({
64 }, 64 },
65}); 65});
66 66
67@observer
68class AccountDashboard extends Component { 67class AccountDashboard extends Component {
69 static propTypes = { 68 static propTypes = {
70 user: MobxPropTypes.observableObject.isRequired, 69 user: MobxPropTypes.observableObject.isRequired,
@@ -229,4 +228,4 @@ class AccountDashboard extends Component {
229 } 228 }
230} 229}
231 230
232export default injectIntl(AccountDashboard); 231export default injectIntl(observer(AccountDashboard));
diff --git a/src/components/settings/navigation/SettingsNavigation.js b/src/components/settings/navigation/SettingsNavigation.js
index dbb1365b0..2fdb6e574 100644
--- a/src/components/settings/navigation/SettingsNavigation.js
+++ b/src/components/settings/navigation/SettingsNavigation.js
@@ -42,8 +42,6 @@ const messages = defineMessages({
42 }, 42 },
43}); 43});
44 44
45@inject('stores', 'actions')
46@observer
47class SettingsNavigation extends Component { 45class SettingsNavigation extends Component {
48 static propTypes = { 46 static propTypes = {
49 stores: PropTypes.shape({ 47 stores: PropTypes.shape({
@@ -175,4 +173,4 @@ class SettingsNavigation extends Component {
175 } 173 }
176} 174}
177 175
178export default injectIntl(SettingsNavigation); 176export default injectIntl(inject('stores', 'actions')(observer(SettingsNavigation)));
diff --git a/src/components/settings/recipes/RecipeItem.js b/src/components/settings/recipes/RecipeItem.js
index 1e910e6dc..df5b42222 100644
--- a/src/components/settings/recipes/RecipeItem.js
+++ b/src/components/settings/recipes/RecipeItem.js
@@ -4,7 +4,6 @@ import { observer } from 'mobx-react';
4 4
5import RecipePreviewModel from '../../../models/RecipePreview'; 5import RecipePreviewModel from '../../../models/RecipePreview';
6 6
7@observer
8class RecipeItem extends Component { 7class RecipeItem extends Component {
9 static propTypes = { 8 static propTypes = {
10 recipe: PropTypes.instanceOf(RecipePreviewModel).isRequired, 9 recipe: PropTypes.instanceOf(RecipePreviewModel).isRequired,
@@ -31,4 +30,4 @@ class RecipeItem extends Component {
31 } 30 }
32} 31}
33 32
34export default RecipeItem; 33export default observer(RecipeItem);
diff --git a/src/components/settings/recipes/RecipesDashboard.js b/src/components/settings/recipes/RecipesDashboard.js
index 7ec285431..d9f53d74e 100644
--- a/src/components/settings/recipes/RecipesDashboard.js
+++ b/src/components/settings/recipes/RecipesDashboard.js
@@ -105,8 +105,6 @@ const styles = {
105 }, 105 },
106}; 106};
107 107
108@injectSheet(styles)
109@observer
110class RecipesDashboard extends Component { 108class RecipesDashboard extends Component {
111 static propTypes = { 109 static propTypes = {
112 recipes: MobxPropTypes.arrayOrObservableArray.isRequired, 110 recipes: MobxPropTypes.arrayOrObservableArray.isRequired,
@@ -247,16 +245,18 @@ class RecipesDashboard extends Component {
247 {intl.formatMessage(messages.nothingFound)} 245 {intl.formatMessage(messages.nothingFound)}
248 </p> 246 </p>
249 247
250 <RecipeItem 248 {customWebsiteRecipe && customWebsiteRecipe.id && (
251 key={customWebsiteRecipe.id} 249 <RecipeItem
252 recipe={customWebsiteRecipe} 250 key={customWebsiteRecipe.id}
253 onClick={() => 251 recipe={customWebsiteRecipe}
254 isLoggedIn && 252 onClick={() =>
255 showAddServiceInterface({ 253 isLoggedIn &&
256 recipeId: customWebsiteRecipe.id, 254 showAddServiceInterface({
257 }) 255 recipeId: customWebsiteRecipe.id,
258 } 256 })
259 /> 257 }
258 />
259 )}
260 </div> 260 </div>
261 )} 261 )}
262 {communityRecipes.map(recipe => ( 262 {communityRecipes.map(recipe => (
@@ -295,4 +295,6 @@ class RecipesDashboard extends Component {
295 } 295 }
296} 296}
297 297
298export default injectIntl(RecipesDashboard); 298export default injectIntl(
299 injectSheet(styles, { injectTheme: true })(observer(RecipesDashboard)),
300);
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 6b4cc721d..f0e791b87 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -134,7 +134,6 @@ const messages = defineMessages({
134 }, 134 },
135}); 135});
136 136
137@observer
138class EditServiceForm extends Component { 137class EditServiceForm extends Component {
139 static propTypes = { 138 static propTypes = {
140 recipe: PropTypes.instanceOf(Recipe).isRequired, 139 recipe: PropTypes.instanceOf(Recipe).isRequired,
@@ -500,4 +499,4 @@ class EditServiceForm extends Component {
500 } 499 }
501} 500}
502 501
503export default injectIntl(EditServiceForm); 502export default injectIntl(observer(EditServiceForm));
diff --git a/src/components/settings/services/ServiceError.js b/src/components/settings/services/ServiceError.js
index 6dd53a102..bcbbca3de 100644
--- a/src/components/settings/services/ServiceError.js
+++ b/src/components/settings/services/ServiceError.js
@@ -25,7 +25,6 @@ const messages = defineMessages({
25 }, 25 },
26}); 26});
27 27
28@observer
29class ServiceError extends Component { 28class ServiceError extends Component {
30 render() { 29 render() {
31 const { intl } = this.props; 30 const { intl } = this.props;
@@ -60,4 +59,4 @@ class ServiceError extends Component {
60 } 59 }
61} 60}
62 61
63export default injectIntl(ServiceError); 62export default injectIntl(observer(ServiceError));
diff --git a/src/components/settings/services/ServiceItem.js b/src/components/settings/services/ServiceItem.js
index d83e5fd56..23250ad09 100644
--- a/src/components/settings/services/ServiceItem.js
+++ b/src/components/settings/services/ServiceItem.js
@@ -24,7 +24,6 @@ const messages = defineMessages({
24 }, 24 },
25}); 25});
26 26
27@observer
28class ServiceItem extends Component { 27class ServiceItem extends Component {
29 static propTypes = { 28 static propTypes = {
30 service: PropTypes.instanceOf(ServiceModel).isRequired, 29 service: PropTypes.instanceOf(ServiceModel).isRequired,
@@ -91,4 +90,4 @@ class ServiceItem extends Component {
91 } 90 }
92} 91}
93 92
94export default injectIntl(ServiceItem); 93export default injectIntl(observer(ServiceItem));
diff --git a/src/components/settings/services/ServicesDashboard.js b/src/components/settings/services/ServicesDashboard.js
index aae6eb855..81c5faa70 100644
--- a/src/components/settings/services/ServicesDashboard.js
+++ b/src/components/settings/services/ServicesDashboard.js
@@ -51,7 +51,6 @@ const messages = defineMessages({
51 }, 51 },
52}); 52});
53 53
54@observer
55class ServicesDashboard extends Component { 54class ServicesDashboard extends Component {
56 static propTypes = { 55 static propTypes = {
57 services: MobxPropTypes.arrayOrObservableArray.isRequired, 56 services: MobxPropTypes.arrayOrObservableArray.isRequired,
@@ -188,4 +187,4 @@ class ServicesDashboard extends Component {
188 } 187 }
189} 188}
190 189
191export default injectIntl(ServicesDashboard); 190export default injectIntl(observer(ServicesDashboard));
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 9f51b54d5..d9df9c41c 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -188,7 +188,6 @@ const messages = defineMessages({
188 188
189const Hr = () => <hr style={{ marginBottom: 20 }} />; 189const Hr = () => <hr style={{ marginBottom: 20 }} />;
190 190
191@observer
192class EditSettingsForm extends Component { 191class EditSettingsForm extends Component {
193 static propTypes = { 192 static propTypes = {
194 checkForUpdates: PropTypes.func.isRequired, 193 checkForUpdates: PropTypes.func.isRequired,
@@ -847,4 +846,4 @@ class EditSettingsForm extends Component {
847 } 846 }
848} 847}
849 848
850export default injectIntl(EditSettingsForm); 849export default injectIntl(observer(EditSettingsForm));
diff --git a/src/components/settings/team/TeamDashboard.js b/src/components/settings/team/TeamDashboard.js
index 38d124266..802284051 100644
--- a/src/components/settings/team/TeamDashboard.js
+++ b/src/components/settings/team/TeamDashboard.js
@@ -90,8 +90,6 @@ const styles = {
90 }, 90 },
91}; 91};
92 92
93@injectSheet(styles)
94@observer
95class TeamDashboard extends Component { 93class TeamDashboard extends Component {
96 static propTypes = { 94 static propTypes = {
97 isLoading: PropTypes.bool.isRequired, 95 isLoading: PropTypes.bool.isRequired,
@@ -197,4 +195,6 @@ class TeamDashboard extends Component {
197 } 195 }
198} 196}
199 197
200export default injectIntl(TeamDashboard); 198export default injectIntl(
199 injectSheet(styles, { injectTheme: true })(observer(TeamDashboard)),
200);
diff --git a/src/components/settings/user/EditUserForm.js b/src/components/settings/user/EditUserForm.js
index 1b8a4f25a..95498d9bb 100644
--- a/src/components/settings/user/EditUserForm.js
+++ b/src/components/settings/user/EditUserForm.js
@@ -37,7 +37,6 @@ const messages = defineMessages({
37 }, 37 },
38}); 38});
39 39
40@observer
41class EditUserForm extends Component { 40class EditUserForm extends Component {
42 static propTypes = { 41 static propTypes = {
43 status: MobxPropTypes.observableArray.isRequired, 42 status: MobxPropTypes.observableArray.isRequired,
@@ -128,4 +127,4 @@ class EditUserForm extends Component {
128 } 127 }
129} 128}
130 129
131export default injectIntl(EditUserForm); 130export default injectIntl(observer(EditUserForm));
diff --git a/src/components/ui/AppLoader/index.tsx b/src/components/ui/AppLoader/index.tsx
index c7c290a57..0bb9cb50f 100644
--- a/src/components/ui/AppLoader/index.tsx
+++ b/src/components/ui/AppLoader/index.tsx
@@ -1,7 +1,7 @@
1import { Component } from 'react'; 1import { Component } from 'react';
2import injectSheet, { withTheme } from 'react-jss';
3import classnames from 'classnames'; 2import classnames from 'classnames';
4 3
4import injectStyle from 'react-jss';
5import FullscreenLoader from '../FullscreenLoader'; 5import FullscreenLoader from '../FullscreenLoader';
6import { shuffleArray } from '../../../helpers/array-helpers'; 6import { shuffleArray } from '../../../helpers/array-helpers';
7 7
@@ -24,8 +24,6 @@ type Props = {
24 texts: string[]; 24 texts: string[];
25}; 25};
26 26
27@injectSheet(styles)
28@withTheme
29class AppLoader extends Component<Props> { 27class AppLoader extends Component<Props> {
30 static defaultProps = { 28 static defaultProps = {
31 texts: textList, 29 texts: textList,
@@ -77,4 +75,4 @@ class AppLoader extends Component<Props> {
77 } 75 }
78} 76}
79 77
80export default AppLoader; 78export default injectStyle(styles, { injectTheme: true })(AppLoader);
diff --git a/src/components/ui/Button.js b/src/components/ui/Button.js
index d90a8d62d..a52f1cadb 100644
--- a/src/components/ui/Button.js
+++ b/src/components/ui/Button.js
@@ -4,8 +4,6 @@ import { observer, inject } from 'mobx-react';
4import Loader from 'react-loader'; 4import Loader from 'react-loader';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7@inject('stores')
8@observer
9class Button extends Component { 7class Button extends Component {
10 static propTypes = { 8 static propTypes = {
11 className: PropTypes.string, 9 className: PropTypes.string,
@@ -90,4 +88,4 @@ class Button extends Component {
90 } 88 }
91} 89}
92 90
93export default Button; 91export default inject('stores')(observer(Button));
diff --git a/src/components/ui/FAB.tsx b/src/components/ui/FAB.tsx
index 0d871e948..cb9c5f126 100644
--- a/src/components/ui/FAB.tsx
+++ b/src/components/ui/FAB.tsx
@@ -14,7 +14,6 @@ type Props = {
14 htmlForm: string; 14 htmlForm: string;
15}; 15};
16 16
17@observer
18class Button extends Component<Props> { 17class Button extends Component<Props> {
19 static defaultProps = { 18 static defaultProps = {
20 disabled: false, 19 disabled: false,
@@ -46,4 +45,4 @@ class Button extends Component<Props> {
46 } 45 }
47} 46}
48 47
49export default Button; 48export default observer(Button);
diff --git a/src/components/ui/FullscreenLoader/index.js b/src/components/ui/FullscreenLoader/index.js
index f5943f3f3..39b6c5a4c 100644
--- a/src/components/ui/FullscreenLoader/index.js
+++ b/src/components/ui/FullscreenLoader/index.js
@@ -1,16 +1,13 @@
1import { 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 injectStyle from 'react-jss';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7import Loader from '../Loader'; 7import Loader from '../Loader';
8 8
9import styles from './styles'; 9import styles from './styles';
10 10
11@withTheme
12@injectSheet(styles)
13@observer
14class FullscreenLoader extends Component { 11class FullscreenLoader extends Component {
15 static propTypes = { 12 static propTypes = {
16 className: PropTypes.string, 13 className: PropTypes.string,
@@ -48,4 +45,6 @@ class FullscreenLoader extends Component {
48 } 45 }
49} 46}
50 47
51export default FullscreenLoader; 48export default injectStyle(styles, { injectTheme: true })(
49 observer(FullscreenLoader),
50);
diff --git a/src/components/ui/ImageUpload.tsx b/src/components/ui/ImageUpload.tsx
index 52c097ef0..b07e211c2 100644
--- a/src/components/ui/ImageUpload.tsx
+++ b/src/components/ui/ImageUpload.tsx
@@ -15,7 +15,6 @@ type Props = {
15 textUpload: string; 15 textUpload: string;
16}; 16};
17 17
18@observer
19class ImageUpload extends Component<Props> { 18class ImageUpload extends Component<Props> {
20 static defaultProps = { 19 static defaultProps = {
21 multiple: false, 20 multiple: false,
@@ -102,4 +101,4 @@ class ImageUpload extends Component<Props> {
102 } 101 }
103} 102}
104 103
105export default ImageUpload; 104export default observer(ImageUpload);
diff --git a/src/components/ui/InfoBar.js b/src/components/ui/InfoBar.js
index 89b085907..c1a6013c2 100644
--- a/src/components/ui/InfoBar.js
+++ b/src/components/ui/InfoBar.js
@@ -16,7 +16,6 @@ const messages = defineMessages({
16 }, 16 },
17}); 17});
18 18
19@observer
20class InfoBar extends Component { 19class InfoBar extends Component {
21 static propTypes = { 20 static propTypes = {
22 // eslint-disable-next-line react/forbid-prop-types 21 // eslint-disable-next-line react/forbid-prop-types
@@ -102,4 +101,4 @@ class InfoBar extends Component {
102 } 101 }
103} 102}
104 103
105export default injectIntl(InfoBar); 104export default injectIntl(observer(InfoBar));
diff --git a/src/components/ui/Infobox.js b/src/components/ui/Infobox.js
index c0ba8f13c..6634a6808 100644
--- a/src/components/ui/Infobox.js
+++ b/src/components/ui/Infobox.js
@@ -19,7 +19,6 @@ const messages = defineMessages({
19 }, 19 },
20}); 20});
21 21
22@observer
23class Infobox extends Component { 22class Infobox extends Component {
24 static propTypes = { 23 static propTypes = {
25 // eslint-disable-next-line react/forbid-prop-types 24 // eslint-disable-next-line react/forbid-prop-types
@@ -112,4 +111,4 @@ class Infobox extends Component {
112 } 111 }
113} 112}
114 113
115export default injectIntl(Infobox); 114export default injectIntl(observer(Infobox));
diff --git a/src/components/ui/Input.js b/src/components/ui/Input.js
index 8d37d7a05..fa1b44699 100644
--- a/src/components/ui/Input.js
+++ b/src/components/ui/Input.js
@@ -5,7 +5,9 @@ import { Field } from 'mobx-react-form';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6import { defineMessages, injectIntl } from 'react-intl'; 6import { defineMessages, injectIntl } from 'react-intl';
7 7
8import { mdiEye, mdiEyeOff } from '@mdi/js';
8import { scorePassword as scorePasswordFunc } from '../../helpers/password-helpers'; 9import { scorePassword as scorePasswordFunc } from '../../helpers/password-helpers';
10import { Icon } from './icon';
9 11
10const messages = defineMessages({ 12const messages = defineMessages({
11 passwordToggle: { 13 passwordToggle: {
@@ -14,7 +16,6 @@ const messages = defineMessages({
14 }, 16 },
15}); 17});
16 18
17@observer
18class Input extends Component { 19class Input extends Component {
19 static propTypes = { 20 static propTypes = {
20 field: PropTypes.instanceOf(Field).isRequired, 21 field: PropTypes.instanceOf(Field).isRequired,
@@ -115,9 +116,6 @@ class Input extends Component {
115 type="button" 116 type="button"
116 className={classnames({ 117 className={classnames({
117 'franz-form__input-modifier': true, 118 'franz-form__input-modifier': true,
118 mdi: true,
119 'mdi-eye': !this.state.showPassword,
120 'mdi-eye-off': this.state.showPassword,
121 })} 119 })}
122 onClick={() => 120 onClick={() =>
123 this.setState(prevState => ({ 121 this.setState(prevState => ({
@@ -126,7 +124,9 @@ class Input extends Component {
126 } 124 }
127 tabIndex={-1} 125 tabIndex={-1}
128 aria-label={intl.formatMessage(messages.passwordToggle)} 126 aria-label={intl.formatMessage(messages.passwordToggle)}
129 /> 127 >
128 <Icon icon={this.state.showPassword ? mdiEye : mdiEyeOff} />
129 </button>
130 )} 130 )}
131 {scorePassword && ( 131 {scorePassword && (
132 <div className="franz-form__password-score"> 132 <div className="franz-form__password-score">
@@ -152,4 +152,4 @@ class Input extends Component {
152 } 152 }
153} 153}
154 154
155export default injectIntl(Input); 155export default injectIntl(observer(Input));
diff --git a/src/components/ui/Link.js b/src/components/ui/Link.js
index 40766c984..565547736 100644
--- a/src/components/ui/Link.js
+++ b/src/components/ui/Link.js
@@ -9,8 +9,6 @@ import { matchRoute } from '../../helpers/routing-helpers';
9import { openExternalUrl } from '../../helpers/url-helpers'; 9import { openExternalUrl } from '../../helpers/url-helpers';
10 10
11// TODO: create container component for this component 11// TODO: create container component for this component
12@inject('stores')
13@observer
14class Link extends Component { 12class Link extends Component {
15 onClick(e) { 13 onClick(e) {
16 if (this.props.disabled) { 14 if (this.props.disabled) {
@@ -60,7 +58,7 @@ class Link extends Component {
60 } 58 }
61} 59}
62 60
63Link.wrappedComponent.propTypes = { 61Link.propTypes = {
64 stores: PropTypes.shape({ 62 stores: PropTypes.shape({
65 router: PropTypes.instanceOf(RouterStore).isRequired, 63 router: PropTypes.instanceOf(RouterStore).isRequired,
66 }).isRequired, 64 }).isRequired,
@@ -75,7 +73,7 @@ Link.wrappedComponent.propTypes = {
75 disabled: PropTypes.bool, 73 disabled: PropTypes.bool,
76}; 74};
77 75
78Link.wrappedComponent.defaultProps = { 76Link.defaultProps = {
79 className: '', 77 className: '',
80 activeClassName: '', 78 activeClassName: '',
81 strictFilter: false, 79 strictFilter: false,
@@ -84,4 +82,4 @@ Link.wrappedComponent.defaultProps = {
84 style: {}, 82 style: {},
85}; 83};
86 84
87export default Link; 85export default inject('stores')(observer(Link));
diff --git a/src/components/ui/Loader.tsx b/src/components/ui/Loader.tsx
index 1173c11e7..171d0e290 100644
--- a/src/components/ui/Loader.tsx
+++ b/src/components/ui/Loader.tsx
@@ -12,8 +12,6 @@ type Props = {
12 stores: FerdiStores; 12 stores: FerdiStores;
13}; 13};
14 14
15@inject('stores')
16@observer
17class LoaderComponent extends Component<Props> { 15class LoaderComponent extends Component<Props> {
18 static defaultProps = { 16 static defaultProps = {
19 loaded: false, 17 loaded: false,
@@ -43,4 +41,4 @@ class LoaderComponent extends Component<Props> {
43 } 41 }
44} 42}
45 43
46export default LoaderComponent; 44export default inject('stores')(observer(LoaderComponent));
diff --git a/src/components/ui/Modal/index.tsx b/src/components/ui/Modal/index.tsx
index f2f4461b8..c3c78b419 100644
--- a/src/components/ui/Modal/index.tsx
+++ b/src/components/ui/Modal/index.tsx
@@ -18,7 +18,6 @@ type Props = {
18 showClose: boolean; 18 showClose: boolean;
19}; 19};
20 20
21@injectCSS(styles)
22class Modal extends Component<Props> { 21class Modal extends Component<Props> {
23 static defaultProps = { 22 static defaultProps = {
24 className: null, 23 className: null,
@@ -64,4 +63,4 @@ class Modal extends Component<Props> {
64 } 63 }
65} 64}
66 65
67export default Modal; 66export default injectCSS(styles)(Modal);
diff --git a/src/components/ui/Radio.tsx b/src/components/ui/Radio.tsx
index 594ea70e4..a033a5fe0 100644
--- a/src/components/ui/Radio.tsx
+++ b/src/components/ui/Radio.tsx
@@ -10,7 +10,6 @@ type Props = {
10 showLabel: boolean; 10 showLabel: boolean;
11}; 11};
12 12
13@observer
14class Radio extends Component<Props> { 13class Radio extends Component<Props> {
15 static defaultProps = { 14 static defaultProps = {
16 focus: false, 15 focus: false,
@@ -74,4 +73,4 @@ class Radio extends Component<Props> {
74 } 73 }
75} 74}
76 75
77export default Radio; 76export default observer(Radio);
diff --git a/src/components/ui/SearchInput.tsx b/src/components/ui/SearchInput.tsx
index 49a50a4a0..6a6a1692e 100644
--- a/src/components/ui/SearchInput.tsx
+++ b/src/components/ui/SearchInput.tsx
@@ -17,7 +17,6 @@ type Props = {
17 autoFocus: boolean; 17 autoFocus: boolean;
18}; 18};
19 19
20@observer
21class SearchInput extends Component<Props> { 20class SearchInput extends Component<Props> {
22 static defaultProps = { 21 static defaultProps = {
23 value: '', 22 value: '',
@@ -115,4 +114,4 @@ class SearchInput extends Component<Props> {
115 } 114 }
116} 115}
117 116
118export default SearchInput; 117export default observer(SearchInput);
diff --git a/src/components/ui/Select.js b/src/components/ui/Select.js
index a560da332..0fc32e573 100644
--- a/src/components/ui/Select.js
+++ b/src/components/ui/Select.js
@@ -4,7 +4,6 @@ import { observer } from 'mobx-react';
4import { Field } from 'mobx-react-form'; 4import { Field } from 'mobx-react-form';
5import classnames from 'classnames'; 5import classnames from 'classnames';
6 6
7@observer
8class Select extends Component { 7class Select extends Component {
9 static propTypes = { 8 static propTypes = {
10 field: PropTypes.instanceOf(Field).isRequired, 9 field: PropTypes.instanceOf(Field).isRequired,
@@ -98,4 +97,4 @@ class Select extends Component {
98 } 97 }
99} 98}
100 99
101export default Select; 100export default observer(Select);
diff --git a/src/components/ui/ServiceIcon.js b/src/components/ui/ServiceIcon.js
index f067f8955..d403d107d 100644
--- a/src/components/ui/ServiceIcon.js
+++ b/src/components/ui/ServiceIcon.js
@@ -24,8 +24,6 @@ const styles = theme => ({
24 }, 24 },
25}); 25});
26 26
27@injectSheet(styles)
28@observer
29class ServiceIcon extends Component { 27class ServiceIcon extends Component {
30 static propTypes = { 28 static propTypes = {
31 classes: PropTypes.object.isRequired, 29 classes: PropTypes.object.isRequired,
@@ -56,4 +54,6 @@ class ServiceIcon extends Component {
56 } 54 }
57} 55}
58 56
59export default ServiceIcon; 57export default injectSheet(styles, { injectTheme: true })(
58 observer(ServiceIcon),
59);
diff --git a/src/components/ui/Slider.js b/src/components/ui/Slider.js
index dea6e0563..a581e7a65 100644
--- a/src/components/ui/Slider.js
+++ b/src/components/ui/Slider.js
@@ -4,7 +4,6 @@ import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
5import { Field } from 'mobx-react-form'; 5import { Field } from 'mobx-react-form';
6 6
7@observer
8class Slider extends Component { 7class Slider extends Component {
9 static propTypes = { 8 static propTypes = {
10 field: PropTypes.instanceOf(Field).isRequired, 9 field: PropTypes.instanceOf(Field).isRequired,
@@ -64,4 +63,4 @@ class Slider extends Component {
64 } 63 }
65} 64}
66 65
67export default Slider; 66export default observer(Slider);
diff --git a/src/components/ui/StatusBarTargetUrl.js b/src/components/ui/StatusBarTargetUrl.js
index 38b436742..d8d329d52 100644
--- a/src/components/ui/StatusBarTargetUrl.js
+++ b/src/components/ui/StatusBarTargetUrl.js
@@ -5,7 +5,6 @@ import classnames from 'classnames';
5 5
6import Appear from './effects/Appear'; 6import Appear from './effects/Appear';
7 7
8@observer
9class StatusBarTargetUrl extends Component { 8class StatusBarTargetUrl extends Component {
10 static propTypes = { 9 static propTypes = {
11 className: PropTypes.string, 10 className: PropTypes.string,
@@ -33,4 +32,4 @@ class StatusBarTargetUrl extends Component {
33 } 32 }
34} 33}
35 34
36export default StatusBarTargetUrl; 35export default observer(StatusBarTargetUrl);
diff --git a/src/components/ui/Tabs/Tabs.js b/src/components/ui/Tabs/Tabs.js
index 77803974b..5d2da6293 100644
--- a/src/components/ui/Tabs/Tabs.js
+++ b/src/components/ui/Tabs/Tabs.js
@@ -5,7 +5,6 @@ import classnames from 'classnames';
5 5
6import { oneOrManyChildElements } from '../../../prop-types'; 6import { oneOrManyChildElements } from '../../../prop-types';
7 7
8@observer
9class Tab extends Component { 8class Tab extends Component {
10 constructor(props) { 9 constructor(props) {
11 super(props); 10 super(props);
@@ -69,4 +68,4 @@ class Tab extends Component {
69 } 68 }
70} 69}
71 70
72export default Tab; 71export default observer(Tab);
diff --git a/src/components/ui/Toggle.js b/src/components/ui/Toggle.js
index dfc319735..a82be690e 100644
--- a/src/components/ui/Toggle.js
+++ b/src/components/ui/Toggle.js
@@ -4,7 +4,6 @@ import { observer } from 'mobx-react';
4import classnames from 'classnames'; 4import classnames from 'classnames';
5import { Field } from 'mobx-react-form'; 5import { Field } from 'mobx-react-form';
6 6
7@observer
8class Toggle extends Component { 7class Toggle extends Component {
9 static propTypes = { 8 static propTypes = {
10 field: PropTypes.instanceOf(Field).isRequired, 9 field: PropTypes.instanceOf(Field).isRequired,
@@ -69,4 +68,4 @@ class Toggle extends Component {
69 } 68 }
70} 69}
71 70
72export default Toggle; 71export default observer(Toggle);
diff --git a/src/components/ui/ToggleRaw.js b/src/components/ui/ToggleRaw.js
index 74292a870..e482b97b4 100644
--- a/src/components/ui/ToggleRaw.js
+++ b/src/components/ui/ToggleRaw.js
@@ -6,7 +6,6 @@ import PropTypes from 'prop-types';
6import { observer } from 'mobx-react'; 6import { observer } from 'mobx-react';
7import classnames from 'classnames'; 7import classnames from 'classnames';
8 8
9@observer
10class ToggleRaw extends Component { 9class ToggleRaw extends Component {
11 static propTypes = { 10 static propTypes = {
12 onChange: PropTypes.func.isRequired, 11 onChange: PropTypes.func.isRequired,
@@ -74,4 +73,4 @@ class ToggleRaw extends Component {
74 } 73 }
75} 74}
76 75
77export default ToggleRaw; 76export default observer(ToggleRaw);
diff --git a/src/components/ui/WebviewLoader/index.js b/src/components/ui/WebviewLoader/index.js
index 8d4513172..20945d191 100644
--- a/src/components/ui/WebviewLoader/index.js
+++ b/src/components/ui/WebviewLoader/index.js
@@ -14,8 +14,6 @@ const messages = defineMessages({
14 }, 14 },
15}); 15});
16 16
17@injectSheet(styles)
18@observer
19class WebviewLoader extends Component { 17class WebviewLoader extends Component {
20 static propTypes = { 18 static propTypes = {
21 name: PropTypes.string.isRequired, 19 name: PropTypes.string.isRequired,
@@ -34,4 +32,6 @@ class WebviewLoader extends Component {
34 } 32 }
35} 33}
36 34
37export default injectIntl(WebviewLoader); 35export default injectIntl(
36 injectSheet(styles, { injectTheme: true })(observer(WebviewLoader)),
37);
diff --git a/src/components/ui/badge/ProBadge.tsx b/src/components/ui/badge/ProBadge.tsx
index dc1e76f7f..410748a64 100644
--- a/src/components/ui/badge/ProBadge.tsx
+++ b/src/components/ui/badge/ProBadge.tsx
@@ -1,14 +1,13 @@
1import { mdiStar } from '@mdi/js'; 1import { mdiStar } from '@mdi/js';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import { Component } from 'react'; 3import { Component } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle, { WithStylesProps } from 'react-jss';
5 5
6import { Theme } from '../../../themes'; 6import { Theme } from '../../../themes';
7import { Icon } from '../icon'; 7import { Icon } from '../icon';
8import { Badge } from './index'; 8import { Badge } from './index';
9import { IWithStyle } from '../typings/generic';
10 9
11interface IProps extends IWithStyle { 10interface IProps extends WithStylesProps<typeof styles> {
12 badgeClasses?: string; 11 badgeClasses?: string;
13 iconClasses?: string; 12 iconClasses?: string;
14 inverted?: boolean; 13 inverted?: boolean;
@@ -61,4 +60,6 @@ class ProBadgeComponent extends Component<IProps> {
61 } 60 }
62} 61}
63 62
64export const ProBadge = injectStyle(styles)(ProBadgeComponent); 63export const ProBadge = injectStyle(styles, { injectTheme: true })(
64 ProBadgeComponent,
65);
diff --git a/src/components/ui/badge/index.tsx b/src/components/ui/badge/index.tsx
index 61bede937..a7ed866a5 100644
--- a/src/components/ui/badge/index.tsx
+++ b/src/components/ui/badge/index.tsx
@@ -1,11 +1,10 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Component, ReactNode } from 'react'; 2import { Component, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle, { WithStylesProps } from 'react-jss';
4 4
5import { Theme } from '../../../themes'; 5import { Theme } from '../../../themes';
6import { IWithStyle } from '../typings/generic';
7 6
8interface IProps extends IWithStyle { 7interface IProps extends WithStylesProps<typeof styles> {
9 type: string; 8 type: string;
10 className?: string; 9 className?: string;
11 children: ReactNode; 10 children: ReactNode;
@@ -68,4 +67,4 @@ class BadgeComponent extends Component<IProps> {
68 } 67 }
69} 68}
70 69
71export const Badge = injectStyle(styles)(BadgeComponent); 70export const Badge = injectStyle(styles, { injectTheme: true })(BadgeComponent);
diff --git a/src/components/ui/button/index.tsx b/src/components/ui/button/index.tsx
index 12e5e4449..d91b1ee19 100644
--- a/src/components/ui/button/index.tsx
+++ b/src/components/ui/button/index.tsx
@@ -2,11 +2,11 @@ import Icon from '@mdi/react';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import { Property } from 'csstype'; 3import { Property } from 'csstype';
4import { Component, MouseEvent } from 'react'; 4import { Component, MouseEvent } from 'react';
5import injectStyle, { withTheme } from 'react-jss'; 5import injectStyle, { WithStylesProps } from 'react-jss';
6import Loader from 'react-loader'; 6import Loader from 'react-loader';
7 7
8import { Theme } from '../../../themes'; 8import { Theme } from '../../../themes';
9import { IFormField, IWithStyle } from '../typings/generic'; 9import { IFormField } from '../typings/generic';
10 10
11type ButtonType = 11type ButtonType =
12 | 'primary' 12 | 'primary'
@@ -16,7 +16,7 @@ type ButtonType =
16 | 'warning' 16 | 'warning'
17 | 'inverted'; 17 | 'inverted';
18 18
19interface IProps extends IFormField, IWithStyle { 19interface IProps extends IFormField, WithStylesProps<typeof styles> {
20 className?: string; 20 className?: string;
21 disabled?: boolean; 21 disabled?: boolean;
22 id?: string; 22 id?: string;
@@ -179,7 +179,7 @@ class ButtonComponent extends Component<IProps> {
179 const { 179 const {
180 classes, 180 classes,
181 className, 181 className,
182 theme, 182 // theme,
183 disabled, 183 disabled,
184 id, 184 id,
185 label, 185 label,
@@ -213,7 +213,7 @@ class ButtonComponent extends Component<IProps> {
213 loaded={false} 213 loaded={false}
214 width={4} 214 width={4}
215 scale={0.45} 215 scale={0.45}
216 color={theme.buttonLoaderColor[buttonType!]} 216 // color={theme.buttonLoaderColor[buttonType!]}
217 parentClassName={classes.loader} 217 parentClassName={classes.loader}
218 /> 218 />
219 )} 219 )}
@@ -262,4 +262,6 @@ class ButtonComponent extends Component<IProps> {
262 } 262 }
263} 263}
264 264
265export const Button = injectStyle(styles)(withTheme(ButtonComponent)); 265export const Button = injectStyle(styles, { injectTheme: true })(
266 ButtonComponent,
267);
diff --git a/src/components/ui/error/index.tsx b/src/components/ui/error/index.tsx
index 8439bfc8b..ff3bc31c6 100644
--- a/src/components/ui/error/index.tsx
+++ b/src/components/ui/error/index.tsx
@@ -17,4 +17,4 @@ class ErrorComponent extends Component<IProps> {
17 } 17 }
18} 18}
19 19
20export const Error = injectSheet(styles)(ErrorComponent); 20export const Error = injectSheet(styles, { injectTheme: true })(ErrorComponent);
diff --git a/src/components/ui/headline/index.tsx b/src/components/ui/headline/index.tsx
index ea2949102..d9954c38f 100644
--- a/src/components/ui/headline/index.tsx
+++ b/src/components/ui/headline/index.tsx
@@ -1,11 +1,11 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Component, createElement, ReactNode } from 'react'; 2import { Component, createElement, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle, { WithStylesProps } from 'react-jss';
4 4
5import { Theme } from '../../../themes'; 5import { Theme } from '../../../themes';
6import { IWithStyle, Omit } from '../typings/generic'; 6import { Omit } from '../typings/generic';
7 7
8interface IProps extends IWithStyle { 8interface IProps extends WithStylesProps<typeof styles> {
9 level?: number; 9 level?: number;
10 className?: string; 10 className?: string;
11 children: string | ReactNode; 11 children: string | ReactNode;
@@ -55,9 +55,9 @@ class HeadlineComponent extends Component<IProps> {
55 } 55 }
56} 56}
57 57
58const Headline = injectStyle(styles)(HeadlineComponent); 58const Headline = injectStyle(styles, { injectTheme: true })(HeadlineComponent);
59 59
60const createH = (level: number) => (props: Omit<IProps, 'classes' | 'theme'>) => 60const createH = (level: number) => (props: Omit<IProps, 'classes'>) =>
61 ( 61 (
62 <Headline level={level} {...props}> 62 <Headline level={level} {...props}>
63 {props.children} 63 {props.children}
diff --git a/src/components/ui/icon/index.tsx b/src/components/ui/icon/index.tsx
index 85bb61d13..52f61d2d7 100644
--- a/src/components/ui/icon/index.tsx
+++ b/src/components/ui/icon/index.tsx
@@ -1,12 +1,11 @@
1import MdiIcon from '@mdi/react'; 1import MdiIcon from '@mdi/react';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import { Component } from 'react'; 3import { Component } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle, { WithStylesProps } from 'react-jss';
5 5
6import { Theme } from '../../../themes'; 6import { Theme } from '../../../themes';
7import { IWithStyle } from '../typings/generic';
8 7
9interface IProps extends IWithStyle { 8interface IProps extends WithStylesProps<typeof styles> {
10 icon: string; 9 icon: string;
11 size?: number; 10 size?: number;
12 className?: string; 11 className?: string;
@@ -43,4 +42,4 @@ class IconComponent extends Component<IProps> {
43 } 42 }
44} 43}
45 44
46export const Icon = injectStyle(styles)(IconComponent); 45export const Icon = injectStyle(styles, { injectTheme: true })(IconComponent);
diff --git a/src/components/ui/infobox/index.tsx b/src/components/ui/infobox/index.tsx
index 87940c4d4..7b2ce527b 100644
--- a/src/components/ui/infobox/index.tsx
+++ b/src/components/ui/infobox/index.tsx
@@ -1,13 +1,12 @@
1import { mdiClose } from '@mdi/js'; 1import { mdiClose } from '@mdi/js';
2import classnames from 'classnames'; 2import classnames from 'classnames';
3import { Component, ReactNode } from 'react'; 3import { Component, ReactNode } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle, { WithStylesProps } from 'react-jss';
5 5
6import { Theme } from '../../../themes'; 6import { Theme } from '../../../themes';
7import { Icon } from '../icon'; 7import { Icon } from '../icon';
8import { IWithStyle } from '../typings/generic';
9 8
10interface IProps extends IWithStyle { 9interface IProps extends WithStylesProps<typeof styles> {
11 icon?: string; 10 icon?: string;
12 type?: string; 11 type?: string;
13 dismissable?: boolean; 12 dismissable?: boolean;
@@ -202,4 +201,6 @@ class InfoboxComponent extends Component<IProps, IState> {
202 } 201 }
203} 202}
204 203
205export const Infobox = injectStyle(styles)(InfoboxComponent); 204export const Infobox = injectStyle(styles, { injectTheme: true })(
205 InfoboxComponent,
206);
diff --git a/src/components/ui/input/index.tsx b/src/components/ui/input/index.tsx
index c46cafc5c..bfbee33b9 100644
--- a/src/components/ui/input/index.tsx
+++ b/src/components/ui/input/index.tsx
@@ -2,9 +2,9 @@ import { mdiEye, mdiEyeOff } from '@mdi/js';
2import Icon from '@mdi/react'; 2import Icon from '@mdi/react';
3import classnames from 'classnames'; 3import classnames from 'classnames';
4import { Component, createRef, InputHTMLAttributes } from 'react'; 4import { Component, createRef, InputHTMLAttributes } from 'react';
5import injectSheet from 'react-jss'; 5import injectSheet, { WithStylesProps } from 'react-jss';
6 6
7import { IFormField, IWithStyle } from '../typings/generic'; 7import { IFormField } from '../typings/generic';
8 8
9import { Error } from '../error'; 9import { Error } from '../error';
10import { Label } from '../label'; 10import { Label } from '../label';
@@ -20,7 +20,7 @@ interface IData {
20interface IProps 20interface IProps
21 extends InputHTMLAttributes<HTMLInputElement>, 21 extends InputHTMLAttributes<HTMLInputElement>,
22 IFormField, 22 IFormField,
23 IWithStyle { 23 WithStylesProps<typeof styles> {
24 focus?: boolean; 24 focus?: boolean;
25 prefix?: string; 25 prefix?: string;
26 suffix?: string; 26 suffix?: string;
@@ -205,4 +205,4 @@ class InputComponent extends Component<IProps, IState> {
205 } 205 }
206} 206}
207 207
208export const Input = injectSheet(styles)(InputComponent); 208export const Input = injectSheet(styles, { injectTheme: true })(InputComponent);
diff --git a/src/components/ui/label/index.tsx b/src/components/ui/label/index.tsx
index 4d86f23f7..dcc14bff4 100644
--- a/src/components/ui/label/index.tsx
+++ b/src/components/ui/label/index.tsx
@@ -1,15 +1,16 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Classes } from 'jss';
3import { Component, LabelHTMLAttributes } from 'react'; 2import { Component, LabelHTMLAttributes } from 'react';
4import injectSheet from 'react-jss'; 3import injectSheet, { WithStylesProps } from 'react-jss';
5 4
6import { IFormField } from '../typings/generic'; 5import { IFormField } from '../typings/generic';
7 6
8import styles from './styles'; 7import styles from './styles';
9 8
10interface ILabel extends IFormField, LabelHTMLAttributes<HTMLLabelElement> { 9interface ILabel
11 classes: Classes; 10 extends IFormField,
12 isRequired: boolean; 11 LabelHTMLAttributes<HTMLLabelElement>,
12 WithStylesProps<typeof styles> {
13 isRequired?: boolean;
13} 14}
14 15
15class LabelComponent extends Component<ILabel> { 16class LabelComponent extends Component<ILabel> {
@@ -49,4 +50,4 @@ class LabelComponent extends Component<ILabel> {
49 } 50 }
50} 51}
51 52
52export const Label = injectSheet(styles)(LabelComponent); 53export const Label = injectSheet(styles, { injectTheme: true })(LabelComponent);
diff --git a/src/components/ui/loader/index.tsx b/src/components/ui/loader/index.tsx
index 0607bd48b..d56995ccc 100644
--- a/src/components/ui/loader/index.tsx
+++ b/src/components/ui/loader/index.tsx
@@ -1,25 +1,25 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Component } from 'react'; 2import { Component } from 'react';
3import injectStyle, { withTheme } from 'react-jss'; 3import injectStyle, { WithStylesProps } from 'react-jss';
4import ReactLoader from 'react-loader'; 4import ReactLoader from 'react-loader';
5 5
6import { IWithStyle } from '../typings/generic'; 6interface IProps extends WithStylesProps<typeof styles> {
7
8interface IProps extends IWithStyle {
9 className?: string; 7 className?: string;
10 color?: string; 8 color?: string;
11} 9}
12 10
13const styles = () => ({ 11const styles = theme => ({
14 container: { 12 container: {
15 position: 'relative', 13 position: 'relative',
16 height: 60, 14 height: 60,
17 }, 15 },
16 loader: {},
17 color: theme.colorText,
18}); 18});
19 19
20class LoaderComponent extends Component<IProps> { 20class LoaderComponent extends Component<IProps> {
21 render() { 21 render() {
22 const { classes, className, color, theme } = this.props; 22 const { classes, className, color } = this.props;
23 23
24 return ( 24 return (
25 <div 25 <div
@@ -33,7 +33,7 @@ class LoaderComponent extends Component<IProps> {
33 loaded={false} 33 loaded={false}
34 width={4} 34 width={4}
35 scale={0.75} 35 scale={0.75}
36 color={color || theme.colorText} 36 color={color || classes.color}
37 parentClassName={classes.loader} 37 parentClassName={classes.loader}
38 /> 38 />
39 </div> 39 </div>
@@ -41,4 +41,6 @@ class LoaderComponent extends Component<IProps> {
41 } 41 }
42} 42}
43 43
44export const Loader = injectStyle(styles)(withTheme(LoaderComponent)); 44export const Loader = injectStyle(styles, { injectTheme: true })(
45 LoaderComponent,
46);
diff --git a/src/components/ui/select/index.tsx b/src/components/ui/select/index.tsx
index 2605503a3..ac509aa7c 100644
--- a/src/components/ui/select/index.tsx
+++ b/src/components/ui/select/index.tsx
@@ -6,10 +6,10 @@ import {
6import Icon from '@mdi/react'; 6import Icon from '@mdi/react';
7import classnames from 'classnames'; 7import classnames from 'classnames';
8import { ChangeEvent, Component, createRef } from 'react'; 8import { ChangeEvent, Component, createRef } from 'react';
9import injectStyle from 'react-jss'; 9import injectStyle, { WithStylesProps } from 'react-jss';
10 10
11import { Theme } from '../../../themes'; 11import { Theme } from '../../../themes';
12import { IFormField, IWithStyle } from '../typings/generic'; 12import { IFormField } from '../typings/generic';
13 13
14import { Error } from '../error'; 14import { Error } from '../error';
15import { Label } from '../label'; 15import { Label } from '../label';
@@ -23,7 +23,7 @@ interface IData {
23 [index: string]: string; 23 [index: string]: string;
24} 24}
25 25
26interface IProps extends IFormField, IWithStyle { 26interface IProps extends IFormField, WithStylesProps<typeof styles> {
27 actionText: string; 27 actionText: string;
28 className?: string; 28 className?: string;
29 inputClassName?: string; 29 inputClassName?: string;
@@ -146,6 +146,7 @@ const styles = (theme: Theme) => ({
146 disabled: { 146 disabled: {
147 opacity: theme.selectDisabledOpacity, 147 opacity: theme.selectDisabledOpacity,
148 }, 148 },
149 input: {},
149}); 150});
150 151
151class SelectComponent extends Component<IProps> { 152class SelectComponent extends Component<IProps> {
@@ -457,4 +458,6 @@ class SelectComponent extends Component<IProps> {
457 } 458 }
458} 459}
459 460
460export const Select = injectStyle(styles)(SelectComponent); 461export const Select = injectStyle(styles, { injectTheme: true })(
462 SelectComponent,
463);
diff --git a/src/components/ui/textarea/index.tsx b/src/components/ui/textarea/index.tsx
index 1b16698eb..a47465806 100644
--- a/src/components/ui/textarea/index.tsx
+++ b/src/components/ui/textarea/index.tsx
@@ -1,8 +1,8 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Component, createRef, TextareaHTMLAttributes } from 'react'; 2import { Component, createRef, TextareaHTMLAttributes } from 'react';
3import injectSheet from 'react-jss'; 3import injectSheet, { WithStylesProps } from 'react-jss';
4 4
5import { IFormField, IWithStyle } from '../typings/generic'; 5import { IFormField } from '../typings/generic';
6 6
7import { Error } from '../error'; 7import { Error } from '../error';
8import { Label } from '../label'; 8import { Label } from '../label';
@@ -17,7 +17,7 @@ interface IData {
17interface IProps 17interface IProps
18 extends TextareaHTMLAttributes<HTMLTextAreaElement>, 18 extends TextareaHTMLAttributes<HTMLTextAreaElement>,
19 IFormField, 19 IFormField,
20 IWithStyle { 20 WithStylesProps<typeof styles> {
21 focus?: boolean; 21 focus?: boolean;
22 data: IData; 22 data: IData;
23 textareaClassName?: string; 23 textareaClassName?: string;
@@ -123,4 +123,6 @@ class TextareaComponent extends Component<IProps> {
123 } 123 }
124} 124}
125 125
126export const Textarea = injectSheet(styles)(TextareaComponent); 126export const Textarea = injectSheet(styles, { injectTheme: true })(
127 TextareaComponent,
128);
diff --git a/src/components/ui/toggle/index.tsx b/src/components/ui/toggle/index.tsx
index 7b6ba147f..856581a21 100644
--- a/src/components/ui/toggle/index.tsx
+++ b/src/components/ui/toggle/index.tsx
@@ -1,10 +1,10 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Property } from 'csstype'; 2import { Property } from 'csstype';
3import { Component, InputHTMLAttributes } from 'react'; 3import { Component, InputHTMLAttributes } from 'react';
4import injectStyle from 'react-jss'; 4import injectStyle, { WithStylesProps } from 'react-jss';
5 5
6import { Theme } from '../../../themes'; 6import { Theme } from '../../../themes';
7import { IFormField, IWithStyle } from '../typings/generic'; 7import { IFormField } from '../typings/generic';
8 8
9import { Error } from '../error'; 9import { Error } from '../error';
10import { Label } from '../label'; 10import { Label } from '../label';
@@ -13,7 +13,7 @@ import { Wrapper } from '../wrapper';
13interface IProps 13interface IProps
14 extends InputHTMLAttributes<HTMLInputElement>, 14 extends InputHTMLAttributes<HTMLInputElement>,
15 IFormField, 15 IFormField,
16 IWithStyle { 16 WithStylesProps<typeof styles> {
17 className?: string; 17 className?: string;
18} 18}
19 19
@@ -122,4 +122,6 @@ class ToggleComponent extends Component<IProps> {
122 } 122 }
123} 123}
124 124
125export const Toggle = injectStyle(styles)(ToggleComponent); 125export const Toggle = injectStyle(styles, { injectTheme: true })(
126 ToggleComponent,
127);
diff --git a/src/components/ui/typings/generic.ts b/src/components/ui/typings/generic.ts
index 65b996d59..3aec0bc40 100644
--- a/src/components/ui/typings/generic.ts
+++ b/src/components/ui/typings/generic.ts
@@ -1,7 +1,3 @@
1import { Classes } from 'jss';
2
3import { Theme } from '../../../themes';
4
5export interface IFormField { 1export interface IFormField {
6 showLabel?: boolean; 2 showLabel?: boolean;
7 label?: string; 3 label?: string;
@@ -10,10 +6,5 @@ export interface IFormField {
10 noMargin?: boolean; 6 noMargin?: boolean;
11} 7}
12 8
13export interface IWithStyle {
14 classes: Classes;
15 theme: Theme;
16}
17
18export type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N; 9export type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
19export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; 10export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
diff --git a/src/components/ui/wrapper/index.tsx b/src/components/ui/wrapper/index.tsx
index ffcd6fe0b..bc385d319 100644
--- a/src/components/ui/wrapper/index.tsx
+++ b/src/components/ui/wrapper/index.tsx
@@ -1,9 +1,8 @@
1import classnames from 'classnames'; 1import classnames from 'classnames';
2import { Component, ReactNode } from 'react'; 2import { Component, ReactNode } from 'react';
3import injectStyle from 'react-jss'; 3import injectStyle, { WithStylesProps } from 'react-jss';
4import { IWithStyle } from '../typings/generic';
5 4
6interface IProps extends IWithStyle { 5interface IProps extends WithStylesProps<typeof styles> {
7 children: ReactNode; 6 children: ReactNode;
8 className?: string; 7 className?: string;
9 identifier: string; 8 identifier: string;
@@ -34,4 +33,6 @@ class WrapperComponent extends Component<IProps> {
34 } 33 }
35} 34}
36 35
37export const Wrapper = injectStyle(styles)(WrapperComponent); 36export const Wrapper = injectStyle(styles, { injectTheme: true })(
37 WrapperComponent,
38);
diff --git a/src/components/util/ErrorBoundary/index.js b/src/components/util/ErrorBoundary/index.js
index cddcd91c2..6a8b126f1 100644
--- a/src/components/util/ErrorBoundary/index.js
+++ b/src/components/util/ErrorBoundary/index.js
@@ -18,7 +18,6 @@ const messages = defineMessages({
18 }, 18 },
19}); 19});
20 20
21@injectSheet(styles)
22class ErrorBoundary extends Component { 21class ErrorBoundary extends Component {
23 state = { 22 state = {
24 hasError: false, 23 hasError: false,
@@ -56,4 +55,6 @@ class ErrorBoundary extends Component {
56 } 55 }
57} 56}
58 57
59export default injectIntl(ErrorBoundary); 58export default injectIntl(
59 injectSheet(styles, { injectTheme: true })(ErrorBoundary),
60);
diff --git a/src/containers/auth/AuthLayoutContainer.js b/src/containers/auth/AuthLayoutContainer.js
index aa36e3969..e6d6dcf8a 100644
--- a/src/containers/auth/AuthLayoutContainer.js
+++ b/src/containers/auth/AuthLayoutContainer.js
@@ -14,8 +14,6 @@ import AppLoader from '../../components/ui/AppLoader';
14import { oneOrManyChildElements } from '../../prop-types'; 14import { oneOrManyChildElements } from '../../prop-types';
15import FeaturesStore from '../../stores/FeaturesStore'; 15import FeaturesStore from '../../stores/FeaturesStore';
16 16
17@inject('stores', 'actions')
18@observer
19class AuthLayoutContainer extends Component { 17class AuthLayoutContainer extends Component {
20 static propTypes = { 18 static propTypes = {
21 children: oneOrManyChildElements.isRequired, 19 children: oneOrManyChildElements.isRequired,
@@ -71,7 +69,7 @@ class AuthLayoutContainer extends Component {
71 } 69 }
72} 70}
73 71
74AuthLayoutContainer.wrappedComponent.propTypes = { 72AuthLayoutContainer.propTypes = {
75 stores: PropTypes.shape({ 73 stores: PropTypes.shape({
76 app: PropTypes.instanceOf(AppStore).isRequired, 74 app: PropTypes.instanceOf(AppStore).isRequired,
77 features: PropTypes.instanceOf(FeaturesStore).isRequired, 75 features: PropTypes.instanceOf(FeaturesStore).isRequired,
@@ -85,4 +83,4 @@ AuthLayoutContainer.wrappedComponent.propTypes = {
85 }).isRequired, 83 }).isRequired,
86}; 84};
87 85
88export default AuthLayoutContainer; 86export default inject('stores', 'actions')(observer(AuthLayoutContainer));
diff --git a/src/containers/auth/ChangeServerScreen.js b/src/containers/auth/ChangeServerScreen.js
index dcc913c39..60bfde088 100644
--- a/src/containers/auth/ChangeServerScreen.js
+++ b/src/containers/auth/ChangeServerScreen.js
@@ -5,8 +5,6 @@ import { RouterStore } from 'mobx-react-router';
5import ChangeServer from '../../components/auth/ChangeServer'; 5import ChangeServer from '../../components/auth/ChangeServer';
6import SettingsStore from '../../stores/SettingsStore'; 6import SettingsStore from '../../stores/SettingsStore';
7 7
8@inject('stores', 'actions')
9@observer
10class ChangeServerScreen extends Component { 8class ChangeServerScreen extends Component {
11 constructor(props) { 9 constructor(props) {
12 super(props); 10 super(props);
@@ -34,7 +32,7 @@ class ChangeServerScreen extends Component {
34 } 32 }
35} 33}
36 34
37ChangeServerScreen.wrappedComponent.propTypes = { 35ChangeServerScreen.propTypes = {
38 actions: PropTypes.shape({ 36 actions: PropTypes.shape({
39 settings: PropTypes.instanceOf(SettingsStore).isRequired, 37 settings: PropTypes.instanceOf(SettingsStore).isRequired,
40 }).isRequired, 38 }).isRequired,
@@ -44,4 +42,4 @@ ChangeServerScreen.wrappedComponent.propTypes = {
44 }).isRequired, 42 }).isRequired,
45}; 43};
46 44
47export default ChangeServerScreen; 45export default inject('stores', 'actions')(observer(ChangeServerScreen));
diff --git a/src/containers/auth/ImportScreen.js b/src/containers/auth/ImportScreen.js
index 46e2d41f0..c01c3d355 100644
--- a/src/containers/auth/ImportScreen.js
+++ b/src/containers/auth/ImportScreen.js
@@ -5,8 +5,6 @@ import { RouterStore } from 'mobx-react-router';
5import Import from '../../components/auth/Import'; 5import Import from '../../components/auth/Import';
6import UserStore from '../../stores/UserStore'; 6import UserStore from '../../stores/UserStore';
7 7
8@inject('stores', 'actions')
9@observer
10class ImportScreen extends Component { 8class ImportScreen extends Component {
11 render() { 9 render() {
12 const { actions, stores } = this.props; 10 const { actions, stores } = this.props;
@@ -26,7 +24,7 @@ class ImportScreen extends Component {
26 } 24 }
27} 25}
28 26
29ImportScreen.wrappedComponent.propTypes = { 27ImportScreen.propTypes = {
30 actions: PropTypes.shape({ 28 actions: PropTypes.shape({
31 user: PropTypes.instanceOf(UserStore).isRequired, 29 user: PropTypes.instanceOf(UserStore).isRequired,
32 }).isRequired, 30 }).isRequired,
@@ -36,4 +34,4 @@ ImportScreen.wrappedComponent.propTypes = {
36 }).isRequired, 34 }).isRequired,
37}; 35};
38 36
39export default ImportScreen; 37export default inject('stores', 'actions')(observer(ImportScreen));
diff --git a/src/containers/auth/InviteScreen.js b/src/containers/auth/InviteScreen.js
index e252242ae..fc66227cc 100644
--- a/src/containers/auth/InviteScreen.js
+++ b/src/containers/auth/InviteScreen.js
@@ -3,8 +3,6 @@ import 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';
5 5
6@inject('stores', 'actions')
7@observer
8class InviteScreen extends Component { 6class InviteScreen extends Component {
9 render() { 7 render() {
10 const { actions } = this.props; 8 const { actions } = this.props;
@@ -13,7 +11,7 @@ class InviteScreen extends Component {
13 } 11 }
14} 12}
15 13
16InviteScreen.wrappedComponent.propTypes = { 14InviteScreen.propTypes = {
17 actions: PropTypes.shape({ 15 actions: PropTypes.shape({
18 user: PropTypes.shape({ 16 user: PropTypes.shape({
19 invite: PropTypes.func.isRequired, 17 invite: PropTypes.func.isRequired,
@@ -21,4 +19,4 @@ InviteScreen.wrappedComponent.propTypes = {
21 }).isRequired, 19 }).isRequired,
22}; 20};
23 21
24export default InviteScreen; 22export default inject('stores', 'actions')(observer(InviteScreen));
diff --git a/src/containers/auth/LockedScreen.js b/src/containers/auth/LockedScreen.js
index 945e41284..87a00800f 100644
--- a/src/containers/auth/LockedScreen.js
+++ b/src/containers/auth/LockedScreen.js
@@ -7,8 +7,6 @@ import SettingsStore from '../../stores/SettingsStore';
7import { hash } from '../../helpers/password-helpers'; 7import { hash } from '../../helpers/password-helpers';
8import UserStore from '../../stores/UserStore'; 8import UserStore from '../../stores/UserStore';
9 9
10@inject('stores', 'actions')
11@observer
12class LockedScreen extends Component { 10class LockedScreen extends Component {
13 state = { 11 state = {
14 error: false, 12 error: false,
@@ -76,7 +74,7 @@ class LockedScreen extends Component {
76 } 74 }
77} 75}
78 76
79LockedScreen.wrappedComponent.propTypes = { 77LockedScreen.propTypes = {
80 actions: PropTypes.shape({ 78 actions: PropTypes.shape({
81 settings: PropTypes.instanceOf(SettingsStore).isRequired, 79 settings: PropTypes.instanceOf(SettingsStore).isRequired,
82 }).isRequired, 80 }).isRequired,
@@ -86,4 +84,4 @@ LockedScreen.wrappedComponent.propTypes = {
86 }).isRequired, 84 }).isRequired,
87}; 85};
88 86
89export default LockedScreen; 87export default inject('stores', 'actions')(observer(LockedScreen));
diff --git a/src/containers/auth/LoginScreen.js b/src/containers/auth/LoginScreen.js
index 3f8c67fa8..572a38ea1 100644
--- a/src/containers/auth/LoginScreen.js
+++ b/src/containers/auth/LoginScreen.js
@@ -6,8 +6,6 @@ import UserStore from '../../stores/UserStore';
6 6
7import { globalError as globalErrorPropType } from '../../prop-types'; 7import { globalError as globalErrorPropType } from '../../prop-types';
8 8
9@inject('stores', 'actions')
10@observer
11class LoginScreen extends Component { 9class LoginScreen extends Component {
12 static propTypes = { 10 static propTypes = {
13 error: globalErrorPropType.isRequired, 11 error: globalErrorPropType.isRequired,
@@ -32,7 +30,7 @@ class LoginScreen extends Component {
32 } 30 }
33} 31}
34 32
35LoginScreen.wrappedComponent.propTypes = { 33LoginScreen.propTypes = {
36 actions: PropTypes.shape({ 34 actions: PropTypes.shape({
37 user: PropTypes.instanceOf(UserStore).isRequired, 35 user: PropTypes.instanceOf(UserStore).isRequired,
38 }).isRequired, 36 }).isRequired,
@@ -41,4 +39,4 @@ LoginScreen.wrappedComponent.propTypes = {
41 }).isRequired, 39 }).isRequired,
42}; 40};
43 41
44export default LoginScreen; 42export default inject('stores', 'actions')(observer(LoginScreen));
diff --git a/src/containers/auth/PasswordScreen.js b/src/containers/auth/PasswordScreen.js
index 836d4cc88..4b2c1b4a2 100644
--- a/src/containers/auth/PasswordScreen.js
+++ b/src/containers/auth/PasswordScreen.js
@@ -4,8 +4,6 @@ import { inject, observer } from 'mobx-react';
4import Password from '../../components/auth/Password'; 4import Password from '../../components/auth/Password';
5import UserStore from '../../stores/UserStore'; 5import UserStore from '../../stores/UserStore';
6 6
7@inject('stores', 'actions')
8@observer
9class PasswordScreen extends Component { 7class PasswordScreen extends Component {
10 render() { 8 render() {
11 const { actions, stores } = this.props; 9 const { actions, stores } = this.props;
@@ -22,7 +20,7 @@ class PasswordScreen extends Component {
22 } 20 }
23} 21}
24 22
25PasswordScreen.wrappedComponent.propTypes = { 23PasswordScreen.propTypes = {
26 actions: PropTypes.shape({ 24 actions: PropTypes.shape({
27 user: PropTypes.instanceOf(UserStore).isRequired, 25 user: PropTypes.instanceOf(UserStore).isRequired,
28 }).isRequired, 26 }).isRequired,
@@ -31,4 +29,4 @@ PasswordScreen.wrappedComponent.propTypes = {
31 }).isRequired, 29 }).isRequired,
32}; 30};
33 31
34export default PasswordScreen; 32export default inject('stores', 'actions')(observer(PasswordScreen));
diff --git a/src/containers/auth/SetupAssistantScreen.js b/src/containers/auth/SetupAssistantScreen.js
index 8cdd95a88..f6392712d 100644
--- a/src/containers/auth/SetupAssistantScreen.js
+++ b/src/containers/auth/SetupAssistantScreen.js
@@ -14,8 +14,6 @@ import ServicesStore from '../../stores/ServicesStore';
14import RecipesStore from '../../stores/RecipesStore'; 14import RecipesStore from '../../stores/RecipesStore';
15import UserStore from '../../stores/UserStore'; 15import UserStore from '../../stores/UserStore';
16 16
17@inject('stores', 'actions')
18@observer
19class SetupAssistantScreen extends Component { 17class SetupAssistantScreen extends Component {
20 constructor(props) { 18 constructor(props) {
21 super(props); 19 super(props);
@@ -120,7 +118,7 @@ class SetupAssistantScreen extends Component {
120 } 118 }
121} 119}
122 120
123SetupAssistantScreen.wrappedComponent.propTypes = { 121SetupAssistantScreen.propTypes = {
124 stores: PropTypes.shape({ 122 stores: PropTypes.shape({
125 services: PropTypes.instanceOf(ServicesStore), 123 services: PropTypes.instanceOf(ServicesStore),
126 router: PropTypes.instanceOf(RouterStore).isRequired, 124 router: PropTypes.instanceOf(RouterStore).isRequired,
@@ -134,4 +132,4 @@ SetupAssistantScreen.wrappedComponent.propTypes = {
134 }).isRequired, 132 }).isRequired,
135}; 133};
136 134
137export default SetupAssistantScreen; 135export default inject('stores', 'actions')(observer(SetupAssistantScreen));
diff --git a/src/containers/auth/SignupScreen.js b/src/containers/auth/SignupScreen.js
index 3b19f3c50..1dd8d0772 100644
--- a/src/containers/auth/SignupScreen.js
+++ b/src/containers/auth/SignupScreen.js
@@ -8,8 +8,6 @@ import FeaturesStore from '../../stores/FeaturesStore';
8 8
9import { globalError as globalErrorPropType } from '../../prop-types'; 9import { globalError as globalErrorPropType } from '../../prop-types';
10 10
11@inject('stores', 'actions')
12@observer
13class SignupScreen extends Component { 11class SignupScreen extends Component {
14 static propTypes = { 12 static propTypes = {
15 error: globalErrorPropType.isRequired, 13 error: globalErrorPropType.isRequired,
@@ -36,7 +34,7 @@ class SignupScreen extends Component {
36 } 34 }
37} 35}
38 36
39SignupScreen.wrappedComponent.propTypes = { 37SignupScreen.propTypes = {
40 actions: PropTypes.shape({ 38 actions: PropTypes.shape({
41 user: PropTypes.instanceOf(UserStore).isRequired, 39 user: PropTypes.instanceOf(UserStore).isRequired,
42 }).isRequired, 40 }).isRequired,
@@ -46,4 +44,4 @@ SignupScreen.wrappedComponent.propTypes = {
46 }).isRequired, 44 }).isRequired,
47}; 45};
48 46
49export default SignupScreen; 47export default inject('stores', 'actions')(observer(SignupScreen));
diff --git a/src/containers/auth/WelcomeScreen.js b/src/containers/auth/WelcomeScreen.js
index 7a23d9ba9..18b6b2eda 100644
--- a/src/containers/auth/WelcomeScreen.js
+++ b/src/containers/auth/WelcomeScreen.js
@@ -6,8 +6,6 @@ import Welcome from '../../components/auth/Welcome';
6import UserStore from '../../stores/UserStore'; 6import UserStore from '../../stores/UserStore';
7import RecipePreviewsStore from '../../stores/RecipePreviewsStore'; 7import RecipePreviewsStore from '../../stores/RecipePreviewsStore';
8 8
9@inject('stores', 'actions')
10@observer
11class LoginScreen extends Component { 9class LoginScreen extends Component {
12 render() { 10 render() {
13 const { user, recipePreviews } = this.props.stores; 11 const { user, recipePreviews } = this.props.stores;
@@ -23,11 +21,11 @@ class LoginScreen extends Component {
23 } 21 }
24} 22}
25 23
26LoginScreen.wrappedComponent.propTypes = { 24LoginScreen.propTypes = {
27 stores: PropTypes.shape({ 25 stores: PropTypes.shape({
28 user: PropTypes.instanceOf(UserStore).isRequired, 26 user: PropTypes.instanceOf(UserStore).isRequired,
29 recipePreviews: PropTypes.instanceOf(RecipePreviewsStore).isRequired, 27 recipePreviews: PropTypes.instanceOf(RecipePreviewsStore).isRequired,
30 }).isRequired, 28 }).isRequired,
31}; 29};
32 30
33export default LoginScreen; 31export default inject('stores', 'actions')(observer(LoginScreen));
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 50a28803f..9b0edc85e 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -24,8 +24,6 @@ import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawe
24import { workspaceStore } from '../../features/workspaces'; 24import { workspaceStore } from '../../features/workspaces';
25import WorkspacesStore from '../../features/workspaces/store'; 25import WorkspacesStore from '../../features/workspaces/store';
26 26
27@inject('stores', 'actions')
28@observer
29class AppLayoutContainer extends Component { 27class AppLayoutContainer extends Component {
30 static defaultProps = { 28 static defaultProps = {
31 children: null, 29 children: null,
@@ -171,7 +169,7 @@ class AppLayoutContainer extends Component {
171 } 169 }
172} 170}
173 171
174AppLayoutContainer.wrappedComponent.propTypes = { 172AppLayoutContainer.propTypes = {
175 stores: PropTypes.shape({ 173 stores: PropTypes.shape({
176 services: PropTypes.instanceOf(ServicesStore).isRequired, 174 services: PropTypes.instanceOf(ServicesStore).isRequired,
177 features: PropTypes.instanceOf(FeaturesStore).isRequired, 175 features: PropTypes.instanceOf(FeaturesStore).isRequired,
@@ -194,4 +192,4 @@ AppLayoutContainer.wrappedComponent.propTypes = {
194 children: oneOrManyChildElements, 192 children: oneOrManyChildElements,
195}; 193};
196 194
197export default AppLayoutContainer; 195export default inject('stores', 'actions')(observer(AppLayoutContainer));
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js
index f7c9b8164..aae230577 100644
--- a/src/containers/settings/AccountScreen.js
+++ b/src/containers/settings/AccountScreen.js
@@ -12,8 +12,6 @@ import ErrorBoundary from '../../components/util/ErrorBoundary';
12import { LIVE_FRANZ_API } from '../../config'; 12import { LIVE_FRANZ_API } from '../../config';
13import { WEBSITE } from '../../environment-remote'; 13import { WEBSITE } from '../../environment-remote';
14 14
15@inject('stores', 'actions')
16@observer
17class AccountScreen extends Component { 15class AccountScreen extends Component {
18 onCloseWindow() { 16 onCloseWindow() {
19 const { user, features } = this.props.stores; 17 const { user, features } = this.props.stores;
@@ -74,7 +72,7 @@ class AccountScreen extends Component {
74 } 72 }
75} 73}
76 74
77AccountScreen.wrappedComponent.propTypes = { 75AccountScreen.propTypes = {
78 stores: PropTypes.shape({ 76 stores: PropTypes.shape({
79 user: PropTypes.instanceOf(UserStore).isRequired, 77 user: PropTypes.instanceOf(UserStore).isRequired,
80 features: PropTypes.instanceOf(FeaturesStore).isRequired, 78 features: PropTypes.instanceOf(FeaturesStore).isRequired,
@@ -87,4 +85,4 @@ AccountScreen.wrappedComponent.propTypes = {
87 }).isRequired, 85 }).isRequired,
88}; 86};
89 87
90export default AccountScreen; 88export default inject('stores', 'actions')(observer(AccountScreen));
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index ddf7fab36..24b827993 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -111,8 +111,6 @@ const messages = defineMessages({
111 }, 111 },
112}); 112});
113 113
114@inject('stores', 'actions')
115@observer
116class EditServiceScreen extends Component { 114class EditServiceScreen extends Component {
117 onSubmit(data) { 115 onSubmit(data) {
118 const { action } = this.props.router.params; 116 const { action } = this.props.router.params;
@@ -438,7 +436,7 @@ class EditServiceScreen extends Component {
438 } 436 }
439} 437}
440 438
441EditServiceScreen.wrappedComponent.propTypes = { 439EditServiceScreen.propTypes = {
442 stores: PropTypes.shape({ 440 stores: PropTypes.shape({
443 user: PropTypes.instanceOf(UserStore).isRequired, 441 user: PropTypes.instanceOf(UserStore).isRequired,
444 recipes: PropTypes.instanceOf(RecipesStore).isRequired, 442 recipes: PropTypes.instanceOf(RecipesStore).isRequired,
@@ -451,4 +449,6 @@ EditServiceScreen.wrappedComponent.propTypes = {
451 }).isRequired, 449 }).isRequired,
452}; 450};
453 451
454export default injectIntl(EditServiceScreen); 452export default injectIntl(
453 inject('stores', 'actions')(observer(EditServiceScreen)),
454);
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 720f2c8a1..ddf6876b9 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -245,8 +245,6 @@ const messages = defineMessages({
245 }, 245 },
246}); 246});
247 247
248@inject('stores', 'actions')
249@observer
250class EditSettingsScreen extends Component { 248class EditSettingsScreen extends Component {
251 constructor(props) { 249 constructor(props) {
252 super(props); 250 super(props);
@@ -753,7 +751,7 @@ class EditSettingsScreen extends Component {
753 } 751 }
754} 752}
755 753
756EditSettingsScreen.wrappedComponent.propTypes = { 754EditSettingsScreen.propTypes = {
757 stores: PropTypes.shape({ 755 stores: PropTypes.shape({
758 app: PropTypes.instanceOf(AppStore).isRequired, 756 app: PropTypes.instanceOf(AppStore).isRequired,
759 user: PropTypes.instanceOf(UserStore).isRequired, 757 user: PropTypes.instanceOf(UserStore).isRequired,
@@ -771,4 +769,6 @@ EditSettingsScreen.wrappedComponent.propTypes = {
771 }).isRequired, 769 }).isRequired,
772}; 770};
773 771
774export default injectIntl(EditSettingsScreen); 772export default injectIntl(
773 inject('stores', 'actions')(observer(EditSettingsScreen)),
774);
diff --git a/src/containers/settings/EditUserScreen.js b/src/containers/settings/EditUserScreen.js
index 1dc0aa8e6..baa2d7b71 100644
--- a/src/containers/settings/EditUserScreen.js
+++ b/src/containers/settings/EditUserScreen.js
@@ -49,8 +49,6 @@ const messages = defineMessages({
49 }, 49 },
50}); 50});
51 51
52@inject('stores', 'actions')
53@observer
54class EditUserScreen extends Component { 52class EditUserScreen extends Component {
55 componentWillUnmount() { 53 componentWillUnmount() {
56 this.props.actions.user.resetStatus(); 54 this.props.actions.user.resetStatus();
@@ -150,7 +148,7 @@ class EditUserScreen extends Component {
150 } 148 }
151} 149}
152 150
153EditUserScreen.wrappedComponent.propTypes = { 151EditUserScreen.propTypes = {
154 stores: PropTypes.shape({ 152 stores: PropTypes.shape({
155 user: PropTypes.instanceOf(UserStore).isRequired, 153 user: PropTypes.instanceOf(UserStore).isRequired,
156 }).isRequired, 154 }).isRequired,
@@ -159,4 +157,6 @@ EditUserScreen.wrappedComponent.propTypes = {
159 }).isRequired, 157 }).isRequired,
160}; 158};
161 159
162export default injectIntl(EditUserScreen); 160export default injectIntl(
161 inject('stores', 'actions')(observer(EditUserScreen)),
162);
diff --git a/src/containers/settings/InviteScreen.js b/src/containers/settings/InviteScreen.js
index 592b4b11c..86723554c 100644
--- a/src/containers/settings/InviteScreen.js
+++ b/src/containers/settings/InviteScreen.js
@@ -6,8 +6,6 @@ import Invite from '../../components/auth/Invite';
6import ErrorBoundary from '../../components/util/ErrorBoundary'; 6import ErrorBoundary from '../../components/util/ErrorBoundary';
7import UserStore from '../../stores/UserStore'; 7import UserStore from '../../stores/UserStore';
8 8
9@inject('stores', 'actions')
10@observer
11class InviteScreen extends Component { 9class InviteScreen extends Component {
12 componentWillUnmount() { 10 componentWillUnmount() {
13 this.props.stores.user.inviteRequest.reset(); 11 this.props.stores.user.inviteRequest.reset();
@@ -32,7 +30,7 @@ class InviteScreen extends Component {
32 } 30 }
33} 31}
34 32
35InviteScreen.wrappedComponent.propTypes = { 33InviteScreen.propTypes = {
36 actions: PropTypes.shape({ 34 actions: PropTypes.shape({
37 user: PropTypes.instanceOf(UserStore).isRequired, 35 user: PropTypes.instanceOf(UserStore).isRequired,
38 }).isRequired, 36 }).isRequired,
@@ -41,4 +39,4 @@ InviteScreen.wrappedComponent.propTypes = {
41 }).isRequired, 39 }).isRequired,
42}; 40};
43 41
44export default InviteScreen; 42export default inject('stores', 'actions')(observer(InviteScreen));
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js
index 7f55e54c5..6b629d3d8 100644
--- a/src/containers/settings/RecipesScreen.js
+++ b/src/containers/settings/RecipesScreen.js
@@ -19,8 +19,6 @@ import RecipePreview from '../../models/RecipePreview';
19import AppStore from '../../stores/AppStore'; 19import AppStore from '../../stores/AppStore';
20import { openPath } from '../../helpers/url-helpers'; 20import { openPath } from '../../helpers/url-helpers';
21 21
22@inject('stores', 'actions')
23@observer
24class RecipesScreen extends Component { 22class RecipesScreen extends Component {
25 static propTypes = { 23 static propTypes = {
26 params: PropTypes.shape({ 24 params: PropTypes.shape({
@@ -182,7 +180,7 @@ class RecipesScreen extends Component {
182 } 180 }
183} 181}
184 182
185RecipesScreen.wrappedComponent.propTypes = { 183RecipesScreen.propTypes = {
186 stores: PropTypes.shape({ 184 stores: PropTypes.shape({
187 recipePreviews: PropTypes.instanceOf(RecipePreviewsStore).isRequired, 185 recipePreviews: PropTypes.instanceOf(RecipePreviewsStore).isRequired,
188 recipes: PropTypes.instanceOf(RecipeStore).isRequired, 186 recipes: PropTypes.instanceOf(RecipeStore).isRequired,
@@ -198,4 +196,4 @@ RecipesScreen.wrappedComponent.propTypes = {
198 }).isRequired, 196 }).isRequired,
199}; 197};
200 198
201export default RecipesScreen; 199export default inject('stores', 'actions')(observer(RecipesScreen));
diff --git a/src/containers/settings/ServicesScreen.js b/src/containers/settings/ServicesScreen.js
index a657b6e6c..2970b2a54 100644
--- a/src/containers/settings/ServicesScreen.js
+++ b/src/containers/settings/ServicesScreen.js
@@ -10,8 +10,6 @@ import ServiceStore from '../../stores/ServicesStore';
10import ServicesDashboard from '../../components/settings/services/ServicesDashboard'; 10import ServicesDashboard from '../../components/settings/services/ServicesDashboard';
11import ErrorBoundary from '../../components/util/ErrorBoundary'; 11import ErrorBoundary from '../../components/util/ErrorBoundary';
12 12
13@inject('stores', 'actions')
14@observer
15class ServicesScreen extends Component { 13class ServicesScreen extends Component {
16 componentWillUnmount() { 14 componentWillUnmount() {
17 this.props.actions.service.resetFilter(); 15 this.props.actions.service.resetFilter();
@@ -57,7 +55,7 @@ class ServicesScreen extends Component {
57 } 55 }
58} 56}
59 57
60ServicesScreen.wrappedComponent.propTypes = { 58ServicesScreen.propTypes = {
61 stores: PropTypes.shape({ 59 stores: PropTypes.shape({
62 user: PropTypes.instanceOf(UserStore).isRequired, 60 user: PropTypes.instanceOf(UserStore).isRequired,
63 services: PropTypes.instanceOf(ServiceStore).isRequired, 61 services: PropTypes.instanceOf(ServiceStore).isRequired,
@@ -68,4 +66,4 @@ ServicesScreen.wrappedComponent.propTypes = {
68 }).isRequired, 66 }).isRequired,
69}; 67};
70 68
71export default ServicesScreen; 69export default inject('stores', 'actions')(observer(ServicesScreen));
diff --git a/src/containers/settings/SettingsWindow.js b/src/containers/settings/SettingsWindow.js
index 35db3a434..0e6ce4df3 100644
--- a/src/containers/settings/SettingsWindow.js
+++ b/src/containers/settings/SettingsWindow.js
@@ -11,8 +11,6 @@ import ErrorBoundary from '../../components/util/ErrorBoundary';
11import { workspaceStore } from '../../features/workspaces'; 11import { workspaceStore } from '../../features/workspaces';
12import UIStore from '../../stores/UIStore'; 12import UIStore from '../../stores/UIStore';
13 13
14@inject('stores', 'actions')
15@observer
16class SettingsContainer extends Component { 14class SettingsContainer extends Component {
17 portalRoot = document.querySelector('#portalContainer'); 15 portalRoot = document.querySelector('#portalContainer');
18 16
@@ -48,7 +46,7 @@ class SettingsContainer extends Component {
48 } 46 }
49} 47}
50 48
51SettingsContainer.wrappedComponent.propTypes = { 49SettingsContainer.propTypes = {
52 children: PropTypes.element.isRequired, 50 children: PropTypes.element.isRequired,
53 stores: PropTypes.shape({ 51 stores: PropTypes.shape({
54 services: PropTypes.instanceOf(ServicesStore).isRequired, 52 services: PropTypes.instanceOf(ServicesStore).isRequired,
@@ -58,4 +56,4 @@ SettingsContainer.wrappedComponent.propTypes = {
58 }).isRequired, 56 }).isRequired,
59}; 57};
60 58
61export default SettingsContainer; 59export default inject('stores', 'actions')(observer(SettingsContainer));
diff --git a/src/containers/settings/SupportScreen.js b/src/containers/settings/SupportScreen.js
index d3600f8ea..b4ad952b2 100644
--- a/src/containers/settings/SupportScreen.js
+++ b/src/containers/settings/SupportScreen.js
@@ -6,7 +6,6 @@ import SupportFerdi from '../../components/settings/supportFerdi/SupportFerdiDas
6import ErrorBoundary from '../../components/util/ErrorBoundary'; 6import ErrorBoundary from '../../components/util/ErrorBoundary';
7import AppStore from '../../stores/AppStore'; 7import AppStore from '../../stores/AppStore';
8 8
9@inject('actions')
10class SupportScreen extends Component { 9class SupportScreen extends Component {
11 constructor(props) { 10 constructor(props) {
12 super(props); 11 super(props);
@@ -27,10 +26,10 @@ class SupportScreen extends Component {
27 } 26 }
28} 27}
29 28
30SupportScreen.wrappedComponent.propTypes = { 29SupportScreen.propTypes = {
31 actions: PropTypes.shape({ 30 actions: PropTypes.shape({
32 app: PropTypes.instanceOf(AppStore).isRequired, 31 app: PropTypes.instanceOf(AppStore).isRequired,
33 }).isRequired, 32 }).isRequired,
34}; 33};
35 34
36export default SupportScreen; 35export default inject('actions')(SupportScreen);
diff --git a/src/containers/settings/TeamScreen.js b/src/containers/settings/TeamScreen.js
index 928262a59..0a8b92b47 100644
--- a/src/containers/settings/TeamScreen.js
+++ b/src/containers/settings/TeamScreen.js
@@ -10,8 +10,6 @@ import TeamDashboard from '../../components/settings/team/TeamDashboard';
10import ErrorBoundary from '../../components/util/ErrorBoundary'; 10import ErrorBoundary from '../../components/util/ErrorBoundary';
11import { DEV_API_FRANZ_WEBSITE } from '../../config'; 11import { DEV_API_FRANZ_WEBSITE } from '../../config';
12 12
13@inject('stores', 'actions')
14@observer
15class TeamScreen extends Component { 13class TeamScreen extends Component {
16 handleWebsiteLink(route) { 14 handleWebsiteLink(route) {
17 const { actions, stores } = this.props; 15 const { actions, stores } = this.props;
@@ -44,7 +42,7 @@ class TeamScreen extends Component {
44 } 42 }
45} 43}
46 44
47TeamScreen.wrappedComponent.propTypes = { 45TeamScreen.propTypes = {
48 stores: PropTypes.shape({ 46 stores: PropTypes.shape({
49 user: PropTypes.instanceOf(UserStore).isRequired, 47 user: PropTypes.instanceOf(UserStore).isRequired,
50 app: PropTypes.instanceOf(AppStore).isRequired, 48 app: PropTypes.instanceOf(AppStore).isRequired,
@@ -56,4 +54,4 @@ TeamScreen.wrappedComponent.propTypes = {
56 }).isRequired, 54 }).isRequired,
57}; 55};
58 56
59export default TeamScreen; 57export default inject('stores', 'actions')(observer(TeamScreen));
diff --git a/src/electron/ipc-api/download.ts b/src/electron/ipc-api/download.ts
index af15b157e..95f211e52 100644
--- a/src/electron/ipc-api/download.ts
+++ b/src/electron/ipc-api/download.ts
@@ -48,7 +48,7 @@ export default (params: { mainWindow: BrowserWindow }) => {
48 48
49 debug('File blob saved to', saveDialog.filePath); 49 debug('File blob saved to', saveDialog.filePath);
50 } catch (error) { 50 } catch (error) {
51 console.log(error); 51 console.error(error);
52 } 52 }
53 } 53 }
54 } catch (error) { 54 } catch (error) {
diff --git a/src/features/basicAuth/Component.js b/src/features/basicAuth/Component.js
index 652233e55..89b0a4e72 100644
--- a/src/features/basicAuth/Component.js
+++ b/src/features/basicAuth/Component.js
@@ -22,8 +22,6 @@ const messages = defineMessages({
22 }, 22 },
23}); 23});
24 24
25@injectSheet(styles)
26@observer
27class BasicAuthModal extends Component { 25class BasicAuthModal extends Component {
28 static propTypes = { 26 static propTypes = {
29 classes: PropTypes.object.isRequired, 27 classes: PropTypes.object.isRequired,
@@ -97,4 +95,6 @@ class BasicAuthModal extends Component {
97 ); 95 );
98 } 96 }
99} 97}
100export default injectIntl(BasicAuthModal); 98export default injectIntl(
99 injectSheet(styles, { injectTheme: true })(observer(BasicAuthModal)),
100);
diff --git a/src/features/nightlyBuilds/Component.js b/src/features/nightlyBuilds/Component.js
index 64f782c8f..0966480d0 100644
--- a/src/features/nightlyBuilds/Component.js
+++ b/src/features/nightlyBuilds/Component.js
@@ -29,7 +29,7 @@ const messages = defineMessages({
29 }, 29 },
30}); 30});
31 31
32const styles = () => ({ 32const styles = {
33 info: { 33 info: {
34 paddingTop: 20, 34 paddingTop: 20,
35 paddingBottom: 20, 35 paddingBottom: 20,
@@ -51,11 +51,8 @@ const styles = () => ({
51 background: '#c45a5a !important', 51 background: '#c45a5a !important',
52 color: '#ffffff !important', 52 color: '#ffffff !important',
53 }, 53 },
54}); 54};
55 55
56@injectSheet(styles)
57@inject('stores', 'actions')
58@observer
59class NightlyBuildsModal extends Component { 56class NightlyBuildsModal extends Component {
60 close() { 57 close() {
61 ModalState.isModalVisible = false; 58 ModalState.isModalVisible = false;
@@ -119,7 +116,7 @@ class NightlyBuildsModal extends Component {
119 } 116 }
120} 117}
121 118
122NightlyBuildsModal.wrappedComponent.propTypes = { 119NightlyBuildsModal.propTypes = {
123 stores: PropTypes.shape({ 120 stores: PropTypes.shape({
124 settings: PropTypes.instanceOf(SettingsStore).isRequired, 121 settings: PropTypes.instanceOf(SettingsStore).isRequired,
125 }).isRequired, 122 }).isRequired,
@@ -131,4 +128,8 @@ NightlyBuildsModal.wrappedComponent.propTypes = {
131 classes: PropTypes.object.isRequired, 128 classes: PropTypes.object.isRequired,
132}; 129};
133 130
134export default injectIntl(NightlyBuildsModal); 131export default injectIntl(
132 injectSheet(styles)(
133 inject('stores', 'actions')(observer(NightlyBuildsModal)),
134 ),
135);
diff --git a/src/features/publishDebugInfo/Component.js b/src/features/publishDebugInfo/Component.js
index 30bdc13b6..953fc7c21 100644
--- a/src/features/publishDebugInfo/Component.js
+++ b/src/features/publishDebugInfo/Component.js
@@ -85,14 +85,7 @@ const styles = theme => ({
85 }, 85 },
86}); 86});
87 87
88@injectSheet(styles)
89@inject('stores', 'actions')
90@observer
91class PublishDebugLogModal extends Component { 88class PublishDebugLogModal extends Component {
92 static propTypes = {
93 classes: PropTypes.object.isRequired,
94 };
95
96 state = { 89 state = {
97 log: null, 90 log: null,
98 error: false, 91 error: false,
@@ -221,13 +214,18 @@ class PublishDebugLogModal extends Component {
221 } 214 }
222} 215}
223 216
224PublishDebugLogModal.wrappedComponent.propTypes = { 217PublishDebugLogModal.propTypes = {
225 stores: PropTypes.shape({ 218 stores: PropTypes.shape({
226 app: PropTypes.instanceOf(AppStore).isRequired, 219 app: PropTypes.instanceOf(AppStore).isRequired,
227 }).isRequired, 220 }).isRequired,
228 actions: PropTypes.shape({ 221 actions: PropTypes.shape({
229 service: PropTypes.instanceOf(ServicesStore).isRequired, 222 service: PropTypes.instanceOf(ServicesStore).isRequired,
230 }).isRequired, 223 }).isRequired,
224 classes: PropTypes.object.isRequired,
231}; 225};
232 226
233export default injectIntl(PublishDebugLogModal); 227export default injectIntl(
228 injectSheet(styles, { injectTheme: true })(
229 inject('stores', 'actions')(observer(PublishDebugLogModal)),
230 ),
231);
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js
index 75587cc1d..7f9424b6d 100644
--- a/src/features/quickSwitch/Component.js
+++ b/src/features/quickSwitch/Component.js
@@ -81,9 +81,6 @@ const styles = theme => ({
81 }, 81 },
82}); 82});
83 83
84@injectSheet(styles)
85@inject('stores', 'actions')
86@observer
87class QuickSwitchModal extends Component { 84class QuickSwitchModal extends Component {
88 static propTypes = { 85 static propTypes = {
89 classes: PropTypes.object.isRequired, 86 classes: PropTypes.object.isRequired,
@@ -349,13 +346,18 @@ class QuickSwitchModal extends Component {
349 } 346 }
350} 347}
351 348
352QuickSwitchModal.wrappedComponent.propTypes = { 349QuickSwitchModal.propTypes = {
353 stores: PropTypes.shape({ 350 stores: PropTypes.shape({
354 services: PropTypes.instanceOf(ServicesStore).isRequired, 351 services: PropTypes.instanceOf(ServicesStore).isRequired,
355 }).isRequired, 352 }).isRequired,
356 actions: PropTypes.shape({ 353 actions: PropTypes.shape({
357 service: PropTypes.instanceOf(ServicesStore).isRequired, 354 service: PropTypes.instanceOf(ServicesStore).isRequired,
358 }).isRequired, 355 }).isRequired,
356 classes: PropTypes.object.isRequired,
359}; 357};
360 358
361export default injectIntl(QuickSwitchModal); 359export default injectIntl(
360 injectSheet(styles, { injectTheme: true })(
361 inject('stores', 'actions')(observer(QuickSwitchModal)),
362 ),
363);
diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js
index 1d423544b..780864b91 100644
--- a/src/features/todos/components/TodosWebview.js
+++ b/src/features/todos/components/TodosWebview.js
@@ -48,8 +48,6 @@ const styles = theme => ({
48 }, 48 },
49}); 49});
50 50
51@injectSheet(styles)
52@observer
53class TodosWebview extends Component { 51class TodosWebview extends Component {
54 static propTypes = { 52 static propTypes = {
55 classes: PropTypes.object.isRequired, 53 classes: PropTypes.object.isRequired,
@@ -128,7 +126,6 @@ class TodosWebview extends Component {
128 const { handleClientMessage } = this.props; 126 const { handleClientMessage } = this.props;
129 if (!this.webview) return; 127 if (!this.webview) return;
130 this.webview.addEventListener('ipc-message', e => { 128 this.webview.addEventListener('ipc-message', e => {
131 // console.log(e);
132 handleClientMessage({ channel: e.channel, message: e.args[0] }); 129 handleClientMessage({ channel: e.channel, message: e.args[0] });
133 }); 130 });
134 } 131 }
@@ -201,4 +198,6 @@ class TodosWebview extends Component {
201 } 198 }
202} 199}
203 200
204export default TodosWebview; 201export default injectSheet(styles, { injectTheme: true })(
202 observer(TodosWebview),
203);
diff --git a/src/features/todos/containers/TodosScreen.js b/src/features/todos/containers/TodosScreen.js
index 536810d2d..b97506767 100644
--- a/src/features/todos/containers/TodosScreen.js
+++ b/src/features/todos/containers/TodosScreen.js
@@ -10,8 +10,6 @@ import { TODOS_MIN_WIDTH } from '../../../config';
10import { todoActions } from '../actions'; 10import { todoActions } from '../actions';
11import ServicesStore from '../../../stores/ServicesStore'; 11import ServicesStore from '../../../stores/ServicesStore';
12 12
13@inject('stores', 'actions')
14@observer
15class TodosScreen extends Component { 13class TodosScreen extends Component {
16 render() { 14 render() {
17 if ( 15 if (
@@ -44,9 +42,9 @@ class TodosScreen extends Component {
44 } 42 }
45} 43}
46 44
47export default TodosScreen; 45export default inject('stores', 'actions')(observer(TodosScreen));
48 46
49TodosScreen.wrappedComponent.propTypes = { 47TodosScreen.propTypes = {
50 stores: PropTypes.shape({ 48 stores: PropTypes.shape({
51 features: PropTypes.instanceOf(FeaturesStore).isRequired, 49 features: PropTypes.instanceOf(FeaturesStore).isRequired,
52 services: PropTypes.instanceOf(ServicesStore).isRequired, 50 services: PropTypes.instanceOf(ServicesStore).isRequired,
diff --git a/src/features/todos/store.js b/src/features/todos/store.js
index d158ed480..2bf4e8fab 100644
--- a/src/features/todos/store.js
+++ b/src/features/todos/store.js
@@ -187,10 +187,6 @@ export default class TodoStore extends FeatureStore {
187 break; 187 break;
188 default: 188 default:
189 debug('Other message received', channel, message); 189 debug('Other message received', channel, message);
190 console.log(
191 'this.stores.services.isTodosServiceAdded',
192 this.stores.services.isTodosServiceAdded,
193 );
194 if (this.stores.services.isTodosServiceAdded) { 190 if (this.stores.services.isTodosServiceAdded) {
195 this.actions.service.handleIPCMessage({ 191 this.actions.service.handleIPCMessage({
196 serviceId: this.stores.services.isTodosServiceAdded.id, 192 serviceId: this.stores.services.isTodosServiceAdded.id,
diff --git a/src/features/webControls/components/WebControls.js b/src/features/webControls/components/WebControls.js
index 5650d4cd1..99d78eda0 100644
--- a/src/features/webControls/components/WebControls.js
+++ b/src/features/webControls/components/WebControls.js
@@ -94,8 +94,6 @@ const styles = theme => ({
94 }, 94 },
95}); 95});
96 96
97@injectSheet(styles)
98@observer
99class WebControls extends Component { 97class WebControls extends Component {
100 static propTypes = { 98 static propTypes = {
101 classes: PropTypes.object.isRequired, 99 classes: PropTypes.object.isRequired,
@@ -238,4 +236,6 @@ class WebControls extends Component {
238 } 236 }
239} 237}
240 238
241export default injectIntl(WebControls); 239export default injectIntl(
240 injectSheet(styles, { injectTheme: true })(observer(WebControls)),
241);
diff --git a/src/features/webControls/containers/WebControlsScreen.js b/src/features/webControls/containers/WebControlsScreen.js
index 6fba5db86..3dac6997c 100644
--- a/src/features/webControls/containers/WebControlsScreen.js
+++ b/src/features/webControls/containers/WebControlsScreen.js
@@ -16,8 +16,6 @@ const URL_EVENTS = [
16 'did-navigate-in-page', 16 'did-navigate-in-page',
17]; 17];
18 18
19@inject('stores', 'actions')
20@observer
21class WebControlsScreen extends Component { 19class WebControlsScreen extends Component {
22 @observable url = ''; 20 @observable url = '';
23 21
@@ -125,9 +123,9 @@ class WebControlsScreen extends Component {
125 } 123 }
126} 124}
127 125
128export default WebControlsScreen; 126export default inject('stores', 'actions')(observer(WebControlsScreen));
129 127
130WebControlsScreen.wrappedComponent.propTypes = { 128WebControlsScreen.propTypes = {
131 service: PropTypes.instanceOf(Service).isRequired, 129 service: PropTypes.instanceOf(Service).isRequired,
132 stores: PropTypes.shape({ 130 stores: PropTypes.shape({
133 services: PropTypes.instanceOf(ServicesStore).isRequired, 131 services: PropTypes.instanceOf(ServicesStore).isRequired,
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.js b/src/features/workspaces/components/CreateWorkspaceForm.js
index 75f6d9f4a..54475eccb 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.js
+++ b/src/features/workspaces/components/CreateWorkspaceForm.js
@@ -21,7 +21,7 @@ const messages = defineMessages({
21 }, 21 },
22}); 22});
23 23
24const styles = () => ({ 24const styles = {
25 form: { 25 form: {
26 display: 'flex', 26 display: 'flex',
27 }, 27 },
@@ -32,10 +32,8 @@ const styles = () => ({
32 submitButton: { 32 submitButton: {
33 height: 'inherit', 33 height: 'inherit',
34 }, 34 },
35}); 35};
36 36
37@injectSheet(styles)
38@observer
39class CreateWorkspaceForm extends Component { 37class CreateWorkspaceForm extends Component {
40 static propTypes = { 38 static propTypes = {
41 classes: PropTypes.object.isRequired, 39 classes: PropTypes.object.isRequired,
@@ -94,4 +92,6 @@ class CreateWorkspaceForm extends Component {
94 } 92 }
95} 93}
96 94
97export default injectIntl(CreateWorkspaceForm); 95export default injectIntl(
96 injectSheet(styles, { injectTheme: true })(observer(CreateWorkspaceForm)),
97);
diff --git a/src/features/workspaces/components/EditWorkspaceForm.js b/src/features/workspaces/components/EditWorkspaceForm.js
index fa3ea4289..e8bd9d60c 100644
--- a/src/features/workspaces/components/EditWorkspaceForm.js
+++ b/src/features/workspaces/components/EditWorkspaceForm.js
@@ -58,7 +58,7 @@ const messages = defineMessages({
58 }, 58 },
59}); 59});
60 60
61const styles = () => ({ 61const styles = {
62 nameInput: { 62 nameInput: {
63 height: 'auto', 63 height: 'auto',
64 }, 64 },
@@ -68,10 +68,8 @@ const styles = () => ({
68 keepLoadedInfo: { 68 keepLoadedInfo: {
69 marginBottom: '2rem !important', 69 marginBottom: '2rem !important',
70 }, 70 },
71}); 71};
72 72
73@injectSheet(styles)
74@observer
75class EditWorkspaceForm extends Component { 73class EditWorkspaceForm extends Component {
76 static propTypes = { 74 static propTypes = {
77 classes: PropTypes.object.isRequired, 75 classes: PropTypes.object.isRequired,
@@ -230,4 +228,6 @@ class EditWorkspaceForm extends Component {
230 } 228 }
231} 229}
232 230
233export default injectIntl(EditWorkspaceForm); 231export default injectIntl(
232 injectSheet(styles, { injectTheme: true })(observer(EditWorkspaceForm)),
233);
diff --git a/src/features/workspaces/components/WorkspaceDrawer.js b/src/features/workspaces/components/WorkspaceDrawer.js
index d66e0f10d..4fd2b1153 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.js
+++ b/src/features/workspaces/components/WorkspaceDrawer.js
@@ -88,8 +88,6 @@ const styles = theme => ({
88 }, 88 },
89}); 89});
90 90
91@injectSheet(styles)
92@observer
93class WorkspaceDrawer extends Component { 91class WorkspaceDrawer extends Component {
94 static propTypes = { 92 static propTypes = {
95 classes: PropTypes.object.isRequired, 93 classes: PropTypes.object.isRequired,
@@ -175,4 +173,6 @@ class WorkspaceDrawer extends Component {
175 } 173 }
176} 174}
177 175
178export default injectIntl(WorkspaceDrawer); 176export default injectIntl(
177 injectSheet(styles, { injectTheme: true })(observer(WorkspaceDrawer)),
178);
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js
index d3c9fa767..22c0a39d9 100644
--- a/src/features/workspaces/components/WorkspaceDrawerItem.js
+++ b/src/features/workspaces/components/WorkspaceDrawerItem.js
@@ -65,8 +65,6 @@ const styles = theme => ({
65 }, 65 },
66}); 66});
67 67
68@injectSheet(styles)
69@observer
70class WorkspaceDrawerItem extends Component { 68class WorkspaceDrawerItem extends Component {
71 static propTypes = { 69 static propTypes = {
72 classes: PropTypes.object.isRequired, 70 classes: PropTypes.object.isRequired,
@@ -150,4 +148,6 @@ class WorkspaceDrawerItem extends Component {
150 } 148 }
151} 149}
152 150
153export default injectIntl(WorkspaceDrawerItem); 151export default injectIntl(
152 injectSheet(styles, { injectTheme: true })(observer(WorkspaceDrawerItem)),
153);
diff --git a/src/features/workspaces/components/WorkspaceItem.tsx b/src/features/workspaces/components/WorkspaceItem.tsx
index 6fb02d2f5..f46375c7a 100644
--- a/src/features/workspaces/components/WorkspaceItem.tsx
+++ b/src/features/workspaces/components/WorkspaceItem.tsx
@@ -22,8 +22,6 @@ type Props = {
22 onItemClick: (workspace) => void; 22 onItemClick: (workspace) => void;
23}; 23};
24 24
25@injectSheet(styles)
26@observer
27class WorkspaceItem extends Component<Props> { 25class WorkspaceItem extends Component<Props> {
28 static propTypes = { 26 static propTypes = {
29 classes: PropTypes.object.isRequired, 27 classes: PropTypes.object.isRequired,
@@ -42,4 +40,6 @@ class WorkspaceItem extends Component<Props> {
42 } 40 }
43} 41}
44 42
45export default WorkspaceItem; 43export default injectSheet(styles, { injectTheme: true })(
44 observer(WorkspaceItem),
45);
diff --git a/src/features/workspaces/components/WorkspaceServiceListItem.tsx b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
index 6e012eb1e..46fda0103 100644
--- a/src/features/workspaces/components/WorkspaceServiceListItem.tsx
+++ b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
@@ -36,8 +36,6 @@ type Props = {
36 service: any; 36 service: any;
37}; 37};
38 38
39@injectSheet(styles)
40@observer
41class WorkspaceServiceListItem extends Component<Props> { 39class WorkspaceServiceListItem extends Component<Props> {
42 render() { 40 render() {
43 const { classes, isInWorkspace, onToggle, service } = this.props; 41 const { classes, isInWorkspace, onToggle, service } = this.props;
@@ -63,4 +61,6 @@ class WorkspaceServiceListItem extends Component<Props> {
63 } 61 }
64} 62}
65 63
66export default WorkspaceServiceListItem; 64export default injectSheet(styles, { injectTheme: true })(
65 observer(WorkspaceServiceListItem),
66);
diff --git a/src/features/workspaces/components/WorkspaceSwitchingIndicator.js b/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
index ff4e9475a..b2e0adfe7 100644
--- a/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
+++ b/src/features/workspaces/components/WorkspaceSwitchingIndicator.js
@@ -53,8 +53,6 @@ const styles = theme => ({
53 }, 53 },
54}); 54});
55 55
56@injectSheet(styles)
57@observer
58class WorkspaceSwitchingIndicator extends Component { 56class WorkspaceSwitchingIndicator extends Component {
59 static propTypes = { 57 static propTypes = {
60 classes: PropTypes.object.isRequired, 58 classes: PropTypes.object.isRequired,
@@ -85,4 +83,8 @@ class WorkspaceSwitchingIndicator extends Component {
85 } 83 }
86} 84}
87 85
88export default injectIntl(WorkspaceSwitchingIndicator); 86export default injectIntl(
87 injectSheet(styles, { injectTheme: true })(
88 observer(WorkspaceSwitchingIndicator),
89 ),
90);
diff --git a/src/features/workspaces/components/WorkspacesDashboard.js b/src/features/workspaces/components/WorkspacesDashboard.js
index 1087580b1..9c2f65731 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.js
+++ b/src/features/workspaces/components/WorkspacesDashboard.js
@@ -49,7 +49,7 @@ const messages = defineMessages({
49 }, 49 },
50}); 50});
51 51
52const styles = () => ({ 52const styles = {
53 table: { 53 table: {
54 width: '100%', 54 width: '100%',
55 '& td': { 55 '& td': {
@@ -67,11 +67,8 @@ const styles = () => ({
67 margin: [-8, 0, 0, 20], 67 margin: [-8, 0, 0, 20],
68 alignSelf: 'center', 68 alignSelf: 'center',
69 }, 69 },
70}); 70};
71 71
72@inject('stores')
73@injectSheet(styles)
74@observer
75class WorkspacesDashboard extends Component { 72class WorkspacesDashboard extends Component {
76 static propTypes = { 73 static propTypes = {
77 classes: PropTypes.object.isRequired, 74 classes: PropTypes.object.isRequired,
@@ -190,9 +187,13 @@ class WorkspacesDashboard extends Component {
190 } 187 }
191} 188}
192 189
193export default injectIntl(WorkspacesDashboard); 190export default injectIntl(
191 inject('stores')(
192 injectSheet(styles, { injectTheme: true })(observer(WorkspacesDashboard)),
193 ),
194);
194 195
195WorkspacesDashboard.wrappedComponent.propTypes = { 196WorkspacesDashboard.propTypes = {
196 stores: PropTypes.shape({ 197 stores: PropTypes.shape({
197 ui: PropTypes.instanceOf(UIStore).isRequired, 198 ui: PropTypes.instanceOf(UIStore).isRequired,
198 }).isRequired, 199 }).isRequired,
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.tsx b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
index 8e8f8179d..0351ddafb 100644
--- a/src/features/workspaces/containers/EditWorkspaceScreen.tsx
+++ b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
@@ -17,8 +17,6 @@ type Props = {
17 }; 17 };
18}; 18};
19 19
20@inject('stores', 'actions')
21@observer
22class EditWorkspaceScreen extends Component<Props> { 20class EditWorkspaceScreen extends Component<Props> {
23 // @ts-expect-error Not all code paths return a value. 21 // @ts-expect-error Not all code paths return a value.
24 onDelete = () => { 22 onDelete = () => {
@@ -58,4 +56,4 @@ class EditWorkspaceScreen extends Component<Props> {
58 } 56 }
59} 57}
60 58
61export default EditWorkspaceScreen; 59export default inject('stores', 'actions')(observer(EditWorkspaceScreen));
diff --git a/src/features/workspaces/containers/WorkspacesScreen.tsx b/src/features/workspaces/containers/WorkspacesScreen.tsx
index a07e92439..33808b69d 100644
--- a/src/features/workspaces/containers/WorkspacesScreen.tsx
+++ b/src/features/workspaces/containers/WorkspacesScreen.tsx
@@ -17,8 +17,6 @@ type Props = {
17 }; 17 };
18}; 18};
19 19
20@inject('stores', 'actions')
21@observer
22class WorkspacesScreen extends Component<Props> { 20class WorkspacesScreen extends Component<Props> {
23 render() { 21 render() {
24 const { actions } = this.props; 22 const { actions } = this.props;
@@ -38,4 +36,4 @@ class WorkspacesScreen extends Component<Props> {
38 } 36 }
39} 37}
40 38
41export default WorkspacesScreen; 39export default inject('stores', 'actions')(observer(WorkspacesScreen));
diff --git a/src/lib/Form.ts b/src/lib/Form.ts
index 9b8321948..14ea82948 100644
--- a/src/lib/Form.ts
+++ b/src/lib/Form.ts
@@ -1,4 +1,5 @@
1import Form from 'mobx-react-form'; 1import Form from 'mobx-react-form';
2import vjf from 'mobx-react-form/lib/validators/VJF';
2 3
3export default class DefaultForm extends Form { 4export default class DefaultForm extends Form {
4 bindings() { 5 bindings() {
@@ -29,4 +30,10 @@ export default class DefaultForm extends Form {
29 // // }, 30 // // },
30 }; 31 };
31 } 32 }
33
34 plugins() {
35 return {
36 vjf: vjf(),
37 };
38 }
32} 39}
diff --git a/src/routes.tsx b/src/routes.tsx
index 569da06a7..192090737 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -36,8 +36,6 @@ type Props = {
36 history: any; 36 history: any;
37}; 37};
38 38
39@inject('stores', 'actions')
40@observer
41class Routes extends Component<Props> { 39class Routes extends Component<Props> {
42 render() { 40 render() {
43 const { locked } = this.props.stores.settings.app; 41 const { locked } = this.props.stores.settings.app;
@@ -94,4 +92,4 @@ class Routes extends Component<Props> {
94 } 92 }
95} 93}
96 94
97export default Routes; 95export default inject('stores', 'actions')(observer(Routes));
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 3d418c4c5..09ee8890a 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -799,8 +799,6 @@ export default class ServicesStore extends Store {
799 options.icon = '/assets/img/notification-badge.gif'; 799 options.icon = '/assets/img/notification-badge.gif';
800 } 800 }
801 801
802 console.log(title, options);
803
804 this.actions.app.notify({ 802 this.actions.app.notify({
805 notificationId: args[0].notificationId, 803 notificationId: args[0].notificationId,
806 title, 804 title,