diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/layout/AppLayout.js | 2 | ||||
-rw-r--r-- | src/components/settings/settings/EditSettingsForm.js | 12 | ||||
-rw-r--r-- | src/components/ui/ToggleRaw.js | 74 | ||||
-rw-r--r-- | src/config.js | 1 | ||||
-rw-r--r-- | src/containers/settings/EditSettingsScreen.js | 1 | ||||
-rw-r--r-- | src/electron/ipc-api/autoUpdate.js | 9 | ||||
-rw-r--r-- | src/features/nightlyBuilds/Component.js | 141 | ||||
-rw-r--r-- | src/features/nightlyBuilds/index.js | 45 | ||||
-rw-r--r-- | src/i18n/locales/defaultMessages.json | 197 | ||||
-rw-r--r-- | src/i18n/locales/en-US.json | 6 | ||||
-rw-r--r-- | src/i18n/locales/whitelist_en-US.json | 3 | ||||
-rw-r--r-- | src/i18n/messages/src/components/layout/AppLayout.json | 16 | ||||
-rw-r--r-- | src/i18n/messages/src/components/settings/settings/EditSettingsForm.json | 124 | ||||
-rw-r--r-- | src/i18n/messages/src/features/nightlyBuilds/Component.json | 54 | ||||
-rw-r--r-- | src/stores/FeaturesStore.js | 2 | ||||
-rw-r--r-- | src/styles/features.scss (renamed from src/styles/quick-switch.scss) | 2 | ||||
-rw-r--r-- | src/styles/main.scss | 2 |
17 files changed, 547 insertions, 144 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index 3b732e602..a60270a6f 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -9,6 +9,7 @@ import InfoBar from '../ui/InfoBar'; | |||
9 | import { Component as BasicAuth } from '../../features/basicAuth'; | 9 | import { Component as BasicAuth } from '../../features/basicAuth'; |
10 | import { Component as ShareFranz } from '../../features/shareFranz'; | 10 | import { Component as ShareFranz } from '../../features/shareFranz'; |
11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; | 11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; |
12 | import { Component as NightlyBuilds } from '../../features/nightlyBuilds'; | ||
12 | import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; | 13 | import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; |
13 | import ErrorBoundary from '../util/ErrorBoundary'; | 14 | import ErrorBoundary from '../util/ErrorBoundary'; |
14 | 15 | ||
@@ -197,6 +198,7 @@ class AppLayout extends Component { | |||
197 | <BasicAuth /> | 198 | <BasicAuth /> |
198 | <ShareFranz /> | 199 | <ShareFranz /> |
199 | <QuickSwitch /> | 200 | <QuickSwitch /> |
201 | <NightlyBuilds /> | ||
200 | <PublishDebugInfo /> | 202 | <PublishDebugInfo /> |
201 | {services} | 203 | {services} |
202 | {children} | 204 | {children} |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 031203308..b6698b8e2 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -7,6 +7,7 @@ import { defineMessages, intlShape } from 'react-intl'; | |||
7 | import Form from '../../../lib/Form'; | 7 | import Form from '../../../lib/Form'; |
8 | import Button from '../../ui/Button'; | 8 | import Button from '../../ui/Button'; |
9 | import Toggle from '../../ui/Toggle'; | 9 | import Toggle from '../../ui/Toggle'; |
10 | import ToggleRaw from '../../ui/ToggleRaw'; | ||
10 | import Select from '../../ui/Select'; | 11 | import Select from '../../ui/Select'; |
11 | import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer'; | 12 | import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer'; |
12 | import Input from '../../ui/Input'; | 13 | import Input from '../../ui/Input'; |
@@ -170,6 +171,7 @@ export default @observer class EditSettingsForm extends Component { | |||
170 | hibernationEnabled: PropTypes.bool.isRequired, | 171 | hibernationEnabled: PropTypes.bool.isRequired, |
171 | isDarkmodeEnabled: PropTypes.bool.isRequired, | 172 | isDarkmodeEnabled: PropTypes.bool.isRequired, |
172 | isAdaptableDarkModeEnabled: PropTypes.bool.isRequired, | 173 | isAdaptableDarkModeEnabled: PropTypes.bool.isRequired, |
174 | isNightlyEnabled: PropTypes.bool.isRequired, | ||
173 | openProcessManager: PropTypes.func.isRequired, | 175 | openProcessManager: PropTypes.func.isRequired, |
174 | }; | 176 | }; |
175 | 177 | ||
@@ -224,6 +226,7 @@ export default @observer class EditSettingsForm extends Component { | |||
224 | isDarkmodeEnabled, | 226 | isDarkmodeEnabled, |
225 | openProcessManager, | 227 | openProcessManager, |
226 | isTodosActivated, | 228 | isTodosActivated, |
229 | isNightlyEnabled, | ||
227 | } = this.props; | 230 | } = this.props; |
228 | const { intl } = this.context; | 231 | const { intl } = this.context; |
229 | 232 | ||
@@ -593,6 +596,15 @@ export default @observer class EditSettingsForm extends Component { | |||
593 | {automaticUpdates && ( | 596 | {automaticUpdates && ( |
594 | <div> | 597 | <div> |
595 | <Toggle field={form.$('beta')} /> | 598 | <Toggle field={form.$('beta')} /> |
599 | <ToggleRaw | ||
600 | field={{ | ||
601 | value: isNightlyEnabled, | ||
602 | id: 'nightly', | ||
603 | label: 'Include nightly versions', | ||
604 | name: 'Nightly builds', | ||
605 | }} | ||
606 | onChange={window.ferdi.features.nightlyBuilds.toggleFeature} | ||
607 | /> | ||
596 | {updateIsReadyToInstall ? ( | 608 | {updateIsReadyToInstall ? ( |
597 | <Button | 609 | <Button |
598 | label={intl.formatMessage(messages.buttonInstallUpdate)} | 610 | label={intl.formatMessage(messages.buttonInstallUpdate)} |
diff --git a/src/components/ui/ToggleRaw.js b/src/components/ui/ToggleRaw.js new file mode 100644 index 000000000..ee817356b --- /dev/null +++ b/src/components/ui/ToggleRaw.js | |||
@@ -0,0 +1,74 @@ | |||
1 | /** | ||
2 | * "Raw" Toggle - for usage without a MobX Form element | ||
3 | */ | ||
4 | import React, { Component } from 'react'; | ||
5 | import PropTypes from 'prop-types'; | ||
6 | import { observer } from 'mobx-react'; | ||
7 | import classnames from 'classnames'; | ||
8 | |||
9 | export default @observer class ToggleRaw extends Component { | ||
10 | static propTypes = { | ||
11 | onChange: PropTypes.func.isRequired, | ||
12 | field: PropTypes.shape({ | ||
13 | value: PropTypes.bool.isRequired, | ||
14 | id: PropTypes.string, | ||
15 | name: PropTypes.string, | ||
16 | label: PropTypes.string, | ||
17 | }).isRequired, | ||
18 | className: PropTypes.string, | ||
19 | showLabel: PropTypes.bool, | ||
20 | disabled: PropTypes.bool, | ||
21 | }; | ||
22 | |||
23 | static defaultProps = { | ||
24 | className: '', | ||
25 | showLabel: true, | ||
26 | disabled: false, | ||
27 | }; | ||
28 | |||
29 | onChange(e) { | ||
30 | const { onChange } = this.props; | ||
31 | |||
32 | onChange(e); | ||
33 | } | ||
34 | |||
35 | render() { | ||
36 | const { | ||
37 | field, | ||
38 | className, | ||
39 | showLabel, | ||
40 | disabled, | ||
41 | } = this.props; | ||
42 | |||
43 | return ( | ||
44 | <div | ||
45 | className={classnames([ | ||
46 | 'franz-form__field', | ||
47 | 'franz-form__toggle-wrapper', | ||
48 | 'franz-form__toggle-disabled', | ||
49 | className, | ||
50 | ])} | ||
51 | > | ||
52 | <label | ||
53 | htmlFor={field.id} | ||
54 | className={classnames({ | ||
55 | 'franz-form__toggle': true, | ||
56 | 'is-active': field.value, | ||
57 | })} | ||
58 | > | ||
59 | <div className="franz-form__toggle-button" /> | ||
60 | <input | ||
61 | type="checkbox" | ||
62 | id={field.id} | ||
63 | name={field.name} | ||
64 | value={field.name} | ||
65 | checked={field.value} | ||
66 | onChange={e => (!disabled ? this.onChange(e) : null)} | ||
67 | /> | ||
68 | </label> | ||
69 | {field.error && <div className={field.error}>{field.error}</div>} | ||
70 | {field.label && showLabel && <label className="franz-form__label" htmlFor={field.id}>{field.label}</label>} | ||
71 | </div> | ||
72 | ); | ||
73 | } | ||
74 | } | ||
diff --git a/src/config.js b/src/config.js index f9eecf375..c53ec7da9 100644 --- a/src/config.js +++ b/src/config.js | |||
@@ -130,6 +130,7 @@ export const DEFAULT_APP_SETTINGS = { | |||
130 | serviceRibbonWidth: 68, | 130 | serviceRibbonWidth: 68, |
131 | iconSize: iconSizeBias, | 131 | iconSize: iconSizeBias, |
132 | sentry: false, | 132 | sentry: false, |
133 | nightly: false, | ||
133 | navigationBarBehaviour: 'custom', | 134 | navigationBarBehaviour: 'custom', |
134 | }; | 135 | }; |
135 | 136 | ||
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js index c6149fd9e..aa50bac68 100644 --- a/src/containers/settings/EditSettingsScreen.js +++ b/src/containers/settings/EditSettingsScreen.js | |||
@@ -586,6 +586,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e | |||
586 | isAdaptableDarkModeEnabled={this.props.stores.settings.app.adaptableDarkMode} | 586 | isAdaptableDarkModeEnabled={this.props.stores.settings.app.adaptableDarkMode} |
587 | isTodosActivated={this.props.stores.todos.isFeatureEnabledByUser} | 587 | isTodosActivated={this.props.stores.todos.isFeatureEnabledByUser} |
588 | isUsingCustomTodoService={this.props.stores.todos.isUsingCustomTodoService} | 588 | isUsingCustomTodoService={this.props.stores.todos.isUsingCustomTodoService} |
589 | isNightlyEnabled={this.props.stores.settings.app.nightly} | ||
589 | openProcessManager={() => this.openProcessManager()} | 590 | openProcessManager={() => this.openProcessManager()} |
590 | /> | 591 | /> |
591 | </ErrorBoundary> | 592 | </ErrorBoundary> |
diff --git a/src/electron/ipc-api/autoUpdate.js b/src/electron/ipc-api/autoUpdate.js index 8c4d908dc..148ca5640 100644 --- a/src/electron/ipc-api/autoUpdate.js +++ b/src/electron/ipc-api/autoUpdate.js | |||
@@ -15,6 +15,15 @@ export default (params) => { | |||
15 | try { | 15 | try { |
16 | autoUpdater.autoInstallOnAppQuit = false; | 16 | autoUpdater.autoInstallOnAppQuit = false; |
17 | autoUpdater.allowPrerelease = Boolean(params.settings.app.get('beta')); | 17 | autoUpdater.allowPrerelease = Boolean(params.settings.app.get('beta')); |
18 | |||
19 | if (params.settings.app.get('nightly')) { | ||
20 | autoUpdater.setFeedURL({ | ||
21 | provider: 'github', | ||
22 | repo: 'nightlies', | ||
23 | owner: 'getferdi', | ||
24 | }); | ||
25 | } | ||
26 | |||
18 | if (args.action === 'check') { | 27 | if (args.action === 'check') { |
19 | autoUpdater.checkForUpdates(); | 28 | autoUpdater.checkForUpdates(); |
20 | } else if (args.action === 'install') { | 29 | } else if (args.action === 'install') { |
diff --git a/src/features/nightlyBuilds/Component.js b/src/features/nightlyBuilds/Component.js new file mode 100644 index 000000000..b340a0a7e --- /dev/null +++ b/src/features/nightlyBuilds/Component.js | |||
@@ -0,0 +1,141 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer, inject } from 'mobx-react'; | ||
4 | import injectSheet from 'react-jss'; | ||
5 | import { defineMessages, intlShape } from 'react-intl'; | ||
6 | import { H1 } from '@meetfranz/ui'; | ||
7 | |||
8 | import Modal from '../../components/ui/Modal'; | ||
9 | import Button from '../../components/ui/Button'; | ||
10 | import { state as ModalState } from '.'; | ||
11 | import SettingsStore from '../../stores/SettingsStore'; | ||
12 | |||
13 | const messages = defineMessages({ | ||
14 | title: { | ||
15 | id: 'feature.nightlyBuilds.title', | ||
16 | defaultMessage: '!!!Nightly Builds', | ||
17 | }, | ||
18 | info: { | ||
19 | id: 'feature.nightlyBuilds.info', | ||
20 | defaultMessage: '!!!Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don\'t know what you are doing, we suggest not activating nightly builds.', | ||
21 | }, | ||
22 | activate: { | ||
23 | id: 'feature.nightlyBuilds.activate', | ||
24 | defaultMessage: '!!!Activate', | ||
25 | }, | ||
26 | cancel: { | ||
27 | id: 'feature.nightlyBuilds.cancel', | ||
28 | defaultMessage: '!!!Cancel', | ||
29 | }, | ||
30 | }); | ||
31 | |||
32 | const styles = () => ({ | ||
33 | info: { | ||
34 | paddingTop: 20, | ||
35 | paddingBottom: 20, | ||
36 | }, | ||
37 | headline: { | ||
38 | fontSize: 20, | ||
39 | marginBottom: 20, | ||
40 | }, | ||
41 | buttonContainer: { | ||
42 | display: 'flex', | ||
43 | }, | ||
44 | button: { | ||
45 | width: '50%', | ||
46 | marginTop: 10, | ||
47 | cursor: 'pointer', | ||
48 | }, | ||
49 | activateButton: { | ||
50 | marginRight: 10, | ||
51 | background: '#c45a5a !important', | ||
52 | color: '#ffffff !important', | ||
53 | }, | ||
54 | }); | ||
55 | |||
56 | export default @injectSheet(styles) @inject('stores', 'actions') @observer class nightlyBuildsModal extends Component { | ||
57 | static contextTypes = { | ||
58 | intl: intlShape, | ||
59 | }; | ||
60 | |||
61 | close() { | ||
62 | ModalState.isModalVisible = false; | ||
63 | |||
64 | const { ui } = this.props.actions; | ||
65 | ui.openSettings({ path: 'app' }); | ||
66 | } | ||
67 | |||
68 | activate() { | ||
69 | const { settings, user } = this.props.actions; | ||
70 | |||
71 | settings.update({ | ||
72 | type: 'app', | ||
73 | data: { | ||
74 | nightly: true, | ||
75 | }, | ||
76 | }); | ||
77 | user.update({ | ||
78 | userData: { | ||
79 | nightly: true, | ||
80 | }, | ||
81 | }); | ||
82 | this.close(); | ||
83 | } | ||
84 | |||
85 | render() { | ||
86 | const { isModalVisible } = ModalState; | ||
87 | |||
88 | const { | ||
89 | classes, | ||
90 | } = this.props; | ||
91 | |||
92 | const { intl } = this.context; | ||
93 | |||
94 | return ( | ||
95 | <Modal | ||
96 | isOpen={isModalVisible} | ||
97 | shouldCloseOnOverlayClick | ||
98 | close={this.close.bind(this)} | ||
99 | > | ||
100 | <H1 className={classes.headline}> | ||
101 | {intl.formatMessage(messages.title)} | ||
102 | </H1> | ||
103 | |||
104 | <p className={classes.info}>{intl.formatMessage(messages.info)}</p> | ||
105 | |||
106 | <div className={classes.buttonContainer}> | ||
107 | <Button | ||
108 | type="button" | ||
109 | label={intl.formatMessage(messages.activate)} | ||
110 | className={`${classes.button} ${classes.activateButton}`} | ||
111 | onClick={() => this.activate()} | ||
112 | /> | ||
113 | <Button | ||
114 | type="button" | ||
115 | label={intl.formatMessage(messages.cancel)} | ||
116 | className={classes.button} | ||
117 | onClick={() => this.close()} | ||
118 | /> | ||
119 | </div> | ||
120 | </Modal> | ||
121 | ); | ||
122 | } | ||
123 | } | ||
124 | |||
125 | nightlyBuildsModal.wrappedComponent.propTypes = { | ||
126 | stores: PropTypes.shape({ | ||
127 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
128 | }).isRequired, | ||
129 | actions: PropTypes.shape({ | ||
130 | settings: PropTypes.shape({ | ||
131 | update: PropTypes.func.isRequired, | ||
132 | }).isRequired, | ||
133 | user: PropTypes.shape({ | ||
134 | update: PropTypes.func.isRequired, | ||
135 | }).isRequired, | ||
136 | ui: PropTypes.shape({ | ||
137 | openSettings: PropTypes.func.isRequired, | ||
138 | }).isRequired, | ||
139 | }).isRequired, | ||
140 | classes: PropTypes.object.isRequired, | ||
141 | }; | ||
diff --git a/src/features/nightlyBuilds/index.js b/src/features/nightlyBuilds/index.js new file mode 100644 index 000000000..34fe37d4d --- /dev/null +++ b/src/features/nightlyBuilds/index.js | |||
@@ -0,0 +1,45 @@ | |||
1 | import { observable } from 'mobx'; | ||
2 | |||
3 | export { default as Component } from './Component'; | ||
4 | |||
5 | const debug = require('debug')('Ferdi:feature:nightlyBuilds'); | ||
6 | |||
7 | const defaultState = { | ||
8 | isModalVisible: false, | ||
9 | }; | ||
10 | |||
11 | export const state = observable(defaultState); | ||
12 | |||
13 | export default function initialize() { | ||
14 | debug('Initialize nightlyBuilds feature'); | ||
15 | |||
16 | function showModal() { | ||
17 | state.isModalVisible = true; | ||
18 | } | ||
19 | |||
20 | function toggleFeature() { | ||
21 | if (window.ferdi.stores.settings.app.nightly) { | ||
22 | window.ferdi.actions.settings.update({ | ||
23 | type: 'app', | ||
24 | data: { | ||
25 | nightly: false, | ||
26 | }, | ||
27 | }); | ||
28 | window.ferdi.actions.user.update({ | ||
29 | userData: { | ||
30 | nightly: false, | ||
31 | }, | ||
32 | }); | ||
33 | } else { | ||
34 | // We need to close the settings, otherwise the modal will be drawn under the settings window | ||
35 | window.ferdi.actions.ui.closeSettings(); | ||
36 | showModal(); | ||
37 | } | ||
38 | } | ||
39 | |||
40 | window.ferdi.features.nightlyBuilds = { | ||
41 | state, | ||
42 | showModal, | ||
43 | toggleFeature, | ||
44 | }; | ||
45 | } | ||
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 58f37ebad..34bf58203 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -1056,52 +1056,52 @@ | |||
1056 | "defaultMessage": "!!!Your services have been updated.", | 1056 | "defaultMessage": "!!!Your services have been updated.", |
1057 | "end": { | 1057 | "end": { |
1058 | "column": 3, | 1058 | "column": 3, |
1059 | "line": 34 | 1059 | "line": 35 |
1060 | }, | 1060 | }, |
1061 | "file": "src/components/layout/AppLayout.js", | 1061 | "file": "src/components/layout/AppLayout.js", |
1062 | "id": "infobar.servicesUpdated", | 1062 | "id": "infobar.servicesUpdated", |
1063 | "start": { | 1063 | "start": { |
1064 | "column": 19, | 1064 | "column": 19, |
1065 | "line": 31 | 1065 | "line": 32 |
1066 | } | 1066 | } |
1067 | }, | 1067 | }, |
1068 | { | 1068 | { |
1069 | "defaultMessage": "!!!Reload services", | 1069 | "defaultMessage": "!!!Reload services", |
1070 | "end": { | 1070 | "end": { |
1071 | "column": 3, | 1071 | "column": 3, |
1072 | "line": 38 | 1072 | "line": 39 |
1073 | }, | 1073 | }, |
1074 | "file": "src/components/layout/AppLayout.js", | 1074 | "file": "src/components/layout/AppLayout.js", |
1075 | "id": "infobar.buttonReloadServices", | 1075 | "id": "infobar.buttonReloadServices", |
1076 | "start": { | 1076 | "start": { |
1077 | "column": 24, | 1077 | "column": 24, |
1078 | "line": 35 | 1078 | "line": 36 |
1079 | } | 1079 | } |
1080 | }, | 1080 | }, |
1081 | { | 1081 | { |
1082 | "defaultMessage": "!!!Could not load services and user information", | 1082 | "defaultMessage": "!!!Could not load services and user information", |
1083 | "end": { | 1083 | "end": { |
1084 | "column": 3, | 1084 | "column": 3, |
1085 | "line": 42 | 1085 | "line": 43 |
1086 | }, | 1086 | }, |
1087 | "file": "src/components/layout/AppLayout.js", | 1087 | "file": "src/components/layout/AppLayout.js", |
1088 | "id": "infobar.requiredRequestsFailed", | 1088 | "id": "infobar.requiredRequestsFailed", |
1089 | "start": { | 1089 | "start": { |
1090 | "column": 26, | 1090 | "column": 26, |
1091 | "line": 39 | 1091 | "line": 40 |
1092 | } | 1092 | } |
1093 | }, | 1093 | }, |
1094 | { | 1094 | { |
1095 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 1095 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
1096 | "end": { | 1096 | "end": { |
1097 | "column": 3, | 1097 | "column": 3, |
1098 | "line": 46 | 1098 | "line": 47 |
1099 | }, | 1099 | }, |
1100 | "file": "src/components/layout/AppLayout.js", | 1100 | "file": "src/components/layout/AppLayout.js", |
1101 | "id": "infobar.authRequestFailed", | 1101 | "id": "infobar.authRequestFailed", |
1102 | "start": { | 1102 | "start": { |
1103 | "column": 21, | 1103 | "column": 21, |
1104 | "line": 43 | 1104 | "line": 44 |
1105 | } | 1105 | } |
1106 | } | 1106 | } |
1107 | ], | 1107 | ], |
@@ -3075,403 +3075,403 @@ | |||
3075 | "defaultMessage": "!!!Settings", | 3075 | "defaultMessage": "!!!Settings", |
3076 | "end": { | 3076 | "end": { |
3077 | "column": 3, | 3077 | "column": 3, |
3078 | "line": 25 | 3078 | "line": 26 |
3079 | }, | 3079 | }, |
3080 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3080 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3081 | "id": "settings.app.headline", | 3081 | "id": "settings.app.headline", |
3082 | "start": { | 3082 | "start": { |
3083 | "column": 12, | 3083 | "column": 12, |
3084 | "line": 22 | 3084 | "line": 23 |
3085 | } | 3085 | } |
3086 | }, | 3086 | }, |
3087 | { | 3087 | { |
3088 | "defaultMessage": "!!!General", | 3088 | "defaultMessage": "!!!General", |
3089 | "end": { | 3089 | "end": { |
3090 | "column": 3, | 3090 | "column": 3, |
3091 | "line": 29 | 3091 | "line": 30 |
3092 | }, | 3092 | }, |
3093 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3093 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3094 | "id": "settings.app.headlineGeneral", | 3094 | "id": "settings.app.headlineGeneral", |
3095 | "start": { | 3095 | "start": { |
3096 | "column": 19, | 3096 | "column": 19, |
3097 | "line": 26 | 3097 | "line": 27 |
3098 | } | 3098 | } |
3099 | }, | 3099 | }, |
3100 | { | 3100 | { |
3101 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data! Changing this option requires you to restart Ferdi.", | 3101 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data! Changing this option requires you to restart Ferdi.", |
3102 | "end": { | 3102 | "end": { |
3103 | "column": 3, | 3103 | "column": 3, |
3104 | "line": 33 | 3104 | "line": 34 |
3105 | }, | 3105 | }, |
3106 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3106 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3107 | "id": "settings.app.sentryInfo", | 3107 | "id": "settings.app.sentryInfo", |
3108 | "start": { | 3108 | "start": { |
3109 | "column": 14, | 3109 | "column": 14, |
3110 | "line": 30 | 3110 | "line": 31 |
3111 | } | 3111 | } |
3112 | }, | 3112 | }, |
3113 | { | 3113 | { |
3114 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | 3114 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", |
3115 | "end": { | 3115 | "end": { |
3116 | "column": 3, | 3116 | "column": 3, |
3117 | "line": 37 | 3117 | "line": 38 |
3118 | }, | 3118 | }, |
3119 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3119 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3120 | "id": "settings.app.hibernateInfo", | 3120 | "id": "settings.app.hibernateInfo", |
3121 | "start": { | 3121 | "start": { |
3122 | "column": 17, | 3122 | "column": 17, |
3123 | "line": 34 | 3123 | "line": 35 |
3124 | } | 3124 | } |
3125 | }, | 3125 | }, |
3126 | { | 3126 | { |
3127 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", | 3127 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", |
3128 | "end": { | 3128 | "end": { |
3129 | "column": 3, | 3129 | "column": 3, |
3130 | "line": 41 | 3130 | "line": 42 |
3131 | }, | 3131 | }, |
3132 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3132 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3133 | "id": "settings.app.inactivityLockInfo", | 3133 | "id": "settings.app.inactivityLockInfo", |
3134 | "start": { | 3134 | "start": { |
3135 | "column": 22, | 3135 | "column": 22, |
3136 | "line": 38 | 3136 | "line": 39 |
3137 | } | 3137 | } |
3138 | }, | 3138 | }, |
3139 | { | 3139 | { |
3140 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", | 3140 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", |
3141 | "end": { | 3141 | "end": { |
3142 | "column": 3, | 3142 | "column": 3, |
3143 | "line": 45 | 3143 | "line": 46 |
3144 | }, | 3144 | }, |
3145 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3145 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3146 | "id": "settings.app.todoServerInfo", | 3146 | "id": "settings.app.todoServerInfo", |
3147 | "start": { | 3147 | "start": { |
3148 | "column": 18, | 3148 | "column": 18, |
3149 | "line": 42 | 3149 | "line": 43 |
3150 | } | 3150 | } |
3151 | }, | 3151 | }, |
3152 | { | 3152 | { |
3153 | "defaultMessage": "!!!Password", | 3153 | "defaultMessage": "!!!Password", |
3154 | "end": { | 3154 | "end": { |
3155 | "column": 3, | 3155 | "column": 3, |
3156 | "line": 49 | 3156 | "line": 50 |
3157 | }, | 3157 | }, |
3158 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3158 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3159 | "id": "settings.app.lockedPassword", | 3159 | "id": "settings.app.lockedPassword", |
3160 | "start": { | 3160 | "start": { |
3161 | "column": 18, | 3161 | "column": 18, |
3162 | "line": 46 | 3162 | "line": 47 |
3163 | } | 3163 | } |
3164 | }, | 3164 | }, |
3165 | { | 3165 | { |
3166 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", | 3166 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", |
3167 | "end": { | 3167 | "end": { |
3168 | "column": 3, | 3168 | "column": 3, |
3169 | "line": 53 | 3169 | "line": 54 |
3170 | }, | 3170 | }, |
3171 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3171 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3172 | "id": "settings.app.lockedPasswordInfo", | 3172 | "id": "settings.app.lockedPasswordInfo", |
3173 | "start": { | 3173 | "start": { |
3174 | "column": 22, | 3174 | "column": 22, |
3175 | "line": 50 | 3175 | "line": 51 |
3176 | } | 3176 | } |
3177 | }, | 3177 | }, |
3178 | { | 3178 | { |
3179 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", | 3179 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", |
3180 | "end": { | 3180 | "end": { |
3181 | "column": 3, | 3181 | "column": 3, |
3182 | "line": 57 | 3182 | "line": 58 |
3183 | }, | 3183 | }, |
3184 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3184 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3185 | "id": "settings.app.lockInfo", | 3185 | "id": "settings.app.lockInfo", |
3186 | "start": { | 3186 | "start": { |
3187 | "column": 12, | 3187 | "column": 12, |
3188 | "line": 54 | 3188 | "line": 55 |
3189 | } | 3189 | } |
3190 | }, | 3190 | }, |
3191 | { | 3191 | { |
3192 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", | 3192 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", |
3193 | "end": { | 3193 | "end": { |
3194 | "column": 3, | 3194 | "column": 3, |
3195 | "line": 61 | 3195 | "line": 62 |
3196 | }, | 3196 | }, |
3197 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3197 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3198 | "id": "settings.app.scheduledDNDTimeInfo", | 3198 | "id": "settings.app.scheduledDNDTimeInfo", |
3199 | "start": { | 3199 | "start": { |
3200 | "column": 24, | 3200 | "column": 24, |
3201 | "line": 58 | 3201 | "line": 59 |
3202 | } | 3202 | } |
3203 | }, | 3203 | }, |
3204 | { | 3204 | { |
3205 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", | 3205 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", |
3206 | "end": { | 3206 | "end": { |
3207 | "column": 3, | 3207 | "column": 3, |
3208 | "line": 65 | 3208 | "line": 66 |
3209 | }, | 3209 | }, |
3210 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3210 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3211 | "id": "settings.app.scheduledDNDInfo", | 3211 | "id": "settings.app.scheduledDNDInfo", |
3212 | "start": { | 3212 | "start": { |
3213 | "column": 20, | 3213 | "column": 20, |
3214 | "line": 62 | 3214 | "line": 63 |
3215 | } | 3215 | } |
3216 | }, | 3216 | }, |
3217 | { | 3217 | { |
3218 | "defaultMessage": "!!!Language", | 3218 | "defaultMessage": "!!!Language", |
3219 | "end": { | 3219 | "end": { |
3220 | "column": 3, | 3220 | "column": 3, |
3221 | "line": 69 | 3221 | "line": 70 |
3222 | }, | 3222 | }, |
3223 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3223 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3224 | "id": "settings.app.headlineLanguage", | 3224 | "id": "settings.app.headlineLanguage", |
3225 | "start": { | 3225 | "start": { |
3226 | "column": 20, | 3226 | "column": 20, |
3227 | "line": 66 | 3227 | "line": 67 |
3228 | } | 3228 | } |
3229 | }, | 3229 | }, |
3230 | { | 3230 | { |
3231 | "defaultMessage": "!!!Updates", | 3231 | "defaultMessage": "!!!Updates", |
3232 | "end": { | 3232 | "end": { |
3233 | "column": 3, | 3233 | "column": 3, |
3234 | "line": 73 | 3234 | "line": 74 |
3235 | }, | 3235 | }, |
3236 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3236 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3237 | "id": "settings.app.headlineUpdates", | 3237 | "id": "settings.app.headlineUpdates", |
3238 | "start": { | 3238 | "start": { |
3239 | "column": 19, | 3239 | "column": 19, |
3240 | "line": 70 | 3240 | "line": 71 |
3241 | } | 3241 | } |
3242 | }, | 3242 | }, |
3243 | { | 3243 | { |
3244 | "defaultMessage": "!!!Appearance", | 3244 | "defaultMessage": "!!!Appearance", |
3245 | "end": { | 3245 | "end": { |
3246 | "column": 3, | 3246 | "column": 3, |
3247 | "line": 77 | 3247 | "line": 78 |
3248 | }, | 3248 | }, |
3249 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3249 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3250 | "id": "settings.app.headlineAppearance", | 3250 | "id": "settings.app.headlineAppearance", |
3251 | "start": { | 3251 | "start": { |
3252 | "column": 22, | 3252 | "column": 22, |
3253 | "line": 74 | 3253 | "line": 75 |
3254 | } | 3254 | } |
3255 | }, | 3255 | }, |
3256 | { | 3256 | { |
3257 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 3257 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
3258 | "end": { | 3258 | "end": { |
3259 | "column": 3, | 3259 | "column": 3, |
3260 | "line": 81 | 3260 | "line": 82 |
3261 | }, | 3261 | }, |
3262 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3262 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3263 | "id": "settings.app.universalDarkModeInfo", | 3263 | "id": "settings.app.universalDarkModeInfo", |
3264 | "start": { | 3264 | "start": { |
3265 | "column": 25, | 3265 | "column": 25, |
3266 | "line": 78 | 3266 | "line": 79 |
3267 | } | 3267 | } |
3268 | }, | 3268 | }, |
3269 | { | 3269 | { |
3270 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)", | 3270 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)", |
3271 | "end": { | 3271 | "end": { |
3272 | "column": 3, | 3272 | "column": 3, |
3273 | "line": 85 | 3273 | "line": 86 |
3274 | }, | 3274 | }, |
3275 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3275 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3276 | "id": "settings.app.accentColorInfo", | 3276 | "id": "settings.app.accentColorInfo", |
3277 | "start": { | 3277 | "start": { |
3278 | "column": 19, | 3278 | "column": 19, |
3279 | "line": 82 | 3279 | "line": 83 |
3280 | } | 3280 | } |
3281 | }, | 3281 | }, |
3282 | { | 3282 | { |
3283 | "defaultMessage": "!!!Advanced", | 3283 | "defaultMessage": "!!!Advanced", |
3284 | "end": { | 3284 | "end": { |
3285 | "column": 3, | 3285 | "column": 3, |
3286 | "line": 89 | 3286 | "line": 90 |
3287 | }, | 3287 | }, |
3288 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3288 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3289 | "id": "settings.app.headlineAdvanced", | 3289 | "id": "settings.app.headlineAdvanced", |
3290 | "start": { | 3290 | "start": { |
3291 | "column": 20, | 3291 | "column": 20, |
3292 | "line": 86 | 3292 | "line": 87 |
3293 | } | 3293 | } |
3294 | }, | 3294 | }, |
3295 | { | 3295 | { |
3296 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", | 3296 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", |
3297 | "end": { | 3297 | "end": { |
3298 | "column": 3, | 3298 | "column": 3, |
3299 | "line": 93 | 3299 | "line": 94 |
3300 | }, | 3300 | }, |
3301 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3301 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3302 | "id": "settings.app.translationHelp", | 3302 | "id": "settings.app.translationHelp", |
3303 | "start": { | 3303 | "start": { |
3304 | "column": 19, | 3304 | "column": 19, |
3305 | "line": 90 | 3305 | "line": 91 |
3306 | } | 3306 | } |
3307 | }, | 3307 | }, |
3308 | { | 3308 | { |
3309 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 3309 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
3310 | "end": { | 3310 | "end": { |
3311 | "column": 3, | 3311 | "column": 3, |
3312 | "line": 97 | 3312 | "line": 98 |
3313 | }, | 3313 | }, |
3314 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3314 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3315 | "id": "settings.app.spellCheckerLanguageInfo", | 3315 | "id": "settings.app.spellCheckerLanguageInfo", |
3316 | "start": { | 3316 | "start": { |
3317 | "column": 28, | 3317 | "column": 28, |
3318 | "line": 94 | 3318 | "line": 95 |
3319 | } | 3319 | } |
3320 | }, | 3320 | }, |
3321 | { | 3321 | { |
3322 | "defaultMessage": "!!!Cache", | 3322 | "defaultMessage": "!!!Cache", |
3323 | "end": { | 3323 | "end": { |
3324 | "column": 3, | 3324 | "column": 3, |
3325 | "line": 101 | 3325 | "line": 102 |
3326 | }, | 3326 | }, |
3327 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3327 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3328 | "id": "settings.app.subheadlineCache", | 3328 | "id": "settings.app.subheadlineCache", |
3329 | "start": { | 3329 | "start": { |
3330 | "column": 20, | 3330 | "column": 20, |
3331 | "line": 98 | 3331 | "line": 99 |
3332 | } | 3332 | } |
3333 | }, | 3333 | }, |
3334 | { | 3334 | { |
3335 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", | 3335 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", |
3336 | "end": { | 3336 | "end": { |
3337 | "column": 3, | 3337 | "column": 3, |
3338 | "line": 105 | 3338 | "line": 106 |
3339 | }, | 3339 | }, |
3340 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3340 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3341 | "id": "settings.app.cacheInfo", | 3341 | "id": "settings.app.cacheInfo", |
3342 | "start": { | 3342 | "start": { |
3343 | "column": 13, | 3343 | "column": 13, |
3344 | "line": 102 | 3344 | "line": 103 |
3345 | } | 3345 | } |
3346 | }, | 3346 | }, |
3347 | { | 3347 | { |
3348 | "defaultMessage": "!!!Couldn't clear all cache", | 3348 | "defaultMessage": "!!!Couldn't clear all cache", |
3349 | "end": { | 3349 | "end": { |
3350 | "column": 3, | 3350 | "column": 3, |
3351 | "line": 109 | 3351 | "line": 110 |
3352 | }, | 3352 | }, |
3353 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3353 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3354 | "id": "settings.app.cacheNotCleared", | 3354 | "id": "settings.app.cacheNotCleared", |
3355 | "start": { | 3355 | "start": { |
3356 | "column": 19, | 3356 | "column": 19, |
3357 | "line": 106 | 3357 | "line": 107 |
3358 | } | 3358 | } |
3359 | }, | 3359 | }, |
3360 | { | 3360 | { |
3361 | "defaultMessage": "!!!Clear cache", | 3361 | "defaultMessage": "!!!Clear cache", |
3362 | "end": { | 3362 | "end": { |
3363 | "column": 3, | 3363 | "column": 3, |
3364 | "line": 113 | 3364 | "line": 114 |
3365 | }, | 3365 | }, |
3366 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3366 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3367 | "id": "settings.app.buttonClearAllCache", | 3367 | "id": "settings.app.buttonClearAllCache", |
3368 | "start": { | 3368 | "start": { |
3369 | "column": 23, | 3369 | "column": 23, |
3370 | "line": 110 | 3370 | "line": 111 |
3371 | } | 3371 | } |
3372 | }, | 3372 | }, |
3373 | { | 3373 | { |
3374 | "defaultMessage": "!!!Check for updates", | 3374 | "defaultMessage": "!!!Check for updates", |
3375 | "end": { | 3375 | "end": { |
3376 | "column": 3, | 3376 | "column": 3, |
3377 | "line": 117 | 3377 | "line": 118 |
3378 | }, | 3378 | }, |
3379 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3379 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3380 | "id": "settings.app.buttonSearchForUpdate", | 3380 | "id": "settings.app.buttonSearchForUpdate", |
3381 | "start": { | 3381 | "start": { |
3382 | "column": 25, | 3382 | "column": 25, |
3383 | "line": 114 | 3383 | "line": 115 |
3384 | } | 3384 | } |
3385 | }, | 3385 | }, |
3386 | { | 3386 | { |
3387 | "defaultMessage": "!!!Restart & install update", | 3387 | "defaultMessage": "!!!Restart & install update", |
3388 | "end": { | 3388 | "end": { |
3389 | "column": 3, | 3389 | "column": 3, |
3390 | "line": 121 | 3390 | "line": 122 |
3391 | }, | 3391 | }, |
3392 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3392 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3393 | "id": "settings.app.buttonInstallUpdate", | 3393 | "id": "settings.app.buttonInstallUpdate", |
3394 | "start": { | 3394 | "start": { |
3395 | "column": 23, | 3395 | "column": 23, |
3396 | "line": 118 | 3396 | "line": 119 |
3397 | } | 3397 | } |
3398 | }, | 3398 | }, |
3399 | { | 3399 | { |
3400 | "defaultMessage": "!!!Is searching for update", | 3400 | "defaultMessage": "!!!Is searching for update", |
3401 | "end": { | 3401 | "end": { |
3402 | "column": 3, | 3402 | "column": 3, |
3403 | "line": 125 | 3403 | "line": 126 |
3404 | }, | 3404 | }, |
3405 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3405 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3406 | "id": "settings.app.updateStatusSearching", | 3406 | "id": "settings.app.updateStatusSearching", |
3407 | "start": { | 3407 | "start": { |
3408 | "column": 25, | 3408 | "column": 25, |
3409 | "line": 122 | 3409 | "line": 123 |
3410 | } | 3410 | } |
3411 | }, | 3411 | }, |
3412 | { | 3412 | { |
3413 | "defaultMessage": "!!!Update available, downloading...", | 3413 | "defaultMessage": "!!!Update available, downloading...", |
3414 | "end": { | 3414 | "end": { |
3415 | "column": 3, | 3415 | "column": 3, |
3416 | "line": 129 | 3416 | "line": 130 |
3417 | }, | 3417 | }, |
3418 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3418 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3419 | "id": "settings.app.updateStatusAvailable", | 3419 | "id": "settings.app.updateStatusAvailable", |
3420 | "start": { | 3420 | "start": { |
3421 | "column": 25, | 3421 | "column": 25, |
3422 | "line": 126 | 3422 | "line": 127 |
3423 | } | 3423 | } |
3424 | }, | 3424 | }, |
3425 | { | 3425 | { |
3426 | "defaultMessage": "!!!You are using the latest version of Ferdi", | 3426 | "defaultMessage": "!!!You are using the latest version of Ferdi", |
3427 | "end": { | 3427 | "end": { |
3428 | "column": 3, | 3428 | "column": 3, |
3429 | "line": 133 | 3429 | "line": 134 |
3430 | }, | 3430 | }, |
3431 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3431 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3432 | "id": "settings.app.updateStatusUpToDate", | 3432 | "id": "settings.app.updateStatusUpToDate", |
3433 | "start": { | 3433 | "start": { |
3434 | "column": 24, | 3434 | "column": 24, |
3435 | "line": 130 | 3435 | "line": 131 |
3436 | } | 3436 | } |
3437 | }, | 3437 | }, |
3438 | { | 3438 | { |
3439 | "defaultMessage": "!!!Current version:", | 3439 | "defaultMessage": "!!!Current version:", |
3440 | "end": { | 3440 | "end": { |
3441 | "column": 3, | 3441 | "column": 3, |
3442 | "line": 137 | 3442 | "line": 138 |
3443 | }, | 3443 | }, |
3444 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3444 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3445 | "id": "settings.app.currentVersion", | 3445 | "id": "settings.app.currentVersion", |
3446 | "start": { | 3446 | "start": { |
3447 | "column": 18, | 3447 | "column": 18, |
3448 | "line": 134 | 3448 | "line": 135 |
3449 | } | 3449 | } |
3450 | }, | 3450 | }, |
3451 | { | 3451 | { |
3452 | "defaultMessage": "!!!Changes require restart", | 3452 | "defaultMessage": "!!!Changes require restart", |
3453 | "end": { | 3453 | "end": { |
3454 | "column": 3, | 3454 | "column": 3, |
3455 | "line": 141 | 3455 | "line": 142 |
3456 | }, | 3456 | }, |
3457 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3457 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3458 | "id": "settings.app.restartRequired", | 3458 | "id": "settings.app.restartRequired", |
3459 | "start": { | 3459 | "start": { |
3460 | "column": 29, | 3460 | "column": 29, |
3461 | "line": 138 | 3461 | "line": 139 |
3462 | } | 3462 | } |
3463 | }, | 3463 | }, |
3464 | { | 3464 | { |
3465 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", | 3465 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", |
3466 | "end": { | 3466 | "end": { |
3467 | "column": 3, | 3467 | "column": 3, |
3468 | "line": 145 | 3468 | "line": 146 |
3469 | }, | 3469 | }, |
3470 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3470 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3471 | "id": "settings.app.languageDisclaimer", | 3471 | "id": "settings.app.languageDisclaimer", |
3472 | "start": { | 3472 | "start": { |
3473 | "column": 22, | 3473 | "column": 22, |
3474 | "line": 142 | 3474 | "line": 143 |
3475 | } | 3475 | } |
3476 | } | 3476 | } |
3477 | ], | 3477 | ], |
@@ -5317,6 +5317,63 @@ | |||
5317 | { | 5317 | { |
5318 | "descriptors": [ | 5318 | "descriptors": [ |
5319 | { | 5319 | { |
5320 | "defaultMessage": "!!!Nightly Builds", | ||
5321 | "end": { | ||
5322 | "column": 3, | ||
5323 | "line": 17 | ||
5324 | }, | ||
5325 | "file": "src/features/nightlyBuilds/Component.js", | ||
5326 | "id": "feature.nightlyBuilds.title", | ||
5327 | "start": { | ||
5328 | "column": 9, | ||
5329 | "line": 14 | ||
5330 | } | ||
5331 | }, | ||
5332 | { | ||
5333 | "defaultMessage": "!!!Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", | ||
5334 | "end": { | ||
5335 | "column": 3, | ||
5336 | "line": 21 | ||
5337 | }, | ||
5338 | "file": "src/features/nightlyBuilds/Component.js", | ||
5339 | "id": "feature.nightlyBuilds.info", | ||
5340 | "start": { | ||
5341 | "column": 8, | ||
5342 | "line": 18 | ||
5343 | } | ||
5344 | }, | ||
5345 | { | ||
5346 | "defaultMessage": "!!!Activate", | ||
5347 | "end": { | ||
5348 | "column": 3, | ||
5349 | "line": 25 | ||
5350 | }, | ||
5351 | "file": "src/features/nightlyBuilds/Component.js", | ||
5352 | "id": "feature.nightlyBuilds.activate", | ||
5353 | "start": { | ||
5354 | "column": 12, | ||
5355 | "line": 22 | ||
5356 | } | ||
5357 | }, | ||
5358 | { | ||
5359 | "defaultMessage": "!!!Cancel", | ||
5360 | "end": { | ||
5361 | "column": 3, | ||
5362 | "line": 29 | ||
5363 | }, | ||
5364 | "file": "src/features/nightlyBuilds/Component.js", | ||
5365 | "id": "feature.nightlyBuilds.cancel", | ||
5366 | "start": { | ||
5367 | "column": 10, | ||
5368 | "line": 26 | ||
5369 | } | ||
5370 | } | ||
5371 | ], | ||
5372 | "path": "src/features/nightlyBuilds/Component.json" | ||
5373 | }, | ||
5374 | { | ||
5375 | "descriptors": [ | ||
5376 | { | ||
5320 | "defaultMessage": "!!!per month", | 5377 | "defaultMessage": "!!!per month", |
5321 | "end": { | 5378 | "end": { |
5322 | "column": 3, | 5379 | "column": 3, |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index fd5c0755b..95481f5de 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -19,6 +19,10 @@ | |||
19 | "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", | 19 | "feature.delayApp.trial.headline": "Get the free Ferdi Professional 14 day trial and skip the line", |
20 | "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", | 20 | "feature.delayApp.upgrade.action": "Get a Ferdi Supporter License", |
21 | "feature.delayApp.upgrade.actionShort": "Upgrade account", | 21 | "feature.delayApp.upgrade.actionShort": "Upgrade account", |
22 | "feature.nightlyBuilds.activate": "Activate", | ||
23 | "feature.nightlyBuilds.cancel": "Cancel", | ||
24 | "feature.nightlyBuilds.info": "Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", | ||
25 | "feature.nightlyBuilds.title": "Nightly Builds", | ||
22 | "feature.planSelection.cta.ctaDowngradeFree": "Downgrade to Free", | 26 | "feature.planSelection.cta.ctaDowngradeFree": "Downgrade to Free", |
23 | "feature.planSelection.cta.stayOnFree": "Stay on Free", | 27 | "feature.planSelection.cta.stayOnFree": "Stay on Free", |
24 | "feature.planSelection.cta.trial": "Start my free 14-days Trial", | 28 | "feature.planSelection.cta.trial": "Start my free 14-days Trial", |
@@ -529,4 +533,4 @@ | |||
529 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", | 533 | "workspaceDrawer.workspaceFeatureInfo": "<p>Ferdi Workspaces let you focus on what’s important right now. Set up different sets of services and easily switch between them at any time.</p><p>You decide which services you need when and where, so we can help you stay on top of your game - or easily switch off from work whenever you want.</p>", |
530 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", | 534 | "workspaceDrawer.workspacesSettingsTooltip": "Edit workspaces settings", |
531 | "workspaces.switchingIndicator.switchingTo": "Switching to" | 535 | "workspaces.switchingIndicator.switchingTo": "Switching to" |
532 | } | 536 | } \ No newline at end of file |
diff --git a/src/i18n/locales/whitelist_en-US.json b/src/i18n/locales/whitelist_en-US.json index fe51488c7..32960f8ce 100644 --- a/src/i18n/locales/whitelist_en-US.json +++ b/src/i18n/locales/whitelist_en-US.json | |||
@@ -1 +1,2 @@ | |||
1 | [] | 1 | [ |
2 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json index 5a8e082f2..554758f82 100644 --- a/src/i18n/messages/src/components/layout/AppLayout.json +++ b/src/i18n/messages/src/components/layout/AppLayout.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Your services have been updated.", | 4 | "defaultMessage": "!!!Your services have been updated.", |
5 | "file": "src/components/layout/AppLayout.js", | 5 | "file": "src/components/layout/AppLayout.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 31, | 7 | "line": 32, |
8 | "column": 19 | 8 | "column": 19 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 34, | 11 | "line": 35, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Reload services", | 17 | "defaultMessage": "!!!Reload services", |
18 | "file": "src/components/layout/AppLayout.js", | 18 | "file": "src/components/layout/AppLayout.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 35, | 20 | "line": 36, |
21 | "column": 24 | 21 | "column": 24 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 38, | 24 | "line": 39, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Could not load services and user information", | 30 | "defaultMessage": "!!!Could not load services and user information", |
31 | "file": "src/components/layout/AppLayout.js", | 31 | "file": "src/components/layout/AppLayout.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 39, | 33 | "line": 40, |
34 | "column": 26 | 34 | "column": 26 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 42, | 37 | "line": 43, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
44 | "file": "src/components/layout/AppLayout.js", | 44 | "file": "src/components/layout/AppLayout.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 43, | 46 | "line": 44, |
47 | "column": 21 | 47 | "column": 21 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 46, | 50 | "line": 47, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json index 373cd78f9..ccd006117 100644 --- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json +++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Settings", | 4 | "defaultMessage": "!!!Settings", |
5 | "file": "src/components/settings/settings/EditSettingsForm.js", | 5 | "file": "src/components/settings/settings/EditSettingsForm.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 22, | 7 | "line": 23, |
8 | "column": 12 | 8 | "column": 12 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 25, | 11 | "line": 26, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!General", | 17 | "defaultMessage": "!!!General", |
18 | "file": "src/components/settings/settings/EditSettingsForm.js", | 18 | "file": "src/components/settings/settings/EditSettingsForm.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 26, | 20 | "line": 27, |
21 | "column": 19 | 21 | "column": 19 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 29, | 24 | "line": 30, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data! Changing this option requires you to restart Ferdi.", | 30 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data! Changing this option requires you to restart Ferdi.", |
31 | "file": "src/components/settings/settings/EditSettingsForm.js", | 31 | "file": "src/components/settings/settings/EditSettingsForm.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 30, | 33 | "line": 31, |
34 | "column": 14 | 34 | "column": 14 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 33, | 37 | "line": 34, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | 43 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", |
44 | "file": "src/components/settings/settings/EditSettingsForm.js", | 44 | "file": "src/components/settings/settings/EditSettingsForm.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 34, | 46 | "line": 35, |
47 | "column": 17 | 47 | "column": 17 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 37, | 50 | "line": 38, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | }, | 53 | }, |
@@ -56,11 +56,11 @@ | |||
56 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", | 56 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", |
57 | "file": "src/components/settings/settings/EditSettingsForm.js", | 57 | "file": "src/components/settings/settings/EditSettingsForm.js", |
58 | "start": { | 58 | "start": { |
59 | "line": 38, | 59 | "line": 39, |
60 | "column": 22 | 60 | "column": 22 |
61 | }, | 61 | }, |
62 | "end": { | 62 | "end": { |
63 | "line": 41, | 63 | "line": 42, |
64 | "column": 3 | 64 | "column": 3 |
65 | } | 65 | } |
66 | }, | 66 | }, |
@@ -69,11 +69,11 @@ | |||
69 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", | 69 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", |
70 | "file": "src/components/settings/settings/EditSettingsForm.js", | 70 | "file": "src/components/settings/settings/EditSettingsForm.js", |
71 | "start": { | 71 | "start": { |
72 | "line": 42, | 72 | "line": 43, |
73 | "column": 18 | 73 | "column": 18 |
74 | }, | 74 | }, |
75 | "end": { | 75 | "end": { |
76 | "line": 45, | 76 | "line": 46, |
77 | "column": 3 | 77 | "column": 3 |
78 | } | 78 | } |
79 | }, | 79 | }, |
@@ -82,11 +82,11 @@ | |||
82 | "defaultMessage": "!!!Password", | 82 | "defaultMessage": "!!!Password", |
83 | "file": "src/components/settings/settings/EditSettingsForm.js", | 83 | "file": "src/components/settings/settings/EditSettingsForm.js", |
84 | "start": { | 84 | "start": { |
85 | "line": 46, | 85 | "line": 47, |
86 | "column": 18 | 86 | "column": 18 |
87 | }, | 87 | }, |
88 | "end": { | 88 | "end": { |
89 | "line": 49, | 89 | "line": 50, |
90 | "column": 3 | 90 | "column": 3 |
91 | } | 91 | } |
92 | }, | 92 | }, |
@@ -95,11 +95,11 @@ | |||
95 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", | 95 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", |
96 | "file": "src/components/settings/settings/EditSettingsForm.js", | 96 | "file": "src/components/settings/settings/EditSettingsForm.js", |
97 | "start": { | 97 | "start": { |
98 | "line": 50, | 98 | "line": 51, |
99 | "column": 22 | 99 | "column": 22 |
100 | }, | 100 | }, |
101 | "end": { | 101 | "end": { |
102 | "line": 53, | 102 | "line": 54, |
103 | "column": 3 | 103 | "column": 3 |
104 | } | 104 | } |
105 | }, | 105 | }, |
@@ -108,11 +108,11 @@ | |||
108 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", | 108 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut CMD/CTRL+Shift+L.", |
109 | "file": "src/components/settings/settings/EditSettingsForm.js", | 109 | "file": "src/components/settings/settings/EditSettingsForm.js", |
110 | "start": { | 110 | "start": { |
111 | "line": 54, | 111 | "line": 55, |
112 | "column": 12 | 112 | "column": 12 |
113 | }, | 113 | }, |
114 | "end": { | 114 | "end": { |
115 | "line": 57, | 115 | "line": 58, |
116 | "column": 3 | 116 | "column": 3 |
117 | } | 117 | } |
118 | }, | 118 | }, |
@@ -121,11 +121,11 @@ | |||
121 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", | 121 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", |
122 | "file": "src/components/settings/settings/EditSettingsForm.js", | 122 | "file": "src/components/settings/settings/EditSettingsForm.js", |
123 | "start": { | 123 | "start": { |
124 | "line": 58, | 124 | "line": 59, |
125 | "column": 24 | 125 | "column": 24 |
126 | }, | 126 | }, |
127 | "end": { | 127 | "end": { |
128 | "line": 61, | 128 | "line": 62, |
129 | "column": 3 | 129 | "column": 3 |
130 | } | 130 | } |
131 | }, | 131 | }, |
@@ -134,11 +134,11 @@ | |||
134 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", | 134 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", |
135 | "file": "src/components/settings/settings/EditSettingsForm.js", | 135 | "file": "src/components/settings/settings/EditSettingsForm.js", |
136 | "start": { | 136 | "start": { |
137 | "line": 62, | 137 | "line": 63, |
138 | "column": 20 | 138 | "column": 20 |
139 | }, | 139 | }, |
140 | "end": { | 140 | "end": { |
141 | "line": 65, | 141 | "line": 66, |
142 | "column": 3 | 142 | "column": 3 |
143 | } | 143 | } |
144 | }, | 144 | }, |
@@ -147,11 +147,11 @@ | |||
147 | "defaultMessage": "!!!Language", | 147 | "defaultMessage": "!!!Language", |
148 | "file": "src/components/settings/settings/EditSettingsForm.js", | 148 | "file": "src/components/settings/settings/EditSettingsForm.js", |
149 | "start": { | 149 | "start": { |
150 | "line": 66, | 150 | "line": 67, |
151 | "column": 20 | 151 | "column": 20 |
152 | }, | 152 | }, |
153 | "end": { | 153 | "end": { |
154 | "line": 69, | 154 | "line": 70, |
155 | "column": 3 | 155 | "column": 3 |
156 | } | 156 | } |
157 | }, | 157 | }, |
@@ -160,11 +160,11 @@ | |||
160 | "defaultMessage": "!!!Updates", | 160 | "defaultMessage": "!!!Updates", |
161 | "file": "src/components/settings/settings/EditSettingsForm.js", | 161 | "file": "src/components/settings/settings/EditSettingsForm.js", |
162 | "start": { | 162 | "start": { |
163 | "line": 70, | 163 | "line": 71, |
164 | "column": 19 | 164 | "column": 19 |
165 | }, | 165 | }, |
166 | "end": { | 166 | "end": { |
167 | "line": 73, | 167 | "line": 74, |
168 | "column": 3 | 168 | "column": 3 |
169 | } | 169 | } |
170 | }, | 170 | }, |
@@ -173,11 +173,11 @@ | |||
173 | "defaultMessage": "!!!Appearance", | 173 | "defaultMessage": "!!!Appearance", |
174 | "file": "src/components/settings/settings/EditSettingsForm.js", | 174 | "file": "src/components/settings/settings/EditSettingsForm.js", |
175 | "start": { | 175 | "start": { |
176 | "line": 74, | 176 | "line": 75, |
177 | "column": 22 | 177 | "column": 22 |
178 | }, | 178 | }, |
179 | "end": { | 179 | "end": { |
180 | "line": 77, | 180 | "line": 78, |
181 | "column": 3 | 181 | "column": 3 |
182 | } | 182 | } |
183 | }, | 183 | }, |
@@ -186,11 +186,11 @@ | |||
186 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 186 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
187 | "file": "src/components/settings/settings/EditSettingsForm.js", | 187 | "file": "src/components/settings/settings/EditSettingsForm.js", |
188 | "start": { | 188 | "start": { |
189 | "line": 78, | 189 | "line": 79, |
190 | "column": 25 | 190 | "column": 25 |
191 | }, | 191 | }, |
192 | "end": { | 192 | "end": { |
193 | "line": 81, | 193 | "line": 82, |
194 | "column": 3 | 194 | "column": 3 |
195 | } | 195 | } |
196 | }, | 196 | }, |
@@ -199,11 +199,11 @@ | |||
199 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)", | 199 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: #7367f0)", |
200 | "file": "src/components/settings/settings/EditSettingsForm.js", | 200 | "file": "src/components/settings/settings/EditSettingsForm.js", |
201 | "start": { | 201 | "start": { |
202 | "line": 82, | 202 | "line": 83, |
203 | "column": 19 | 203 | "column": 19 |
204 | }, | 204 | }, |
205 | "end": { | 205 | "end": { |
206 | "line": 85, | 206 | "line": 86, |
207 | "column": 3 | 207 | "column": 3 |
208 | } | 208 | } |
209 | }, | 209 | }, |
@@ -212,11 +212,11 @@ | |||
212 | "defaultMessage": "!!!Advanced", | 212 | "defaultMessage": "!!!Advanced", |
213 | "file": "src/components/settings/settings/EditSettingsForm.js", | 213 | "file": "src/components/settings/settings/EditSettingsForm.js", |
214 | "start": { | 214 | "start": { |
215 | "line": 86, | 215 | "line": 87, |
216 | "column": 20 | 216 | "column": 20 |
217 | }, | 217 | }, |
218 | "end": { | 218 | "end": { |
219 | "line": 89, | 219 | "line": 90, |
220 | "column": 3 | 220 | "column": 3 |
221 | } | 221 | } |
222 | }, | 222 | }, |
@@ -225,11 +225,11 @@ | |||
225 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", | 225 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", |
226 | "file": "src/components/settings/settings/EditSettingsForm.js", | 226 | "file": "src/components/settings/settings/EditSettingsForm.js", |
227 | "start": { | 227 | "start": { |
228 | "line": 90, | 228 | "line": 91, |
229 | "column": 19 | 229 | "column": 19 |
230 | }, | 230 | }, |
231 | "end": { | 231 | "end": { |
232 | "line": 93, | 232 | "line": 94, |
233 | "column": 3 | 233 | "column": 3 |
234 | } | 234 | } |
235 | }, | 235 | }, |
@@ -238,11 +238,11 @@ | |||
238 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 238 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
239 | "file": "src/components/settings/settings/EditSettingsForm.js", | 239 | "file": "src/components/settings/settings/EditSettingsForm.js", |
240 | "start": { | 240 | "start": { |
241 | "line": 94, | 241 | "line": 95, |
242 | "column": 28 | 242 | "column": 28 |
243 | }, | 243 | }, |
244 | "end": { | 244 | "end": { |
245 | "line": 97, | 245 | "line": 98, |
246 | "column": 3 | 246 | "column": 3 |
247 | } | 247 | } |
248 | }, | 248 | }, |
@@ -251,11 +251,11 @@ | |||
251 | "defaultMessage": "!!!Cache", | 251 | "defaultMessage": "!!!Cache", |
252 | "file": "src/components/settings/settings/EditSettingsForm.js", | 252 | "file": "src/components/settings/settings/EditSettingsForm.js", |
253 | "start": { | 253 | "start": { |
254 | "line": 98, | 254 | "line": 99, |
255 | "column": 20 | 255 | "column": 20 |
256 | }, | 256 | }, |
257 | "end": { | 257 | "end": { |
258 | "line": 101, | 258 | "line": 102, |
259 | "column": 3 | 259 | "column": 3 |
260 | } | 260 | } |
261 | }, | 261 | }, |
@@ -264,11 +264,11 @@ | |||
264 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", | 264 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", |
265 | "file": "src/components/settings/settings/EditSettingsForm.js", | 265 | "file": "src/components/settings/settings/EditSettingsForm.js", |
266 | "start": { | 266 | "start": { |
267 | "line": 102, | 267 | "line": 103, |
268 | "column": 13 | 268 | "column": 13 |
269 | }, | 269 | }, |
270 | "end": { | 270 | "end": { |
271 | "line": 105, | 271 | "line": 106, |
272 | "column": 3 | 272 | "column": 3 |
273 | } | 273 | } |
274 | }, | 274 | }, |
@@ -277,11 +277,11 @@ | |||
277 | "defaultMessage": "!!!Couldn't clear all cache", | 277 | "defaultMessage": "!!!Couldn't clear all cache", |
278 | "file": "src/components/settings/settings/EditSettingsForm.js", | 278 | "file": "src/components/settings/settings/EditSettingsForm.js", |
279 | "start": { | 279 | "start": { |
280 | "line": 106, | 280 | "line": 107, |
281 | "column": 19 | 281 | "column": 19 |
282 | }, | 282 | }, |
283 | "end": { | 283 | "end": { |
284 | "line": 109, | 284 | "line": 110, |
285 | "column": 3 | 285 | "column": 3 |
286 | } | 286 | } |
287 | }, | 287 | }, |
@@ -290,11 +290,11 @@ | |||
290 | "defaultMessage": "!!!Clear cache", | 290 | "defaultMessage": "!!!Clear cache", |
291 | "file": "src/components/settings/settings/EditSettingsForm.js", | 291 | "file": "src/components/settings/settings/EditSettingsForm.js", |
292 | "start": { | 292 | "start": { |
293 | "line": 110, | 293 | "line": 111, |
294 | "column": 23 | 294 | "column": 23 |
295 | }, | 295 | }, |
296 | "end": { | 296 | "end": { |
297 | "line": 113, | 297 | "line": 114, |
298 | "column": 3 | 298 | "column": 3 |
299 | } | 299 | } |
300 | }, | 300 | }, |
@@ -303,11 +303,11 @@ | |||
303 | "defaultMessage": "!!!Check for updates", | 303 | "defaultMessage": "!!!Check for updates", |
304 | "file": "src/components/settings/settings/EditSettingsForm.js", | 304 | "file": "src/components/settings/settings/EditSettingsForm.js", |
305 | "start": { | 305 | "start": { |
306 | "line": 114, | 306 | "line": 115, |
307 | "column": 25 | 307 | "column": 25 |
308 | }, | 308 | }, |
309 | "end": { | 309 | "end": { |
310 | "line": 117, | 310 | "line": 118, |
311 | "column": 3 | 311 | "column": 3 |
312 | } | 312 | } |
313 | }, | 313 | }, |
@@ -316,11 +316,11 @@ | |||
316 | "defaultMessage": "!!!Restart & install update", | 316 | "defaultMessage": "!!!Restart & install update", |
317 | "file": "src/components/settings/settings/EditSettingsForm.js", | 317 | "file": "src/components/settings/settings/EditSettingsForm.js", |
318 | "start": { | 318 | "start": { |
319 | "line": 118, | 319 | "line": 119, |
320 | "column": 23 | 320 | "column": 23 |
321 | }, | 321 | }, |
322 | "end": { | 322 | "end": { |
323 | "line": 121, | 323 | "line": 122, |
324 | "column": 3 | 324 | "column": 3 |
325 | } | 325 | } |
326 | }, | 326 | }, |
@@ -329,11 +329,11 @@ | |||
329 | "defaultMessage": "!!!Is searching for update", | 329 | "defaultMessage": "!!!Is searching for update", |
330 | "file": "src/components/settings/settings/EditSettingsForm.js", | 330 | "file": "src/components/settings/settings/EditSettingsForm.js", |
331 | "start": { | 331 | "start": { |
332 | "line": 122, | 332 | "line": 123, |
333 | "column": 25 | 333 | "column": 25 |
334 | }, | 334 | }, |
335 | "end": { | 335 | "end": { |
336 | "line": 125, | 336 | "line": 126, |
337 | "column": 3 | 337 | "column": 3 |
338 | } | 338 | } |
339 | }, | 339 | }, |
@@ -342,11 +342,11 @@ | |||
342 | "defaultMessage": "!!!Update available, downloading...", | 342 | "defaultMessage": "!!!Update available, downloading...", |
343 | "file": "src/components/settings/settings/EditSettingsForm.js", | 343 | "file": "src/components/settings/settings/EditSettingsForm.js", |
344 | "start": { | 344 | "start": { |
345 | "line": 126, | 345 | "line": 127, |
346 | "column": 25 | 346 | "column": 25 |
347 | }, | 347 | }, |
348 | "end": { | 348 | "end": { |
349 | "line": 129, | 349 | "line": 130, |
350 | "column": 3 | 350 | "column": 3 |
351 | } | 351 | } |
352 | }, | 352 | }, |
@@ -355,11 +355,11 @@ | |||
355 | "defaultMessage": "!!!You are using the latest version of Ferdi", | 355 | "defaultMessage": "!!!You are using the latest version of Ferdi", |
356 | "file": "src/components/settings/settings/EditSettingsForm.js", | 356 | "file": "src/components/settings/settings/EditSettingsForm.js", |
357 | "start": { | 357 | "start": { |
358 | "line": 130, | 358 | "line": 131, |
359 | "column": 24 | 359 | "column": 24 |
360 | }, | 360 | }, |
361 | "end": { | 361 | "end": { |
362 | "line": 133, | 362 | "line": 134, |
363 | "column": 3 | 363 | "column": 3 |
364 | } | 364 | } |
365 | }, | 365 | }, |
@@ -368,11 +368,11 @@ | |||
368 | "defaultMessage": "!!!Current version:", | 368 | "defaultMessage": "!!!Current version:", |
369 | "file": "src/components/settings/settings/EditSettingsForm.js", | 369 | "file": "src/components/settings/settings/EditSettingsForm.js", |
370 | "start": { | 370 | "start": { |
371 | "line": 134, | 371 | "line": 135, |
372 | "column": 18 | 372 | "column": 18 |
373 | }, | 373 | }, |
374 | "end": { | 374 | "end": { |
375 | "line": 137, | 375 | "line": 138, |
376 | "column": 3 | 376 | "column": 3 |
377 | } | 377 | } |
378 | }, | 378 | }, |
@@ -381,11 +381,11 @@ | |||
381 | "defaultMessage": "!!!Changes require restart", | 381 | "defaultMessage": "!!!Changes require restart", |
382 | "file": "src/components/settings/settings/EditSettingsForm.js", | 382 | "file": "src/components/settings/settings/EditSettingsForm.js", |
383 | "start": { | 383 | "start": { |
384 | "line": 138, | 384 | "line": 139, |
385 | "column": 29 | 385 | "column": 29 |
386 | }, | 386 | }, |
387 | "end": { | 387 | "end": { |
388 | "line": 141, | 388 | "line": 142, |
389 | "column": 3 | 389 | "column": 3 |
390 | } | 390 | } |
391 | }, | 391 | }, |
@@ -394,11 +394,11 @@ | |||
394 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", | 394 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", |
395 | "file": "src/components/settings/settings/EditSettingsForm.js", | 395 | "file": "src/components/settings/settings/EditSettingsForm.js", |
396 | "start": { | 396 | "start": { |
397 | "line": 142, | 397 | "line": 143, |
398 | "column": 22 | 398 | "column": 22 |
399 | }, | 399 | }, |
400 | "end": { | 400 | "end": { |
401 | "line": 145, | 401 | "line": 146, |
402 | "column": 3 | 402 | "column": 3 |
403 | } | 403 | } |
404 | } | 404 | } |
diff --git a/src/i18n/messages/src/features/nightlyBuilds/Component.json b/src/i18n/messages/src/features/nightlyBuilds/Component.json new file mode 100644 index 000000000..6b86ec29f --- /dev/null +++ b/src/i18n/messages/src/features/nightlyBuilds/Component.json | |||
@@ -0,0 +1,54 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "feature.nightlyBuilds.title", | ||
4 | "defaultMessage": "!!!Nightly Builds", | ||
5 | "file": "src/features/nightlyBuilds/Component.js", | ||
6 | "start": { | ||
7 | "line": 14, | ||
8 | "column": 9 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 17, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "feature.nightlyBuilds.info", | ||
17 | "defaultMessage": "!!!Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", | ||
18 | "file": "src/features/nightlyBuilds/Component.js", | ||
19 | "start": { | ||
20 | "line": 18, | ||
21 | "column": 8 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 21, | ||
25 | "column": 3 | ||
26 | } | ||
27 | }, | ||
28 | { | ||
29 | "id": "feature.nightlyBuilds.activate", | ||
30 | "defaultMessage": "!!!Activate", | ||
31 | "file": "src/features/nightlyBuilds/Component.js", | ||
32 | "start": { | ||
33 | "line": 22, | ||
34 | "column": 12 | ||
35 | }, | ||
36 | "end": { | ||
37 | "line": 25, | ||
38 | "column": 3 | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | "id": "feature.nightlyBuilds.cancel", | ||
43 | "defaultMessage": "!!!Cancel", | ||
44 | "file": "src/features/nightlyBuilds/Component.js", | ||
45 | "start": { | ||
46 | "line": 26, | ||
47 | "column": 10 | ||
48 | }, | ||
49 | "end": { | ||
50 | "line": 29, | ||
51 | "column": 3 | ||
52 | } | ||
53 | } | ||
54 | ] \ No newline at end of file | ||
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js index 8a279bc8a..631d0318e 100644 --- a/src/stores/FeaturesStore.js +++ b/src/stores/FeaturesStore.js | |||
@@ -14,6 +14,7 @@ import serviceProxy from '../features/serviceProxy'; | |||
14 | import basicAuth from '../features/basicAuth'; | 14 | import basicAuth from '../features/basicAuth'; |
15 | import workspaces from '../features/workspaces'; | 15 | import workspaces from '../features/workspaces'; |
16 | import quickSwitch from '../features/quickSwitch'; | 16 | import quickSwitch from '../features/quickSwitch'; |
17 | import nightlyBuilds from '../features/nightlyBuilds'; | ||
17 | import publishDebugInfo from '../features/publishDebugInfo'; | 18 | import publishDebugInfo from '../features/publishDebugInfo'; |
18 | import shareFranz from '../features/shareFranz'; | 19 | import shareFranz from '../features/shareFranz'; |
19 | import announcements from '../features/announcements'; | 20 | import announcements from '../features/announcements'; |
@@ -85,6 +86,7 @@ export default class FeaturesStore extends Store { | |||
85 | basicAuth(this.stores, this.actions); | 86 | basicAuth(this.stores, this.actions); |
86 | workspaces(this.stores, this.actions); | 87 | workspaces(this.stores, this.actions); |
87 | quickSwitch(this.stores, this.actions); | 88 | quickSwitch(this.stores, this.actions); |
89 | nightlyBuilds(this.stores, this.actions); | ||
88 | publishDebugInfo(this.stores, this.actions); | 90 | publishDebugInfo(this.stores, this.actions); |
89 | shareFranz(this.stores, this.actions); | 91 | shareFranz(this.stores, this.actions); |
90 | announcements(this.stores, this.actions); | 92 | announcements(this.stores, this.actions); |
diff --git a/src/styles/quick-switch.scss b/src/styles/features.scss index 356123c4c..d2931f837 100644 --- a/src/styles/quick-switch.scss +++ b/src/styles/features.scss | |||
@@ -10,4 +10,4 @@ | |||
10 | .active { | 10 | .active { |
11 | background: $theme-brand-primary; | 11 | background: $theme-brand-primary; |
12 | } | 12 | } |
13 | } \ No newline at end of file | 13 | } |
diff --git a/src/styles/main.scss b/src/styles/main.scss index ceec4a95e..c57dc6fcd 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss | |||
@@ -30,7 +30,7 @@ $mdi-font-path: '../node_modules/mdi/fonts'; | |||
30 | @import './content-tabs.scss'; | 30 | @import './content-tabs.scss'; |
31 | @import './invite.scss'; | 31 | @import './invite.scss'; |
32 | @import './title-bar.scss'; | 32 | @import './title-bar.scss'; |
33 | @import './quick-switch.scss'; | 33 | @import './features.scss'; |
34 | 34 | ||
35 | // form | 35 | // form |
36 | @import './input.scss'; | 36 | @import './input.scss'; |