diff options
Diffstat (limited to 'src/containers/layout/AppLayoutContainer.js')
-rw-r--r-- | src/containers/layout/AppLayoutContainer.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js index 749912c59..d2891a6a4 100644 --- a/src/containers/layout/AppLayoutContainer.js +++ b/src/containers/layout/AppLayoutContainer.js | |||
@@ -20,6 +20,10 @@ import Services from '../../components/services/content/Services'; | |||
20 | import AppLoader from '../../components/ui/AppLoader'; | 20 | import AppLoader from '../../components/ui/AppLoader'; |
21 | 21 | ||
22 | import { state as delayAppState } from '../../features/delayApp'; | 22 | import { state as delayAppState } from '../../features/delayApp'; |
23 | import { workspaceActions } from '../../features/workspaces/actions'; | ||
24 | import WorkspaceDrawer from '../../features/workspaces/components/WorkspaceDrawer'; | ||
25 | import { workspaceStore } from '../../features/workspaces'; | ||
26 | import { announcementsStore } from '../../features/announcements'; | ||
23 | 27 | ||
24 | export default @inject('stores', 'actions') @observer class AppLayoutContainer extends Component { | 28 | export default @inject('stores', 'actions') @observer class AppLayoutContainer extends Component { |
25 | static defaultProps = { | 29 | static defaultProps = { |
@@ -42,6 +46,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
42 | setActive, | 46 | setActive, |
43 | handleIPCMessage, | 47 | handleIPCMessage, |
44 | setWebviewReference, | 48 | setWebviewReference, |
49 | detachService, | ||
45 | openWindow, | 50 | openWindow, |
46 | reorder, | 51 | reorder, |
47 | reload, | 52 | reload, |
@@ -81,6 +86,15 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
81 | ); | 86 | ); |
82 | } | 87 | } |
83 | 88 | ||
89 | const workspacesDrawer = ( | ||
90 | <WorkspaceDrawer | ||
91 | getServicesForWorkspace={workspace => ( | ||
92 | workspace ? workspaceStore.getWorkspaceServices(workspace).map(s => s.name) : services.all.map(s => s.name) | ||
93 | )} | ||
94 | onUpgradeAccountClick={() => openSettings({ path: 'user' })} | ||
95 | /> | ||
96 | ); | ||
97 | |||
84 | const sidebar = ( | 98 | const sidebar = ( |
85 | <Sidebar | 99 | <Sidebar |
86 | services={services.allDisplayed} | 100 | services={services.allDisplayed} |
@@ -95,6 +109,8 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
95 | deleteService={deleteService} | 109 | deleteService={deleteService} |
96 | updateService={updateService} | 110 | updateService={updateService} |
97 | toggleMuteApp={toggleMuteApp} | 111 | toggleMuteApp={toggleMuteApp} |
112 | toggleWorkspaceDrawer={workspaceActions.toggleWorkspaceDrawer} | ||
113 | isWorkspaceDrawerOpen={workspaceStore.isWorkspaceDrawerOpen} | ||
98 | showMessageBadgeWhenMutedSetting={settings.all.app.showMessageBadgeWhenMuted} | 114 | showMessageBadgeWhenMutedSetting={settings.all.app.showMessageBadgeWhenMuted} |
99 | showMessageBadgesEvenWhenMuted={ui.showMessageBadgesEvenWhenMuted} | 115 | showMessageBadgesEvenWhenMuted={ui.showMessageBadgesEvenWhenMuted} |
100 | /> | 116 | /> |
@@ -105,6 +121,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
105 | services={services.allDisplayedUnordered} | 121 | services={services.allDisplayedUnordered} |
106 | handleIPCMessage={handleIPCMessage} | 122 | handleIPCMessage={handleIPCMessage} |
107 | setWebviewReference={setWebviewReference} | 123 | setWebviewReference={setWebviewReference} |
124 | detachService={detachService} | ||
108 | openWindow={openWindow} | 125 | openWindow={openWindow} |
109 | reload={reload} | 126 | reload={reload} |
110 | openSettings={openSettings} | 127 | openSettings={openSettings} |
@@ -119,7 +136,9 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
119 | isOnline={app.isOnline} | 136 | isOnline={app.isOnline} |
120 | showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} | 137 | showServicesUpdatedInfoBar={ui.showServicesUpdatedInfoBar} |
121 | appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED} | 138 | appUpdateIsDownloaded={app.updateStatus === app.updateStatusTypes.DOWNLOADED} |
139 | nextAppReleaseVersion={app.nextAppReleaseVersion} | ||
122 | sidebar={sidebar} | 140 | sidebar={sidebar} |
141 | workspacesDrawer={workspacesDrawer} | ||
123 | services={servicesContainer} | 142 | services={servicesContainer} |
124 | news={news.latest} | 143 | news={news.latest} |
125 | removeNewsItem={hide} | 144 | removeNewsItem={hide} |
@@ -132,6 +151,7 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e | |||
132 | areRequiredRequestsLoading={requests.areRequiredRequestsLoading} | 151 | areRequiredRequestsLoading={requests.areRequiredRequestsLoading} |
133 | darkMode={settings.all.app.darkMode} | 152 | darkMode={settings.all.app.darkMode} |
134 | isDelayAppScreenVisible={delayAppState.isDelayAppScreenVisible} | 153 | isDelayAppScreenVisible={delayAppState.isDelayAppScreenVisible} |
154 | isAnnouncementVisible={announcementsStore.isAnnouncementVisible} | ||
135 | > | 155 | > |
136 | {React.Children.count(children) > 0 ? children : null} | 156 | {React.Children.count(children) > 0 ? children : null} |
137 | </AppLayout> | 157 | </AppLayout> |
@@ -160,6 +180,7 @@ AppLayoutContainer.wrappedComponent.propTypes = { | |||
160 | toggleAudio: PropTypes.func.isRequired, | 180 | toggleAudio: PropTypes.func.isRequired, |
161 | handleIPCMessage: PropTypes.func.isRequired, | 181 | handleIPCMessage: PropTypes.func.isRequired, |
162 | setWebviewReference: PropTypes.func.isRequired, | 182 | setWebviewReference: PropTypes.func.isRequired, |
183 | detachService: PropTypes.func.isRequired, | ||
163 | openWindow: PropTypes.func.isRequired, | 184 | openWindow: PropTypes.func.isRequired, |
164 | reloadUpdatedServices: PropTypes.func.isRequired, | 185 | reloadUpdatedServices: PropTypes.func.isRequired, |
165 | updateService: PropTypes.func.isRequired, | 186 | updateService: PropTypes.func.isRequired, |