summaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-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
71 files changed, 180 insertions, 225 deletions
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);