diff --git a/src/components/views/settings/tabs/user/GeneralUserSettingsTab.js b/src/components/views/settings/tabs/user/GeneralUserSettingsTab.js index d0509644b5..e9b30430a3 100644 --- a/src/components/views/settings/tabs/user/GeneralUserSettingsTab.js +++ b/src/components/views/settings/tabs/user/GeneralUserSettingsTab.js @@ -438,6 +438,12 @@ export default class GeneralUserSettingsTab extends React.Component { ); } + const themes = Object.entries(enumerateThemes()) + .map(p => ({id: p[0], name: p[1]})); // convert pairs to objects for code readability + const builtInThemes = themes.filter(p => !p.id.startsWith("custom-")); + const customThemes = themes.filter(p => !builtInThemes.includes(p)) + .sort((a, b) => a.name.localeCompare(b.name)); + const orderedThemes = [...builtInThemes, ...customThemes]; return (
{_t("Theme")} @@ -446,8 +452,8 @@ export default class GeneralUserSettingsTab extends React.Component { value={this.state.theme} onChange={this._onThemeChange} disabled={this.state.useSystemTheme} > - {Object.entries(enumerateThemes()).map(([theme, text]) => { - return ; + {orderedThemes.map(theme => { + return ; })} {customThemeForm}