From 87acd45d1fc6d4b97c12b2044b755b4fc1f1dc33 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Sat, 7 Sep 2019 18:15:59 +0200 Subject: Make todo server editable --- .../settings/settings/EditSettingsForm.js | 15 ++++- src/config.js | 1 + src/containers/settings/EditSettingsScreen.js | 12 +++- src/features/todos/components/TodosWebview.js | 12 +++- src/i18n/locales/en-US.json | 2 + .../settings/settings/EditSettingsForm.json | 77 +++++++++++++--------- .../containers/settings/EditSettingsScreen.json | 45 ++++++++----- .../features/todos/components/TodosWebview.json | 12 ++-- 8 files changed, 117 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 19333fdff..da9d72009 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js @@ -26,6 +26,10 @@ const messages = defineMessages({ id: 'settings.app.serverInfo', defaultMessage: '!!!We advice you to logout after changing your server as your settings might not be saved otherwise.', }, + todoServerInfo: { + id: 'settings.app.todoServerInfo', + defaultMessage: '!!!This server will be used for the "Franz Todo" feature. The default server will only work for premium users. (default: https://app.franztodos.com)' + }, headlineLanguage: { id: 'settings.app.headlineLanguage', defaultMessage: '!!!Language', @@ -181,7 +185,16 @@ export default @observer class EditSettingsForm extends Component {

{ intl.formatMessage(messages.serverInfo) }

)} {isTodosEnabled && ( - + <> + + this.submit(e)} + field={form.$('todoServer')} + autoFocus + /> +

{ intl.formatMessage(messages.todoServerInfo) }

+ )} {/* Appearance */} diff --git a/src/config.js b/src/config.js index dcbc53bf5..06b4b79a9 100644 --- a/src/config.js +++ b/src/config.js @@ -37,6 +37,7 @@ export const DEFAULT_APP_SETTINGS = { enableSystemTray: true, minimizeToSystemTray: false, server: LIVE_API, + todoServer: PRODUCTION_TODOS_FRONTEND_URL, showDisabledServices: true, showMessageBadgeWhenMuted: true, enableSpellchecking: true, diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js index 954f64dc6..d03b01539 100644 --- a/src/containers/settings/EditSettingsScreen.js +++ b/src/containers/settings/EditSettingsScreen.js @@ -17,7 +17,7 @@ import { getSelectOptions } from '../../helpers/i18n-helpers'; import EditSettingsForm from '../../components/settings/settings/EditSettingsForm'; import ErrorBoundary from '../../components/util/ErrorBoundary'; -import { API } from '../../environment'; +import { API, TODOS_FRONTEND } from '../../environment'; import globalMessages from '../../i18n/globalMessages'; import { DEFAULT_IS_FEATURE_ENABLED_BY_USER } from '../../features/todos'; @@ -47,6 +47,10 @@ const messages = defineMessages({ id: 'settings.app.form.server', defaultMessage: '!!!Server', }, + todoServer: { + id: 'settings.app.form.todoServer', + defaultMessage: '!!!Todo Server', + }, language: { id: 'settings.app.form.language', defaultMessage: '!!!Language', @@ -107,6 +111,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e enableSystemTray: settingsData.enableSystemTray, minimizeToSystemTray: settingsData.minimizeToSystemTray, server: settingsData.server, + todoServer: settingsData.todoServer, enableGPUAcceleration: settingsData.enableGPUAcceleration, showDisabledServices: settingsData.showDisabledServices, darkMode: settingsData.darkMode, @@ -177,6 +182,11 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e value: settings.all.app.server || API, default: API, }, + todoServer: { + label: intl.formatMessage(messages.todoServer), + value: settings.all.app.todoServer || TODOS_FRONTEND, + default: TODOS_FRONTEND, + }, showDisabledServices: { label: intl.formatMessage(messages.showDisabledServices), value: settings.all.app.showDisabledServices, diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js index c06183e37..530a5b2a9 100644 --- a/src/features/todos/components/TodosWebview.js +++ b/src/features/todos/components/TodosWebview.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { observer } from 'mobx-react'; +import { observer, inject } from 'mobx-react'; import injectSheet from 'react-jss'; import Webview from 'react-electron-web-view'; import { Icon } from '@meetfranz/ui'; @@ -11,6 +11,8 @@ import * as environment from '../../../environment'; import Appear from '../../../components/ui/effects/Appear'; import UpgradeButton from '../../../components/ui/UpgradeButton'; +import SettingsStore from '../../../stores/SettingsStore' + const OPEN_TODOS_BUTTON_SIZE = 45; const CLOSE_TODOS_BUTTON_SIZE = 35; @@ -127,7 +129,7 @@ const styles = theme => ({ }, }); -@injectSheet(styles) @observer +@injectSheet(styles) @observer @inject('stores') class TodosWebview extends Component { static propTypes = { classes: PropTypes.object.isRequired, @@ -139,6 +141,9 @@ class TodosWebview extends Component { width: PropTypes.number.isRequired, minWidth: PropTypes.number.isRequired, isTodosIncludedInCurrentPlan: PropTypes.bool.isRequired, + stores: PropTypes.shape({ + settings: PropTypes.instanceOf(SettingsStore).isRequired, + }).isRequired, }; state = { @@ -230,6 +235,7 @@ class TodosWebview extends Component { isVisible, togglePanel, isTodosIncludedInCurrentPlan, + stores, } = this.props; const { @@ -276,7 +282,7 @@ class TodosWebview extends Component { partition="persist:todos" preload="./features/todos/preload.js" ref={(webview) => { this.webview = webview ? webview.view : null; }} - src={environment.TODOS_FRONTEND} + src={ stores.settings.all.app.todoServer || environment.TODOS_FRONTEND} /> ) : ( diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 72a296430..93ec1840e 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json @@ -218,6 +218,7 @@ "settings.app.form.server": "Server", "settings.app.form.showDisabledServices": "Display disabled services tabs", "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled", + "settings.app.form.todoServer": "Todo Server", "settings.app.headline": "Settings", "settings.app.headlineAdvanced": "Advanced", "settings.app.headlineAppearance": "Appearance", @@ -228,6 +229,7 @@ "settings.app.restartRequired": "Changes require restart", "settings.app.serverInfo": "We advice you to logout after changing your server as your settings might not be saved otherwise.", "settings.app.subheadlineCache": "Cache", + "settings.app.todoServerInfo": "This server will be used for the \"Franz Todo\" feature. The default server may not work for non-premium users. (default: https://app.franztodos.com)", "settings.app.translationHelp": "Help us to translate Ferdi into your language.", "settings.app.updateStatusAvailable": "Update available, downloading...", "settings.app.updateStatusSearching": "Is searching for update", diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json index a62ddb5b8..52553a727 100644 --- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json +++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json @@ -38,16 +38,29 @@ "column": 3 } }, + { + "id": "settings.app.todoServerInfo", + "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. The default server will only work for premium users. (default: https://app.franztodos.com)", + "file": "src/components/settings/settings/EditSettingsForm.js", + "start": { + "line": 29, + "column": 18 + }, + "end": { + "line": 32, + "column": 3 + } + }, { "id": "settings.app.headlineLanguage", "defaultMessage": "!!!Language", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 29, + "line": 33, "column": 20 }, "end": { - "line": 32, + "line": 36, "column": 3 } }, @@ -56,11 +69,11 @@ "defaultMessage": "!!!Updates", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 33, + "line": 37, "column": 19 }, "end": { - "line": 36, + "line": 40, "column": 3 } }, @@ -69,11 +82,11 @@ "defaultMessage": "!!!Appearance", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 37, + "line": 41, "column": 22 }, "end": { - "line": 40, + "line": 44, "column": 3 } }, @@ -82,11 +95,11 @@ "defaultMessage": "!!!Advanced", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 41, + "line": 45, "column": 20 }, "end": { - "line": 44, + "line": 48, "column": 3 } }, @@ -95,11 +108,11 @@ "defaultMessage": "!!!Help us to translate Ferdi into your language.", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 45, + "line": 49, "column": 19 }, "end": { - "line": 48, + "line": 52, "column": 3 } }, @@ -108,11 +121,11 @@ "defaultMessage": "!!!Cache", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 49, + "line": 53, "column": 20 }, "end": { - "line": 52, + "line": 56, "column": 3 } }, @@ -121,11 +134,11 @@ "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 53, + "line": 57, "column": 13 }, "end": { - "line": 56, + "line": 60, "column": 3 } }, @@ -134,11 +147,11 @@ "defaultMessage": "!!!Clear cache", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 57, + "line": 61, "column": 23 }, "end": { - "line": 60, + "line": 64, "column": 3 } }, @@ -147,11 +160,11 @@ "defaultMessage": "!!!Check for updates", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 61, + "line": 65, "column": 25 }, "end": { - "line": 64, + "line": 68, "column": 3 } }, @@ -160,11 +173,11 @@ "defaultMessage": "!!!Restart & install update", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 65, + "line": 69, "column": 23 }, "end": { - "line": 68, + "line": 72, "column": 3 } }, @@ -173,11 +186,11 @@ "defaultMessage": "!!!Is searching for update", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 69, + "line": 73, "column": 25 }, "end": { - "line": 72, + "line": 76, "column": 3 } }, @@ -186,11 +199,11 @@ "defaultMessage": "!!!Update available, downloading...", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 73, + "line": 77, "column": 25 }, "end": { - "line": 76, + "line": 80, "column": 3 } }, @@ -199,11 +212,11 @@ "defaultMessage": "!!!You are using the latest version of Franz", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 77, + "line": 81, "column": 24 }, "end": { - "line": 80, + "line": 84, "column": 3 } }, @@ -212,11 +225,11 @@ "defaultMessage": "!!!Current version:", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 81, + "line": 85, "column": 18 }, "end": { - "line": 84, + "line": 88, "column": 3 } }, @@ -225,11 +238,11 @@ "defaultMessage": "!!!Changes require restart", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 85, + "line": 89, "column": 29 }, "end": { - "line": 88, + "line": 92, "column": 3 } }, @@ -238,11 +251,11 @@ "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", "file": "src/components/settings/settings/EditSettingsForm.js", "start": { - "line": 89, + "line": 93, "column": 22 }, "end": { - "line": 92, + "line": 96, "column": 3 } } diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json index cda7a90d9..70ec74ada 100644 --- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json +++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json @@ -77,16 +77,29 @@ "column": 3 } }, + { + "id": "settings.app.form.todoServer", + "defaultMessage": "!!!Todo Server", + "file": "src/containers/settings/EditSettingsScreen.js", + "start": { + "line": 50, + "column": 14 + }, + "end": { + "line": 53, + "column": 3 + } + }, { "id": "settings.app.form.language", "defaultMessage": "!!!Language", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 50, + "line": 54, "column": 12 }, "end": { - "line": 53, + "line": 57, "column": 3 } }, @@ -95,11 +108,11 @@ "defaultMessage": "!!!Dark Mode", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 54, + "line": 58, "column": 12 }, "end": { - "line": 57, + "line": 61, "column": 3 } }, @@ -108,11 +121,11 @@ "defaultMessage": "!!!Display disabled services tabs", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 58, + "line": 62, "column": 24 }, "end": { - "line": 61, + "line": 65, "column": 3 } }, @@ -121,11 +134,11 @@ "defaultMessage": "!!!Show unread message badge when notifications are disabled", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 62, + "line": 66, "column": 29 }, "end": { - "line": 65, + "line": 69, "column": 3 } }, @@ -134,11 +147,11 @@ "defaultMessage": "!!!Enable spell checking", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 66, + "line": 70, "column": 23 }, "end": { - "line": 69, + "line": 73, "column": 3 } }, @@ -147,11 +160,11 @@ "defaultMessage": "!!!Enable GPU Acceleration", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 70, + "line": 74, "column": 25 }, "end": { - "line": 73, + "line": 77, "column": 3 } }, @@ -160,11 +173,11 @@ "defaultMessage": "!!!Include beta versions", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 74, + "line": 78, "column": 8 }, "end": { - "line": 77, + "line": 81, "column": 3 } }, @@ -173,11 +186,11 @@ "defaultMessage": "!!!Enable Franz Todos", "file": "src/containers/settings/EditSettingsScreen.js", "start": { - "line": 78, + "line": 82, "column": 15 }, "end": { - "line": 81, + "line": 85, "column": 3 } } diff --git a/src/i18n/messages/src/features/todos/components/TodosWebview.json b/src/i18n/messages/src/features/todos/components/TodosWebview.json index 9cc3325d1..664e8613b 100644 --- a/src/i18n/messages/src/features/todos/components/TodosWebview.json +++ b/src/i18n/messages/src/features/todos/components/TodosWebview.json @@ -4,11 +4,11 @@ "defaultMessage": "!!!Franz Todos are available to premium users now!", "file": "src/features/todos/components/TodosWebview.js", "start": { - "line": 18, + "line": 20, "column": 15 }, "end": { - "line": 21, + "line": 23, "column": 3 } }, @@ -17,11 +17,11 @@ "defaultMessage": "!!!Upgrade Account", "file": "src/features/todos/components/TodosWebview.js", "start": { - "line": 22, + "line": 24, "column": 14 }, "end": { - "line": 25, + "line": 27, "column": 3 } }, @@ -30,11 +30,11 @@ "defaultMessage": "!!!Everyone else will have to wait a little longer.", "file": "src/features/todos/components/TodosWebview.js", "start": { - "line": 26, + "line": 28, "column": 15 }, "end": { - "line": 29, + "line": 31, "column": 3 } } -- cgit v1.2.3-70-g09d2