diff options
Diffstat (limited to 'src/components/layout/AppLayout.js')
-rw-r--r-- | src/components/layout/AppLayout.js | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index b7f7722dd..b31c00f54 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -16,6 +16,7 @@ import ErrorBoundary from '../util/ErrorBoundary'; | |||
16 | import { isWindows } from '../../environment'; | 16 | import { isWindows } from '../../environment'; |
17 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; | 17 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; |
18 | import { workspaceStore } from '../../features/workspaces'; | 18 | import { workspaceStore } from '../../features/workspaces'; |
19 | import { announcementActions } from '../../features/announcements/actions'; | ||
19 | 20 | ||
20 | function createMarkup(HTMLString) { | 21 | function createMarkup(HTMLString) { |
21 | return { __html: HTMLString }; | 22 | return { __html: HTMLString }; |
@@ -71,6 +72,7 @@ class AppLayout extends Component { | |||
71 | // isOnline: PropTypes.bool.isRequired, | 72 | // isOnline: PropTypes.bool.isRequired, |
72 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, | 73 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, |
73 | appUpdateIsDownloaded: PropTypes.bool.isRequired, | 74 | appUpdateIsDownloaded: PropTypes.bool.isRequired, |
75 | nextAppReleaseVersion: PropTypes.string, | ||
74 | removeNewsItem: PropTypes.func.isRequired, | 76 | removeNewsItem: PropTypes.func.isRequired, |
75 | reloadServicesAfterUpdate: PropTypes.func.isRequired, | 77 | reloadServicesAfterUpdate: PropTypes.func.isRequired, |
76 | installAppUpdate: PropTypes.func.isRequired, | 78 | installAppUpdate: PropTypes.func.isRequired, |
@@ -84,6 +86,7 @@ class AppLayout extends Component { | |||
84 | 86 | ||
85 | static defaultProps = { | 87 | static defaultProps = { |
86 | children: [], | 88 | children: [], |
89 | nextAppReleaseVersion: null, | ||
87 | }; | 90 | }; |
88 | 91 | ||
89 | static contextTypes = { | 92 | static contextTypes = { |
@@ -102,6 +105,7 @@ class AppLayout extends Component { | |||
102 | news, | 105 | news, |
103 | showServicesUpdatedInfoBar, | 106 | showServicesUpdatedInfoBar, |
104 | appUpdateIsDownloaded, | 107 | appUpdateIsDownloaded, |
108 | nextAppReleaseVersion, | ||
105 | removeNewsItem, | 109 | removeNewsItem, |
106 | reloadServicesAfterUpdate, | 110 | reloadServicesAfterUpdate, |
107 | installAppUpdate, | 111 | installAppUpdate, |
@@ -178,19 +182,23 @@ class AppLayout extends Component { | |||
178 | <span className="mdi mdi-information" /> | 182 | <span className="mdi mdi-information" /> |
179 | {intl.formatMessage(messages.updateAvailable)} | 183 | {intl.formatMessage(messages.updateAvailable)} |
180 | {' '} | 184 | {' '} |
181 | <a href="https://meetfranz.com/changelog" target="_blank"> | 185 | <button |
186 | className="info-bar__inline-button" | ||
187 | type="button" | ||
188 | onClick={() => announcementActions.show({ targetVersion: nextAppReleaseVersion })} | ||
189 | > | ||
182 | <u>{intl.formatMessage(messages.changelog)}</u> | 190 | <u>{intl.formatMessage(messages.changelog)}</u> |
183 | </a> | 191 | </button> |
184 | </InfoBar> | 192 | </InfoBar> |
185 | )} | 193 | )} |
186 | {isDelayAppScreenVisible && (<DelayApp />)} | 194 | {isDelayAppScreenVisible && (<DelayApp />)} |
187 | <BasicAuth /> | 195 | <BasicAuth /> |
188 | <ShareFranz /> | 196 | <ShareFranz /> |
189 | {services} | 197 | {services} |
198 | {children} | ||
190 | </div> | 199 | </div> |
191 | </div> | 200 | </div> |
192 | </div> | 201 | </div> |
193 | {children} | ||
194 | </div> | 202 | </div> |
195 | </ErrorBoundary> | 203 | </ErrorBoundary> |
196 | ); | 204 | ); |