diff --git a/changelog.d/user-management.add b/changelog.d/user-management.add new file mode 100644 index 000000000..ccd217f19 --- /dev/null +++ b/changelog.d/user-management.add @@ -0,0 +1 @@ +User administration + post scope/sensitivity admin change support diff --git a/src/App.scss b/src/App.scss index 952af5b47..9618a2ac4 100644 --- a/src/App.scss +++ b/src/App.scss @@ -411,6 +411,14 @@ nav { button:not(.button-default) { color: var(--text); font-size: 100%; + text-align: initial; + padding: 0; + background: none; + border: none; + outline: none; + display: inline; + font-family: inherit; + line-height: unset; } &.disabled { @@ -418,45 +426,6 @@ nav { } } -.list-item { - border-color: var(--border); - border-style: solid; - border-width: 0; - border-top-width: 1px; - - &.-active, - &:hover { - border-top-width: 1px; - border-bottom-width: 1px; - } - - &.-active + &, - &:hover + & { - border-top-width: 0; - } - - &:hover + .menu-item-collapsible:not(.-expanded) + &, - &.-active + .menu-item-collapsible:not(.-expanded) + & { - border-top-width: 0; - } - - &[aria-expanded="true"] { - border-bottom-width: 1px; - } - - &:first-child { - border-top-right-radius: var(--roundness); - border-top-left-radius: var(--roundness); - border-top-width: 0; - } - - &:last-child { - border-bottom-right-radius: var(--roundness); - border-bottom-left-radius: var(--roundness); - border-bottom-width: 0; - } -} - .menu-item, .list-item { display: block; @@ -475,22 +444,6 @@ nav { --__line-height: 1.5em; --__horizontal-gap: 0.75em; --__vertical-gap: 0.5em; - - &.-non-interactive { - cursor: auto; - } - - a, - button:not(.button-default) { - text-align: initial; - padding: 0; - background: none; - border: none; - outline: none; - display: inline; - font-family: inherit; - line-height: unset; - } } .button-unstyled { diff --git a/src/boot/routes.js b/src/boot/routes.js index 4a075e955..9b00a8004 100644 --- a/src/boot/routes.js +++ b/src/boot/routes.js @@ -84,6 +84,13 @@ export default (store) => { () => import('src/components/user_profile/user_profile.vue'), ), }, + { + name: 'user-profile-admin-view', + path: '/users/$:id/admin_view', + component: defineAsyncComponent( + () => import('src/components/user_profile/user_profile_admin_view.vue'), + ), + }, { name: 'interactions', path: '/users/:username/interactions', diff --git a/src/components/alert.style.js b/src/components/alert.style.js index 8a6f842ed..6876faca8 100644 --- a/src/components/alert.style.js +++ b/src/components/alert.style.js @@ -4,6 +4,7 @@ export default { validInnerComponents: ['Text', 'Icon', 'Link', 'Border', 'ButtonUnstyled'], variants: { normal: '.neutral', + info: '.info', error: '.error', warning: '.warning', success: '.success', @@ -47,5 +48,11 @@ export default { background: '--cGreen', }, }, + { + variant: 'info', + directives: { + background: '--cBlue', + }, + }, ], } diff --git a/src/components/announcement/announcement.js b/src/components/announcement/announcement.js index 7f559f8fe..ee427533f 100644 --- a/src/components/announcement/announcement.js +++ b/src/components/announcement/announcement.js @@ -31,9 +31,7 @@ const Announcement = { canEditAnnouncement() { return ( this.currentUser && - this.currentUser.privileges.includes( - 'announcements_manage_announcements', - ) + this.currentUser.privileges.has('announcements_manage_announcements') ) }, content() { diff --git a/src/components/basic_user_card/basic_user_card.js b/src/components/basic_user_card/basic_user_card.js index 1c69f81b4..ae1f1c9c6 100644 --- a/src/components/basic_user_card/basic_user_card.js +++ b/src/components/basic_user_card/basic_user_card.js @@ -8,7 +8,15 @@ import { useMergedConfigStore } from 'src/stores/merged_config.js' import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator' const BasicUserCard = { - props: ['user'], + props: { + user: { + type: Object, + }, + showLineLabels: { + type: Boolean, + default: false, + }, + }, components: { UserPopover, UserAvatar, diff --git a/src/components/basic_user_card/basic_user_card.vue b/src/components/basic_user_card/basic_user_card.vue index 572b07abb..2de8b7b36 100644 --- a/src/components/basic_user_card/basic_user_card.vue +++ b/src/components/basic_user_card/basic_user_card.vue @@ -23,6 +23,10 @@ :title="user.name" class="basic-user-card-user-name" > + + {{ $t('admin_dash.users.labels.name_colon') }} + {{ ' ' }} +
+ + {{ $t('admin_dash.users.labels.handle_colon') }} + {{ ' ' }} + - +
- + diff --git a/src/components/chat_list/chat_list.vue b/src/components/chat_list/chat_list.vue index 881df2988..2e79ea100 100644 --- a/src/components/chat_list/chat_list.vue +++ b/src/components/chat_list/chat_list.vue @@ -22,7 +22,7 @@ v-if="sortedChatList.length > 0" class="timeline" > - + - - +
+ +
+ +
+
+
+ +