diff --git a/src/views/settings/components/tabs.js b/src/views/settings/components/tabs.js index f9b41621..5c170353 100644 --- a/src/views/settings/components/tabs.js +++ b/src/views/settings/components/tabs.js @@ -65,7 +65,7 @@ export const tabs = { }, 'relays': { label: 'settings.relays', - settings: [] + settings: ['relays'] }, 'web-push': { label: 'settings.webPush', diff --git a/src/views/settings/index.vue b/src/views/settings/index.vue index a9fe87e5..db623184 100644 --- a/src/views/settings/index.vue +++ b/src/views/settings/index.vue @@ -229,8 +229,17 @@ export default { cb(results) }, settingsCantBeChanged(settings) { - const existingSettings = settings.filter(setting => - this.$store.state.settings.description.findIndex(el => el.key === setting) !== -1) + const existingSettings = settings.filter(setting => { + if ([':esshd', ':cors_plug', ':http_signatures', ':quack', ':logger', ':swoosh', ':mime'].includes(setting)) { + return this.$store.state.settings.description.findIndex(el => el.group === setting) !== -1 + } else if (setting === 'Pleroma.Web.Auth.Authenticator' || setting === ':admin_token') { + return this.$store.state.settings.description.findIndex(el => el.children[0].key === setting) !== -1 + } else if (setting === 'relays') { + return [setting] + } else { + return this.$store.state.settings.description.findIndex(el => el.key === setting) !== -1 + } + }) return existingSettings.length === 0 } }