diff options
author | Stefan Malzner <stefan@adlk.io> | 2019-04-13 20:58:37 +0200 |
---|---|---|
committer | Stefan Malzner <stefan@adlk.io> | 2019-04-13 20:58:37 +0200 |
commit | 8e623e84cf21068561217a509c0761d524dfbc29 (patch) | |
tree | a83f307c3ce087169e3a1d55418fa78a71b7b4dc /src/components | |
parent | Use store reactions (diff) | |
parent | Merge branch 'feature/announcements' into develop (diff) | |
download | ferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.tar.gz ferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.tar.zst ferdium-app-8e623e84cf21068561217a509c0761d524dfbc29.zip |
Merge branch 'develop' into chore/streamline-dashboard
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/layout/AppLayout.js | 16 | ||||
-rw-r--r-- | src/components/settings/settings/EditSettingsForm.js | 8 |
2 files changed, 22 insertions, 2 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index b7f7722dd..d5febfaf4 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -14,8 +14,10 @@ import ErrorBoundary from '../util/ErrorBoundary'; | |||
14 | // import globalMessages from '../../i18n/globalMessages'; | 14 | // import globalMessages from '../../i18n/globalMessages'; |
15 | 15 | ||
16 | import { isWindows } from '../../environment'; | 16 | import { isWindows } from '../../environment'; |
17 | import AnnouncementScreen from '../../features/announcements/components/AnnouncementScreen'; | ||
17 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; | 18 | import WorkspaceSwitchingIndicator from '../../features/workspaces/components/WorkspaceSwitchingIndicator'; |
18 | import { workspaceStore } from '../../features/workspaces'; | 19 | import { workspaceStore } from '../../features/workspaces'; |
20 | import { announcementActions } from '../../features/announcements/actions'; | ||
19 | 21 | ||
20 | function createMarkup(HTMLString) { | 22 | function createMarkup(HTMLString) { |
21 | return { __html: HTMLString }; | 23 | return { __html: HTMLString }; |
@@ -71,6 +73,7 @@ class AppLayout extends Component { | |||
71 | // isOnline: PropTypes.bool.isRequired, | 73 | // isOnline: PropTypes.bool.isRequired, |
72 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, | 74 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, |
73 | appUpdateIsDownloaded: PropTypes.bool.isRequired, | 75 | appUpdateIsDownloaded: PropTypes.bool.isRequired, |
76 | nextAppReleaseVersion: PropTypes.string, | ||
74 | removeNewsItem: PropTypes.func.isRequired, | 77 | removeNewsItem: PropTypes.func.isRequired, |
75 | reloadServicesAfterUpdate: PropTypes.func.isRequired, | 78 | reloadServicesAfterUpdate: PropTypes.func.isRequired, |
76 | installAppUpdate: PropTypes.func.isRequired, | 79 | installAppUpdate: PropTypes.func.isRequired, |
@@ -80,10 +83,12 @@ class AppLayout extends Component { | |||
80 | areRequiredRequestsLoading: PropTypes.bool.isRequired, | 83 | areRequiredRequestsLoading: PropTypes.bool.isRequired, |
81 | darkMode: PropTypes.bool.isRequired, | 84 | darkMode: PropTypes.bool.isRequired, |
82 | isDelayAppScreenVisible: PropTypes.bool.isRequired, | 85 | isDelayAppScreenVisible: PropTypes.bool.isRequired, |
86 | isAnnouncementVisible: PropTypes.bool.isRequired, | ||
83 | }; | 87 | }; |
84 | 88 | ||
85 | static defaultProps = { | 89 | static defaultProps = { |
86 | children: [], | 90 | children: [], |
91 | nextAppReleaseVersion: null, | ||
87 | }; | 92 | }; |
88 | 93 | ||
89 | static contextTypes = { | 94 | static contextTypes = { |
@@ -102,6 +107,7 @@ class AppLayout extends Component { | |||
102 | news, | 107 | news, |
103 | showServicesUpdatedInfoBar, | 108 | showServicesUpdatedInfoBar, |
104 | appUpdateIsDownloaded, | 109 | appUpdateIsDownloaded, |
110 | nextAppReleaseVersion, | ||
105 | removeNewsItem, | 111 | removeNewsItem, |
106 | reloadServicesAfterUpdate, | 112 | reloadServicesAfterUpdate, |
107 | installAppUpdate, | 113 | installAppUpdate, |
@@ -111,6 +117,7 @@ class AppLayout extends Component { | |||
111 | areRequiredRequestsLoading, | 117 | areRequiredRequestsLoading, |
112 | darkMode, | 118 | darkMode, |
113 | isDelayAppScreenVisible, | 119 | isDelayAppScreenVisible, |
120 | isAnnouncementVisible, | ||
114 | } = this.props; | 121 | } = this.props; |
115 | 122 | ||
116 | const { intl } = this.context; | 123 | const { intl } = this.context; |
@@ -178,14 +185,19 @@ class AppLayout extends Component { | |||
178 | <span className="mdi mdi-information" /> | 185 | <span className="mdi mdi-information" /> |
179 | {intl.formatMessage(messages.updateAvailable)} | 186 | {intl.formatMessage(messages.updateAvailable)} |
180 | {' '} | 187 | {' '} |
181 | <a href="https://meetfranz.com/changelog" target="_blank"> | 188 | <button |
189 | className="info-bar__inline-button" | ||
190 | type="button" | ||
191 | onClick={() => announcementActions.show({ targetVersion: nextAppReleaseVersion })} | ||
192 | > | ||
182 | <u>{intl.formatMessage(messages.changelog)}</u> | 193 | <u>{intl.formatMessage(messages.changelog)}</u> |
183 | </a> | 194 | </button> |
184 | </InfoBar> | 195 | </InfoBar> |
185 | )} | 196 | )} |
186 | {isDelayAppScreenVisible && (<DelayApp />)} | 197 | {isDelayAppScreenVisible && (<DelayApp />)} |
187 | <BasicAuth /> | 198 | <BasicAuth /> |
188 | <ShareFranz /> | 199 | <ShareFranz /> |
200 | {isAnnouncementVisible && (<AnnouncementScreen />)} | ||
189 | {services} | 201 | {services} |
190 | </div> | 202 | </div> |
191 | </div> | 203 | </div> |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 8429d0ecb..efd453356 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -81,6 +81,10 @@ const messages = defineMessages({ | |||
81 | id: 'settings.app.restartRequired', | 81 | id: 'settings.app.restartRequired', |
82 | defaultMessage: '!!!Changes require restart', | 82 | defaultMessage: '!!!Changes require restart', |
83 | }, | 83 | }, |
84 | languageDisclaimer: { | ||
85 | id: 'settings.app.languageDisclaimer', | ||
86 | defaultMessage: '!!!Official translations are English & German. All other languages are community based translations.', | ||
87 | }, | ||
84 | }); | 88 | }); |
85 | 89 | ||
86 | export default @observer class EditSettingsForm extends Component { | 90 | export default @observer class EditSettingsForm extends Component { |
@@ -239,6 +243,10 @@ export default @observer class EditSettingsForm extends Component { | |||
239 | {intl.formatMessage(messages.currentVersion)} | 243 | {intl.formatMessage(messages.currentVersion)} |
240 | {' '} | 244 | {' '} |
241 | {remote.app.getVersion()} | 245 | {remote.app.getVersion()} |
246 | <p className="settings__message"> | ||
247 | <span className="mdi mdi-information" /> | ||
248 | {intl.formatMessage(messages.languageDisclaimer)} | ||
249 | </p> | ||
242 | </form> | 250 | </form> |
243 | </div> | 251 | </div> |
244 | </div> | 252 | </div> |