aboutsummaryrefslogtreecommitdiff
path: root/src/components/settings_modal/admin_tabs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/settings_modal/admin_tabs')
-rw-r--r--src/components/settings_modal/admin_tabs/instance_tab.js29
-rw-r--r--src/components/settings_modal/admin_tabs/instance_tab.vue119
-rw-r--r--src/components/settings_modal/admin_tabs/limits_tab.js29
-rw-r--r--src/components/settings_modal/admin_tabs/limits_tab.vue152
4 files changed, 329 insertions, 0 deletions
diff --git a/src/components/settings_modal/admin_tabs/instance_tab.js b/src/components/settings_modal/admin_tabs/instance_tab.js
new file mode 100644
index 00000000..4a261659
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/instance_tab.js
@@ -0,0 +1,29 @@
+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 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 InstanceTab = {
+ data () {},
+ components: {
+ BooleanSetting,
+ ChoiceSetting,
+ IntegerSetting,
+ StringSetting
+ },
+ computed: {
+ ...SharedComputedObject()
+ }
+}
+
+export default InstanceTab
diff --git a/src/components/settings_modal/admin_tabs/instance_tab.vue b/src/components/settings_modal/admin_tabs/instance_tab.vue
new file mode 100644
index 00000000..ad271293
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/instance_tab.vue
@@ -0,0 +1,119 @@
+<template>
+ <div :label="$t('admin_dash.instance')">
+ <div class="setting-item">
+ <h2>{{ $t('admin_dash.instance') }}</h2>
+ <ul class="setting-list">
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:name"
+ draft-mode
+ >
+ NAME
+ </StringSetting>
+ </li>
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:email"
+ draft-mode
+ >
+ ADMIN EMAIL
+ </StringSetting>
+ </li>
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:description"
+ draft-mode
+ >
+ DESCRIPTION
+ </StringSetting>
+ </li>
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:short_description"
+ draft-mode
+ >
+ SHORT DESCRIPTION
+ </StringSetting>
+ </li>
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:instance_thumbnail"
+ draft-mode
+ >
+ INSTANCE THUMBNAIL
+ </StringSetting>
+ </li>
+ <li>
+ <StringSetting
+ source="admin"
+ path=":pleroma.:instance.:background_image"
+ draft-mode
+ >
+ BACKGROUND IMAGE
+ </StringSetting>
+ </li>
+ <li>
+ <BooleanSetting
+ source="admin"
+ path=":pleroma.:instance.:public"
+ draft-mode
+ >
+ PUBLIC
+ </BooleanSetting>
+ </li>
+ </ul>
+ </div>
+ <div class="setting-item">
+ <h2>{{ $t('admin_dash.registrations') }}</h2>
+ <ul class="setting-list">
+ <li>
+ <BooleanSetting
+ source="admin"
+ path=":pleroma.:instance.:registrations_open"
+ draft-mode
+ >
+ REGISTRATIONS OPEN
+ </BooleanSetting>
+ <ul class="setting-list suboptions">
+ <li>
+ <BooleanSetting
+ source="admin"
+ path=":pleroma.:instance.:invites_enabled"
+ parent-path=":pleroma.:instance.:registrations_open"
+ :parent-invert="true"
+ draft-mode
+ >
+ INVITES ENABLED
+ </BooleanSetting>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <BooleanSetting
+ source="admin"
+ path=":pleroma.:instance.:account_activation_required"
+ draft-mode
+ >
+ ACTIVATION REQUIRED
+ </BooleanSetting>
+ </li>
+ <li>
+ <BooleanSetting
+ source="admin"
+ path=":pleroma.:instance.:account_approval_required"
+ draft-mode
+ >
+ APPROVAL REQUIRED
+ </BooleanSetting>
+ </li>
+ </ul>
+ </div>
+ </div>
+</template>
+
+<script src="./instance_tab.js"></script>
diff --git a/src/components/settings_modal/admin_tabs/limits_tab.js b/src/components/settings_modal/admin_tabs/limits_tab.js
new file mode 100644
index 00000000..684739c3
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/limits_tab.js
@@ -0,0 +1,29 @@
+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 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 LimitsTab = {
+ data () {},
+ components: {
+ BooleanSetting,
+ ChoiceSetting,
+ IntegerSetting,
+ StringSetting
+ },
+ computed: {
+ ...SharedComputedObject()
+ }
+}
+
+export default LimitsTab
diff --git a/src/components/settings_modal/admin_tabs/limits_tab.vue b/src/components/settings_modal/admin_tabs/limits_tab.vue
new file mode 100644
index 00000000..3f07c554
--- /dev/null
+++ b/src/components/settings_modal/admin_tabs/limits_tab.vue
@@ -0,0 +1,152 @@
+<template>
+ <div :label="$t('admin_dash.instance')">
+ <div class="setting-item">
+ <h2>{{ $t('admin_dash.arbitrary_limits') }}</h2>
+ <ul class="setting-list">
+ <li>
+ <h3>{{ $t('admin_dash.limits.posts') }}</h3>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:limit"
+ draft-mode
+ >
+ POST LIMIT
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:remote_limit"
+ draft-mode
+ >
+ POST LIMIT (remote)
+ </IntegerSetting>
+ </li>
+ <li>
+ <h3>{{ $t('admin_dash.limits.uploads') }}</h3>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:description_limit"
+ draft-mode
+ >
+ IMAGE DESCRIPTION LIMIT
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:upload_limit"
+ draft-mode
+ >
+ UPLOAD LIMIT KiB
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:max_media_attachments"
+ draft-mode
+ >
+ MAX ATTACHMENTS
+ </IntegerSetting>
+ </li>
+ <li>
+ <h3>{{ $t('admin_dash.limits.users') }}</h3>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:user_bio_length"
+ draft-mode
+ >
+ BIO LENGTH
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:user_name_length"
+ draft-mode
+ >
+ NAME LENGTH
+ </IntegerSetting>
+ </li>
+ <li>
+ <h4>{{ $t('admin_dash.limits.profile_fields') }}</h4>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:max_account_fields"
+ draft-mode
+ >
+ MAX ACCOUNT FIELDS
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:max_remote_account_fields"
+ draft-mode
+ >
+ MAX ACCOUNT FIELDS (remote)
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:account_field_name_length"
+ draft-mode
+ >
+ MAX ACCOUNT FIELD NAME
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:account_field_value_length"
+ draft-mode
+ >
+ MAX ACCOUNT VALUE NAME
+ </IntegerSetting>
+ </li>
+ <li>
+ <h4>{{ $t('admin_dash.limits.user_uploads') }}</h4>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:avatar_upload_limit"
+ draft-mode
+ >
+ MAX AVATAR SIZE KiB
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:banner_upload_limit"
+ draft-mode
+ >
+ MAX BANNER SIZE KiB
+ </IntegerSetting>
+ </li>
+ <li>
+ <IntegerSetting
+ source="admin"
+ path=":pleroma.:instance.:max_pinned_statuses"
+ draft-mode
+ >
+ MAX PINNED POSTS
+ </IntegerSetting>
+ </li>
+ </ul>
+ </div>
+ </div>
+</template>
+
+<script src="./limits_tab.js"></script>