client: Allow switching theme

This commit is contained in:
Elian Doran 2024-10-27 12:54:06 +02:00
parent 7354fb5b4a
commit 60b6f7df89
No known key found for this signature in database
3 changed files with 9 additions and 3 deletions

View File

@ -18,6 +18,10 @@ export default class HighlightingOptions extends OptionsWidget {
doRender() {
this.$widget = $(TPL);
this.$themeSelect = this.$widget.find(".theme-select");
this.$themeSelect.on("change", async () => {
const newTheme = this.$themeSelect.val();
await server.put(`options/highlightingTheme/${newTheme}`);
});
}
async optionsLoaded(options) {
@ -27,8 +31,8 @@ export default class HighlightingOptions extends OptionsWidget {
for (const theme of themes) {
this.$themeSelect.append($("<option>")
.attr("value", theme.val)
.text(theme.title)
);
.text(theme.title));
}
this.$themeSelect.val(options.highlightingTheme);
}
}

View File

@ -16,6 +16,7 @@ const ALLOWED_OPTIONS = new Set([
'revisionSnapshotNumberLimit',
'zoomFactor',
'theme',
'highlightingTheme',
'syncServerHost',
'syncServerTimeout',
'syncProxy',

View File

@ -41,6 +41,7 @@ async function initNotSyncedOptions(initialized: boolean, theme: string, opts: N
optionService.createOption('lastSyncedPush', '0', false);
optionService.createOption('theme', theme, false);
optionService.createOption('highlightingTheme', "default:atom-one-dark", false);
optionService.createOption('syncServerHost', opts.syncServerHost || '', false);
optionService.createOption('syncServerTimeout', '120000', false);