From 4e1fc89de9ce3bf00f7387f39062d1b4878ecd16 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Sat, 21 Sep 2019 11:37:30 +0200 Subject: Add scheduled Do-not-Disturb feature --- .../settings/settings/EditSettingsForm.js | 64 +++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) (limited to 'src/components/settings') diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index c1e812008..52bd18603 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js @@ -38,6 +38,14 @@ const messages = defineMessages({ id: 'settings.app.lockedPasswordInfo', defaultMessage: '!!!Please make sure to set a password you\'ll remember.\nIf you loose this password, you will have to reinstall Ferdi.', }, + scheduledDNDTimeInfo: { + id: 'settings.app.scheduledDNDTimeInfo', + 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.', + }, + scheduledDNDInfo: { + id: 'settings.app.scheduledDNDInfo', + defaultMessage: '!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.', + }, headlineLanguage: { id: 'settings.app.headlineLanguage', defaultMessage: '!!!Language', @@ -167,7 +175,11 @@ export default @observer class EditSettingsForm extends Component { } const isLoggedIn = Boolean(localStorage.getItem('authToken')); - const lockingFeatureEnabled = window.ferdi.stores.settings.all.app.lockingFeatureEnabled; + + const { + lockingFeatureEnabled, + scheduledDNDEnabled, + } = window.ferdi.stores.settings.all.app; return (
@@ -273,6 +285,56 @@ export default @observer class EditSettingsForm extends Component {

+ + {scheduledDNDEnabled && ( + <> +
+
+ this.submit(e)} + field={form.$('scheduledDNDStart')} + type="time" + /> +
+
+ this.submit(e)} + field={form.$('scheduledDNDEnd')} + type="time" + /> +
+
+

+ { intl.formatMessage(messages.scheduledDNDTimeInfo) } +

+ + )} +

+ + { intl.formatMessage(messages.scheduledDNDInfo) } + +

+ + {/* Appearance */}

{intl.formatMessage(messages.headlineAppearance)}

-- cgit v1.2.3-54-g00ecf