added features and fixes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { useRoleStore, type Role } from '../stores/role.ts';
|
||||
import type { User } from '../stores/auth.ts';
|
||||
import { usePermissions } from '../lib/usePermissions.ts';
|
||||
|
||||
interface MemberRoleAssignProps {
|
||||
serverId: string;
|
||||
@@ -14,6 +15,9 @@ export function MemberRoleAssign({ serverId, member }: MemberRoleAssignProps) {
|
||||
const setMemberRoles = useRoleStore((s) => s.setMemberRoles);
|
||||
const getMemberRoles = useRoleStore((s) => s.getMemberRoles);
|
||||
|
||||
const { isOwner, canManageRoles } = usePermissions(serverId);
|
||||
const canEdit = isOwner || canManageRoles;
|
||||
|
||||
const [open, setOpen] = useState(false);
|
||||
const [memberRoles, setMemberRolesState] = useState<Role[]>([]);
|
||||
const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());
|
||||
@@ -73,13 +77,15 @@ export function MemberRoleAssign({ serverId, member }: MemberRoleAssignProps) {
|
||||
{r.name}
|
||||
</span>
|
||||
))}
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setOpen(true)}
|
||||
className="terminal-button text-xs"
|
||||
>
|
||||
[ROLES]
|
||||
</button>
|
||||
{canEdit && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setOpen(true)}
|
||||
className="terminal-button text-xs"
|
||||
>
|
||||
[ROLES]
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Modal */}
|
||||
|
||||
Reference in New Issue
Block a user