Add access control rework
This commit is contained in:
@@ -440,8 +440,8 @@
|
||||
[y]="userMenuY()"
|
||||
(closed)="closeUserMenu()"
|
||||
>
|
||||
@if (isAdmin()) {
|
||||
@if (contextMenuUser()?.role === 'member') {
|
||||
@if (contextMenuUser(); as selectedUser) {
|
||||
@if (canChangeUserRole(selectedUser) && selectedUser.role === 'member') {
|
||||
<button
|
||||
(click)="changeUserRole('moderator')"
|
||||
class="context-menu-item"
|
||||
@@ -455,7 +455,7 @@
|
||||
Promote to Admin
|
||||
</button>
|
||||
}
|
||||
@if (contextMenuUser()?.role === 'moderator') {
|
||||
@if (canChangeUserRole(selectedUser) && selectedUser.role === 'moderator') {
|
||||
<button
|
||||
(click)="changeUserRole('admin')"
|
||||
class="context-menu-item"
|
||||
@@ -469,7 +469,7 @@
|
||||
Demote to Member
|
||||
</button>
|
||||
}
|
||||
@if (contextMenuUser()?.role === 'admin') {
|
||||
@if (canChangeUserRole(selectedUser) && selectedUser.role === 'admin') {
|
||||
<button
|
||||
(click)="changeUserRole('member')"
|
||||
class="context-menu-item"
|
||||
@@ -477,15 +477,20 @@
|
||||
Demote to Member
|
||||
</button>
|
||||
}
|
||||
<div class="context-menu-divider"></div>
|
||||
<button
|
||||
(click)="kickUserAction()"
|
||||
class="context-menu-item-danger"
|
||||
>
|
||||
Kick User
|
||||
</button>
|
||||
} @else {
|
||||
<div class="context-menu-empty">No actions available</div>
|
||||
@if (canChangeUserRole(selectedUser) && canKickUser(selectedUser)) {
|
||||
<div class="context-menu-divider"></div>
|
||||
}
|
||||
@if (canKickUser(selectedUser)) {
|
||||
<button
|
||||
(click)="kickUserAction()"
|
||||
class="context-menu-item-danger"
|
||||
>
|
||||
Kick User
|
||||
</button>
|
||||
}
|
||||
@if (!canChangeUserRole(selectedUser) && !canKickUser(selectedUser)) {
|
||||
<div class="context-menu-empty">No actions available</div>
|
||||
}
|
||||
}
|
||||
</app-context-menu>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user