diff options
author | Ricardo Cino <ricardo@cino.io> | 2022-06-27 18:21:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-27 17:21:31 +0100 |
commit | 0bf13689d53bd493fb4d0a4213c1801013b5aa8a (patch) | |
tree | 2b5ae44e4f1aa73b49c011954ff1cb47e3959bad /src/containers/layout | |
parent | chore: recommend specific vscode extensions to setup development [skip ci] (#... (diff) | |
download | ferdium-app-0bf13689d53bd493fb4d0a4213c1801013b5aa8a.tar.gz ferdium-app-0bf13689d53bd493fb4d0a4213c1801013b5aa8a.tar.zst ferdium-app-0bf13689d53bd493fb4d0a4213c1801013b5aa8a.zip |
chore: transform containers/settings from js to tsx (#384)
Diffstat (limited to 'src/containers/layout')
-rw-r--r-- | src/containers/layout/AppLayoutContainer.tsx (renamed from src/containers/layout/AppLayoutContainer.js) | 65 |
1 files changed, 15 insertions, 50 deletions
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.tsx index 1021ab4fa..c6a9dfb0d 100644 --- a/src/containers/layout/AppLayoutContainer.js +++ b/src/containers/layout/AppLayoutContainer.tsx | |||
@@ -1,34 +1,22 @@ | |||
1 | import { Children, Component } from 'react'; | 1 | import { Children, Component, ReactElement, ReactNode } from 'react'; |
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
4 | import { ThemeProvider } from 'react-jss'; | 3 | import { ThemeProvider } from 'react-jss'; |
5 | 4 | ||
6 | import AppStore from '../../stores/AppStore'; | 5 | import { StoresProps } from 'src/@types/ferdium-components.types'; |
7 | import RecipesStore from '../../stores/RecipesStore'; | ||
8 | import ServicesStore from '../../stores/ServicesStore'; | ||
9 | import FeaturesStore from '../../stores/FeaturesStore'; | ||
10 | import UIStore from '../../stores/UIStore'; | ||
11 | import SettingsStore from '../../stores/SettingsStore'; | ||
12 | import UserStore from '../../stores/UserStore'; | ||
13 | import RequestStore from '../../stores/RequestStore'; | ||
14 | import GlobalErrorStore from '../../stores/GlobalErrorStore'; | ||
15 | |||
16 | import { oneOrManyChildElements } from '../../prop-types'; | ||
17 | import AppLayout from '../../components/layout/AppLayout'; | 6 | import AppLayout from '../../components/layout/AppLayout'; |
18 | import Sidebar from '../../components/layout/Sidebar'; | 7 | import Sidebar from '../../components/layout/Sidebar'; |
19 | import Services from '../../components/services/content/Services'; | 8 | import Services from '../../components/services/content/Services'; |
20 | import AppLoader from '../../components/ui/AppLoader'; | 9 | import AppLoader from '../../components/ui/AppLoader'; |
21 | 10 | ||
22 | import { workspaceActions } from '../../features/workspaces/actions'; | ||
23 | import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawer'; | 11 | import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawer'; |
24 | import { workspaceStore } from '../../features/workspaces'; | 12 | import { workspaceStore } from '../../features/workspaces'; |
25 | 13 | ||
26 | class AppLayoutContainer extends Component { | 14 | interface AppLayoutContainerProps extends StoresProps { |
27 | static defaultProps = { | 15 | children: ReactNode; |
28 | children: null, | 16 | } |
29 | }; | ||
30 | 17 | ||
31 | render() { | 18 | class AppLayoutContainer extends Component<AppLayoutContainerProps> { |
19 | render(): ReactElement { | ||
32 | const { | 20 | const { |
33 | app, | 21 | app, |
34 | features, | 22 | features, |
@@ -38,7 +26,7 @@ class AppLayoutContainer extends Component { | |||
38 | globalError, | 26 | globalError, |
39 | requests, | 27 | requests, |
40 | user, | 28 | user, |
41 | router | 29 | router, |
42 | } = this.props.stores; | 30 | } = this.props.stores; |
43 | 31 | ||
44 | /* HOTFIX for: | 32 | /* HOTFIX for: |
@@ -69,7 +57,8 @@ class AppLayoutContainer extends Component { | |||
69 | 57 | ||
70 | const { retryRequiredRequests } = this.props.actions.requests; | 58 | const { retryRequiredRequests } = this.props.actions.requests; |
71 | 59 | ||
72 | const { installUpdate, toggleMuteApp, toggleCollapseMenu } = this.props.actions.app; | 60 | const { installUpdate, toggleMuteApp, toggleCollapseMenu } = |
61 | this.props.actions.app; | ||
73 | 62 | ||
74 | const { openSettings, closeSettings } = this.props.actions.ui; | 63 | const { openSettings, closeSettings } = this.props.actions.ui; |
75 | 64 | ||
@@ -85,14 +74,10 @@ class AppLayoutContainer extends Component { | |||
85 | 74 | ||
86 | const isLoadingSettings = !settings.loaded; | 75 | const isLoadingSettings = !settings.loaded; |
87 | 76 | ||
88 | if ( | 77 | if (isLoadingSettings || isLoadingFeatures || isLoadingServices) { |
89 | isLoadingSettings || | ||
90 | isLoadingFeatures || | ||
91 | isLoadingServices | ||
92 | ) { | ||
93 | return ( | 78 | return ( |
94 | <ThemeProvider theme={ui.theme}> | 79 | <ThemeProvider theme={ui.theme}> |
95 | <AppLoader /> | 80 | <AppLoader theme={ui.theme} /> |
96 | </ThemeProvider> | 81 | </ThemeProvider> |
97 | ); | 82 | ); |
98 | } | 83 | } |
@@ -127,7 +112,9 @@ class AppLayoutContainer extends Component { | |||
127 | wakeUpService={awake} | 112 | wakeUpService={awake} |
128 | toggleMuteApp={toggleMuteApp} | 113 | toggleMuteApp={toggleMuteApp} |
129 | toggleCollapseMenu={toggleCollapseMenu} | 114 | toggleCollapseMenu={toggleCollapseMenu} |
130 | toggleWorkspaceDrawer={workspaceActions.toggleWorkspaceDrawer} | 115 | toggleWorkspaceDrawer={ |
116 | this.props.actions.workspaces.toggleWorkspaceDrawer | ||
117 | } | ||
131 | isWorkspaceDrawerOpen={workspaceStore.isWorkspaceDrawerOpen} | 118 | isWorkspaceDrawerOpen={workspaceStore.isWorkspaceDrawerOpen} |
132 | showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} | 119 | showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} |
133 | showMessageBadgeWhenMutedSetting={ | 120 | showMessageBadgeWhenMutedSetting={ |
@@ -182,26 +169,4 @@ class AppLayoutContainer extends Component { | |||
182 | } | 169 | } |
183 | } | 170 | } |
184 | 171 | ||
185 | AppLayoutContainer.propTypes = { | ||
186 | stores: PropTypes.shape({ | ||
187 | services: PropTypes.instanceOf(ServicesStore).isRequired, | ||
188 | features: PropTypes.instanceOf(FeaturesStore).isRequired, | ||
189 | recipes: PropTypes.instanceOf(RecipesStore).isRequired, | ||
190 | app: PropTypes.instanceOf(AppStore).isRequired, | ||
191 | ui: PropTypes.instanceOf(UIStore).isRequired, | ||
192 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
193 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
194 | requests: PropTypes.instanceOf(RequestStore).isRequired, | ||
195 | globalError: PropTypes.instanceOf(GlobalErrorStore).isRequired, | ||
196 | }).isRequired, | ||
197 | actions: PropTypes.shape({ | ||
198 | service: PropTypes.instanceOf(ServicesStore).isRequired, | ||
199 | ui: PropTypes.instanceOf(UIStore).isRequired, | ||
200 | app: PropTypes.instanceOf(AppStore).isRequired, | ||
201 | requests: PropTypes.instanceOf(RequestStore).isRequired, | ||
202 | }).isRequired, | ||
203 | // eslint-disable-next-line react/require-default-props | ||
204 | children: oneOrManyChildElements, | ||
205 | }; | ||
206 | |||
207 | export default inject('stores', 'actions')(observer(AppLayoutContainer)); | 172 | export default inject('stores', 'actions')(observer(AppLayoutContainer)); |