From 9508c2c1145ee75d6807b800f4758901b48d9ecb Mon Sep 17 00:00:00 2001
From: Angelina Filippova <linakirsanova@gmail.com>
Date: Sun, 23 Feb 2020 01:25:28 +0300
Subject: [PATCH] Add new groups of settings: mrfObjectAge, modules, swoosh,
 uriSchemes, feed, staticFe

---
 src/views/settings/components/Frontend.vue | 22 ++++++++++++++++------
 src/views/settings/components/Inputs.vue   |  2 +-
 src/views/settings/components/Instance.vue | 20 ++++++++++++++++++++
 src/views/settings/components/MRF.vue      | 20 ++++++++++++++++++++
 src/views/settings/components/Mailer.vue   | 10 ++++++++++
 5 files changed, 67 insertions(+), 7 deletions(-)

diff --git a/src/views/settings/components/Frontend.vue b/src/views/settings/components/Frontend.vue
index 48493e01..188a74ca 100644
--- a/src/views/settings/components/Frontend.vue
+++ b/src/views/settings/components/Frontend.vue
@@ -3,6 +3,10 @@
     <el-form ref="frontendData" :model="frontendData" :label-width="labelWidth">
       <setting :setting-group="frontend" :data="frontendData"/>
     </el-form>
+    <el-form ref="staticFeData" :model="staticFeData" :label-width="labelWidth">
+      <setting :setting-group="staticFe" :data="staticFeData"/>
+    </el-form>
+    <el-divider class="divider thick-line"/>
     <el-form ref="assetsData" :model="assetsData" :label-width="labelWidth">
       <el-form-item class="grouped-settings-header">
         <span class="label-font">{{ $t('settings.assets') }}</span>
