From 56d571c0f0f525263ea6257a5d5a2e7a9085e203 Mon Sep 17 00:00:00 2001
From: syuilo
Date: Thu, 15 Nov 2018 04:15:42 +0900
Subject: Moderator system
Closes #2357
---
src/client/app/admin/views/index.vue | 9 +++-
src/client/app/admin/views/moderators.vue | 61 ++++++++++++++++++++++
.../app/common/views/components/note-menu.vue | 2 +-
.../desktop/views/components/ui.header.account.vue | 2 +-
src/client/app/mobile/views/components/ui.nav.vue | 2 +-
5 files changed, 71 insertions(+), 5 deletions(-)
create mode 100644 src/client/app/admin/views/moderators.vue
(limited to 'src/client')
diff --git a/src/client/app/admin/views/index.vue b/src/client/app/admin/views/index.vue
index a5ffb2098e..116d794b91 100644
--- a/src/client/app/admin/views/index.vue
+++ b/src/client/app/admin/views/index.vue
@@ -20,6 +20,7 @@
- {{ $t('dashboard') }}
- {{ $t('instance') }}
+ - {{ $t('moderators') }}
- {{ $t('users') }}
- {{ $t('emoji') }}
- {{ $t('announcements') }}
@@ -38,6 +39,7 @@
+
@@ -54,11 +56,12 @@ import i18n from '../../i18n';
import { version } from '../../config';
import XDashboard from "./dashboard.vue";
import XInstance from "./instance.vue";
+import XModerators from "./moderators.vue";
import XEmoji from "./emoji.vue";
import XAnnouncements from "./announcements.vue";
import XHashtags from "./hashtags.vue";
import XUsers from "./users.vue";
-import { faArrowLeft } from '@fortawesome/free-solid-svg-icons';
+import { faHeadset, faArrowLeft } from '@fortawesome/free-solid-svg-icons';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
// Detect the user agent
@@ -70,6 +73,7 @@ export default Vue.extend({
components: {
XDashboard,
XInstance,
+ XModerators,
XEmoji,
XAnnouncements,
XHashtags,
@@ -85,7 +89,8 @@ export default Vue.extend({
isMobile,
navOpend: !isMobile,
faGrin,
- faArrowLeft
+ faArrowLeft,
+ faHeadset
};
},
methods: {
diff --git a/src/client/app/admin/views/moderators.vue b/src/client/app/admin/views/moderators.vue
new file mode 100644
index 0000000000..ebf20c12fd
--- /dev/null
+++ b/src/client/app/admin/views/moderators.vue
@@ -0,0 +1,61 @@
+
+
+
+ {{ $t('add-moderator.title') }}
+
+
+ @
+
+ {{ $t('add-moderator.add') }}
+
+
+
+
+
+
+
+
diff --git a/src/client/app/common/views/components/note-menu.vue b/src/client/app/common/views/components/note-menu.vue
index d848cb765d..7d15b4ed7f 100644
--- a/src/client/app/common/views/components/note-menu.vue
+++ b/src/client/app/common/views/components/note-menu.vue
@@ -55,7 +55,7 @@ export default Vue.extend({
}
] : []
], [
- this.note.userId == this.$store.state.i.id || this.$store.state.i.isAdmin ? [{
+ this.note.userId == this.$store.state.i.id || this.$store.state.i.isAdmin || this.$store.state.i.isModerator ? [{
icon: ['far', 'trash-alt'],
text: this.$t('delete'),
action: this.del
diff --git a/src/client/app/desktop/views/components/ui.header.account.vue b/src/client/app/desktop/views/components/ui.header.account.vue
index 79410273aa..a16f164556 100644
--- a/src/client/app/desktop/views/components/ui.header.account.vue
+++ b/src/client/app/desktop/views/components/ui.header.account.vue
@@ -58,7 +58,7 @@
-
+
{{ $t('admin') }}
diff --git a/src/client/app/mobile/views/components/ui.nav.vue b/src/client/app/mobile/views/components/ui.nav.vue
index c529ae2617..4f085a5e6d 100644
--- a/src/client/app/mobile/views/components/ui.nav.vue
+++ b/src/client/app/mobile/views/components/ui.nav.vue
@@ -30,7 +30,7 @@
--
cgit v1.2.3-freya