mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-24 08:33:36 +00:00
This adds the do not disturb button to the left sidebar which disables sound and notifications. It also disables flash taskbar on windows. Fixes: #298.
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
const ConfigUtil = require(__dirname + '/config-util.js');
|
|
|
|
function toggle() {
|
|
const dnd = !ConfigUtil.getConfigItem('dnd', false);
|
|
const dndSettingList = ['showNotification', 'silent'];
|
|
if (process.platform === 'win32') {
|
|
dndSettingList.push('flashTaskbarOnMessage');
|
|
}
|
|
|
|
let newSettings;
|
|
if (dnd) {
|
|
const oldSettings = {};
|
|
newSettings = {};
|
|
|
|
// Iterate through the dndSettingList.
|
|
for (const settingName of dndSettingList) {
|
|
// Store the current value of setting.
|
|
oldSettings[settingName] = ConfigUtil.getConfigItem(settingName);
|
|
// New value of setting.
|
|
newSettings[settingName] = (settingName === 'silent');
|
|
}
|
|
|
|
// Store old value in oldSettings.
|
|
ConfigUtil.setConfigItem('dndPreviousSettings', oldSettings);
|
|
} else {
|
|
newSettings = ConfigUtil.getConfigItem('dndPreviousSettings');
|
|
}
|
|
|
|
for (const settingName of dndSettingList) {
|
|
ConfigUtil.setConfigItem(settingName, newSettings[settingName]);
|
|
}
|
|
|
|
ConfigUtil.setConfigItem('dnd', dnd);
|
|
return {dnd, newSettings};
|
|
}
|
|
|
|
module.exports = {
|
|
toggle
|
|
};
|