added features and fixes

This commit is contained in:
2026-07-02 15:34:00 +00:00
parent eb5b7d55a4
commit 89f8381e2d
30 changed files with 1718 additions and 206 deletions
+13 -7
View File
@@ -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 */}