@@ -70,12 +74,6 @@ export default {
     frontendData() {
       return _.get(this.settings.settings, [':pleroma', ':frontend_configurations']) || {}
     },
-    markup() {
-      return this.settings.description.find(setting => setting.key === ':markup')
-    },
-    markupData() {
-      return _.get(this.settings.settings, [':pleroma', ':markup']) || {}
-    },
     isMobile() {
       return this.$store.state.app.device === 'mobile'
     },
@@ -93,6 +91,18 @@ export default {
     },
     loading() {
       return this.settings.loading
+    },
+    markup() {
+      return this.settings.description.find(setting => setting.key === ':markup')
+    },
+    markupData() {
+      return _.get(this.settings.settings, [':pleroma', ':markup']) || {}
+    },
+    staticFe() {
+      return this.settings.description.find(setting => setting.key === ':static_fe')
+    },
+    staticFeData() {
+      return _.get(this.settings.settings, [':pleroma', ':static_fe']) || {}
     }
   },
   methods: {
diff --git a/src/views/settings/components/Inputs.vue b/src/views/settings/components/Inputs.vue
index 9b6da5e9..581324d9 100644
--- a/src/views/settings/components/Inputs.vue
+++ b/src/views/settings/components/Inputs.vue
@@ -187,7 +187,7 @@ export default {
       return Array.isArray(this.data[':icons']) ? this.data[':icons'] : []
     },
     inputValue() {
-      if ([':esshd', ':cors_plug', ':quack', ':http_signatures', ':tesla'].includes(this.settingGroup.group) &&
+      if ([':esshd', ':cors_plug', ':quack', ':http_signatures', ':tesla', ':swoosh'].includes(this.settingGroup.group) &&
         this.data[this.setting.key]) {
         return this.setting.type === 'atom' && this.data[this.setting.key].value[0] === ':'
           ? this.data[this.setting.key].value.substr(1)
diff --git a/src/views/settings/components/Instance.vue b/src/views/settings/components/Instance.vue
index eb8eb34b..f87c7736 100644
--- a/src/views/settings/components/Instance.vue
+++ b/src/views/settings/components/Instance.vue
@@ -23,6 +23,14 @@
     <el-form ref="pleromaUser" :model="pleromaUserData" :label-width="labelWidth">
       <setting :setting-group="pleromaUser" :data="pleromaUserData"/>
     </el-form>
+    <el-divider class="divider thick-line"/>
+    <el-form ref="uriSchemes" :model="uriSchemesData" :label-width="labelWidth">
+      <setting :setting-group="uriSchemes" :data="uriSchemesData"/>
+    </el-form>
+    <el-divider class="divider thick-line"/>
+    <el-form ref="feed" :model="feedData" :label-width="labelWidth">
+      <setting :setting-group="feed" :data="feedData"/>
+    </el-form>
     <div class="submit-button-container">
       <el-button class="submit-button" type="primary" @click="onSubmit">Submit</el-button>
     </div>
@@ -50,6 +58,12 @@ export default {
     adminTokenData() {
       return _.get(this.settings.settings, [':pleroma', ':admin_token']) || {}
     },
+    feed() {
+      return this.settings.description.find(setting => setting.key === ':feed')
+    },
+    feedData() {
+      return _.get(this.settings.settings, [':pleroma', ':feed']) || {}
+    },
     fetchInitialPosts() {
       return this.settings.description.find(setting => setting.key === ':fetch_initial_posts')
     },
@@ -97,6 +111,12 @@ export default {
     },
     scheduledActivityData() {
       return _.get(this.settings.settings, [':pleroma', 'Pleroma.ScheduledActivity']) || {}
+    },
+    uriSchemes() {
+      return this.settings.description.find(setting => setting.key === ':uri_schemes')
+    },
+    uriSchemesData() {
+      return _.get(this.settings.settings, [':pleroma', ':uri_schemes']) || {}
     }
   },
   methods: {
diff --git a/src/views/settings/components/MRF.vue b/src/views/settings/components/MRF.vue
index a5e05eb1..7528c8b2 100644
--- a/src/views/settings/components/MRF.vue
+++ b/src/views/settings/components/MRF.vue
@@ -29,6 +29,14 @@
     <el-form ref="mrfVocabulary" :model="mrfVocabularyData" :label-width="labelWidth">
       <setting :setting-group="mrfVocabulary" :data="mrfVocabularyData"/>
     </el-form>
+    <el-divider class="divider thick-line"/>
+    <el-form ref="mrfObjectAge" :model="mrfObjectAgeData" :label-width="labelWidth">
+      <setting :setting-group="mrfObjectAge" :data="mrfObjectAgeData"/>
+    </el-form>
+    <el-divider class="divider thick-line"/>
+    <el-form ref="modules" :model="modulesData" :label-width="labelWidth">
+      <setting :setting-group="modules" :data="modulesData"/>
+    </el-form>
     <div class="submit-button-container">
       <el-button class="submit-button" type="primary" @click="onSubmit">Submit</el-button>
     </div>
@@ -66,6 +74,12 @@ export default {
     loading() {
       return this.settings.loading
     },
+    modules() {
+      return this.settings.description.find(setting => setting.key === ':modules')
+    },
+    modulesData() {
+      return _.get(this.settings.settings, [':pleroma', ':modules']) || {}
+    },
     mrfSimple() {
       return this.settings.description.find(setting => setting.key === ':mrf_simple')
     },
@@ -90,6 +104,12 @@ export default {
     mrfKeywordData() {
       return _.get(this.settings.settings, [':pleroma', ':mrf_keyword']) || {}
     },
+    mrfObjectAge() {
+      return this.settings.description.find(setting => setting.key === ':mrf_object_age')
+    },
+    mrfObjectAgeData() {
+      return _.get(this.settings.settings, [':pleroma', ':mrf_object_age']) || {}
+    },
     mrfSubchain() {
       return this.settings.description.find(setting => setting.key === ':mrf_subchain')
     },
diff --git a/src/views/settings/components/Mailer.vue b/src/views/settings/components/Mailer.vue
index 2eb4db08..1624eff2 100644
--- a/src/views/settings/components/Mailer.vue
+++ b/src/views/settings/components/Mailer.vue
@@ -4,6 +4,10 @@
       <setting :setting-group="mailer" :data="mailerData"/>
     </el-form>
     <el-divider class="divider thick-line"/>
+    <el-form ref="swoosh" :model="swooshData" :label-width="labelWidth">
+      <setting :setting-group="swoosh" :data="swooshData"/>
+    </el-form>
+    <el-divider class="divider thick-line"/>
     <el-form ref="emailNotifications" :model="emailNotificationsData" :label-width="labelWidth">
       <setting :setting-group="emailNotifications" :data="emailNotificationsData"/>
     </el-form>
@@ -61,6 +65,12 @@ export default {
     mailerData() {
       return _.get(this.settings.settings, [':pleroma', 'Pleroma.Emails.Mailer']) || {}
     },
+    swoosh() {
+      return this.settings.description.find(setting => setting.group === ':swoosh')
+    },
+    swooshData() {
+      return _.get(this.settings.settings, [':swoosh']) || {}
+    },
     userEmail() {
       return this.settings.description.find(setting => setting.key === 'Pleroma.Emails.UserEmail')
     },
-- 
GitLab