signal-desktop/js/settings_start.js

66 lines
1.8 KiB
JavaScript
Raw Normal View History

/* global $, Whisper */
2019-11-07 21:36:16 +00:00
$(document).on('keydown', e => {
if (e.keyCode === 27) {
window.closeSettings();
}
});
const $body = $(document.body);
2019-05-16 22:32:38 +00:00
async function applyTheme() {
const theme = await window.getThemeSetting();
$body.removeClass('light-theme');
$body.removeClass('dark-theme');
$body.addClass(`${theme === 'system' ? window.systemTheme : theme}-theme`);
}
applyTheme();
window.subscribeToSystemThemeChange(() => {
applyTheme();
});
const getInitialData = async () => ({
deviceName: await window.getDeviceName(),
themeSetting: await window.getThemeSetting(),
hideMenuBar: await window.getHideMenuBar(),
notificationSetting: await window.getNotificationSetting(),
audioNotification: await window.getAudioNotification(),
notificationDrawAttention: await window.getNotificationDrawAttention(),
countMutedConversations: await window.getCountMutedConversations(),
2018-07-19 01:46:12 +00:00
spellCheck: await window.getSpellCheck(),
2020-06-04 18:16:19 +00:00
incomingCallNotification: await window.getIncomingCallNotification(),
callRingtoneNotification: await window.getCallRingtoneNotification(),
callSystemNotification: await window.getCallSystemNotification(),
alwaysRelayCalls: await window.getAlwaysRelayCalls(),
mediaPermissions: await window.getMediaPermissions(),
2020-06-04 18:16:19 +00:00
mediaCameraPermissions: await window.getMediaCameraPermissions(),
isPrimary: await window.isPrimary(),
lastSyncTime: await window.getLastSyncTime(),
});
window.initialRequest = getInitialData();
// eslint-disable-next-line more/no-then
2019-01-16 03:03:56 +00:00
window.initialRequest.then(
data => {
window.initialData = data;
window.view = new Whisper.SettingsView();
window.view.$el.appendTo($body);
},
error => {
window.log.error(
'settings.initialRequest error:',
error && error.stack ? error.stack : error
);
window.closeSettings();
}
);