From 3a6dac7ce591202d0f34113ec48f7c3555aea3d3 Mon Sep 17 00:00:00 2001 From: luce Date: Tue, 9 Sep 2025 18:36:30 +0200 Subject: [PATCH] wip, ignore, i just want this pushed --- .../confirm_modal/generic_confirm.js | 9 +- .../confirm_modal/generic_confirm.vue | 2 +- .../settings_modal/admin_tabs/admin_card.js | 20 +- .../settings_modal/admin_tabs/admin_card.scss | 15 ++ .../settings_modal/admin_tabs/admin_card.vue | 215 +++++++++++++++++- .../settings_modal/admin_tabs/users_tab.js | 3 +- src/i18n/en.json | 9 +- 7 files changed, 254 insertions(+), 19 deletions(-) create mode 100644 src/components/settings_modal/admin_tabs/admin_card.scss diff --git a/src/components/confirm_modal/generic_confirm.js b/src/components/confirm_modal/generic_confirm.js index 21bf3f61b..7ac07581b 100644 --- a/src/components/confirm_modal/generic_confirm.js +++ b/src/components/confirm_modal/generic_confirm.js @@ -3,8 +3,9 @@ import ConfirmModal from './confirm_modal.vue' export default { props: { - callback: { - type: Function + action: { + type: Function, + require: true }, title: { type: String @@ -31,6 +32,10 @@ export default { hide () { this.showing = false this.$emit('hide') + }, + doGeneric () { + this.action() + this.hide() } } } diff --git a/src/components/confirm_modal/generic_confirm.vue b/src/components/confirm_modal/generic_confirm.vue index d0cbae2ca..794a15490 100644 --- a/src/components/confirm_modal/generic_confirm.vue +++ b/src/components/confirm_modal/generic_confirm.vue @@ -4,7 +4,7 @@ :title="title" :cancel-text="cancelText" :confirm-text="confirmText" - @accepted="callback" + @accepted="doGeneric" @cancelled="hide" /> diff --git a/src/components/settings_modal/admin_tabs/admin_card.js b/src/components/settings_modal/admin_tabs/admin_card.js index cc5afc0d6..b83426f0e 100644 --- a/src/components/settings_modal/admin_tabs/admin_card.js +++ b/src/components/settings_modal/admin_tabs/admin_card.js @@ -3,6 +3,8 @@ import Checkbox from 'src/components/checkbox/checkbox.vue' import PageList from 'src/components/page_list/page_list.vue' import AdminStatusCard from 'src/components/settings_modal/admin_tabs/admin_status_card.vue' import Modal from 'src/components/modal/modal.vue' +import Popover from 'src/components/popover/popover.vue' +import GenericConfirm from 'src/components/confirm_modal/generic_confirm.vue' const AdminCard = { props: { @@ -124,7 +126,9 @@ const AdminCard = { Checkbox, PageList, AdminStatusCard, - Modal + Modal, + Popover, + GenericConfirm }, methods: { /** @@ -217,6 +221,20 @@ const AdminCard = { const u = this.$store.getters.findUser(this.userDetails.id) const res = store.dispatch('adminListStatuses', { user: u, opts: { pageSize: opts.pageSize, godmode: true, withReblogs: true}}) return res.then(r => r.activities) + }, + /** + * ... + */ + confirmAction (box) { + this.$refs[box].show() + this.$refs.dropdownuser.hidePopover() + }, + /** + * ... + */ + actionConfirmed (action) { + console.log(action) + this.$store.dispatch(action, this.$store.getters.findUser(this.userDetails.id)) } } } diff --git a/src/components/settings_modal/admin_tabs/admin_card.scss b/src/components/settings_modal/admin_tabs/admin_card.scss new file mode 100644 index 000000000..dddfad29f --- /dev/null +++ b/src/components/settings_modal/admin_tabs/admin_card.scss @@ -0,0 +1,15 @@ +.inline-layout { + display: flex; + align-items: center; + width: 100%; + gap: 8px; +} + +.alert { + text-shadow: none; +} + +.user-role { + display: inline-block; + vertical-align: baseline; +} diff --git a/src/components/settings_modal/admin_tabs/admin_card.vue b/src/components/settings_modal/admin_tabs/admin_card.vue index e3ca14d0a..aa9953e22 100644 --- a/src/components/settings_modal/admin_tabs/admin_card.vue +++ b/src/components/settings_modal/admin_tabs/admin_card.vue @@ -4,20 +4,194 @@ {{ $t('admin_dash.users.loading_user') }}
- - +
+ + + + + + + + + + + +
+
+
    +
  • show statuses
  • +
+
+
+
+ + - - + diff --git a/src/components/settings_modal/admin_tabs/users_tab.js b/src/components/settings_modal/admin_tabs/users_tab.js index 6245369c4..f8bc83ea7 100644 --- a/src/components/settings_modal/admin_tabs/users_tab.js +++ b/src/components/settings_modal/admin_tabs/users_tab.js @@ -109,8 +109,7 @@ const UsersTab = { name: this.filtersName, email: this.filtersEmail }} - const users = store.dispatch('fetchAdminUsers', nopts) - return users + return store.dispatch('fetchAdminUsers', nopts) }, /** * reset the userlist explicitly diff --git a/src/i18n/en.json b/src/i18n/en.json index 778bcd719..827a1988b 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1229,7 +1229,14 @@ "title_database": "Database", "title_details": "Details", "title_users": "Users", - "user_has_no_posts": "User has no posts" + "title_actions": "Actions", + "user_has_no_posts": "User has no posts", + "indicator_admin": "Admin", + "indicator_moderator": "Moderator", + "indicator_active": "Active", + "indicator_deactivated": "Deactivated", + "indicator_approved": "Approved", + "indicator_confirmed": "Confirmed" }, "limits": { "arbitrary_limits": "Arbitrary limits",