aboutsummaryrefslogtreecommitdiff
path: root/src/components/settings_modal/admin_tabs/frontends_tab.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2023-06-05 21:53:14 +0300
committerHenry Jameson <me@hjkos.com>2023-06-05 21:53:14 +0300
commit5e656cc0b40a26435556fff79636c0b2e9c8af4f (patch)
tree8efc5369ac64d471b4d61f731bd99653f7e1e19d /src/components/settings_modal/admin_tabs/frontends_tab.js
parent00b47e16736f8b472f20dab8def30fb22d54c8be (diff)
parentae5181d21eefecc0167e2a076e6c8ad44f3ca859 (diff)
Merge remote-tracking branch 'origin/develop' into harden-parser
Diffstat (limited to 'src/components/settings_modal/admin_tabs/frontends_tab.js')
-rw-r--r--src/components/settings_modal/admin_tabs/frontends_tab.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/components/settings_modal/admin_tabs/frontends_tab.js b/src/components/settings_modal/admin_tabs/frontends_tab.js
new file mode 100644
index 00000000..a2c27c2a
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/frontends_tab.js
@@ -0,0 +1,64 @@
+import BooleanSetting from '../helpers/boolean_setting.vue'
+import ChoiceSetting from '../helpers/choice_setting.vue'
+import IntegerSetting from '../helpers/integer_setting.vue'
+import StringSetting from '../helpers/string_setting.vue'
+import GroupSetting from '../helpers/group_setting.vue'
+import Popover from 'src/components/popover/popover.vue'
+
+import SharedComputedObject from '../helpers/shared_computed_object.js'
+import { library } from '@fortawesome/fontawesome-svg-core'
+import {
+ faGlobe
+} from '@fortawesome/free-solid-svg-icons'
+
+library.add(
+ faGlobe
+)
+
+const FrontendsTab = {
+ provide () {
+ return {
+ defaultDraftMode: true,
+ defaultSource: 'admin'
+ }
+ },
+ components: {
+ BooleanSetting,
+ ChoiceSetting,
+ IntegerSetting,
+ StringSetting,
+ GroupSetting,
+ Popover
+ },
+ created () {
+ if (this.user.rights.admin) {
+ this.$store.dispatch('loadFrontendsStuff')
+ }
+ },
+ computed: {
+ frontends () {
+ return this.$store.state.adminSettings.frontends
+ },
+ ...SharedComputedObject()
+ },
+ methods: {
+ update (frontend, suggestRef) {
+ const ref = suggestRef || frontend.refs[0]
+ const { name } = frontend
+ const payload = { name, ref }
+
+ this.$store.state.api.backendInteractor.installFrontend({ payload })
+ .then((externalUser) => {
+ this.$store.dispatch('loadFrontendsStuff')
+ })
+ },
+ setDefault (frontend, suggestRef) {
+ const ref = suggestRef || frontend.refs[0]
+ const { name } = frontend
+
+ this.$store.commit('updateAdminDraft', { path: [':pleroma', ':frontends', ':primary'], value: { name, ref } })
+ }
+ }
+}
+
+export default FrontendsTab