import { useEffect, useState } from "react"; import { Plus, X } from "lucide-react"; import { type Workspace, type WorkspaceMember } from "../../services/api"; import { Button } from "~/components/ui/button"; import { primaryGradientButtonClass } from "~/components/common/buttonClasses"; import { MemberAddPanel, type LoadUsersFn } from "./MemberAddPanel"; type DrawerPanel = "members" | "add"; export function ProjectMembersDrawer({ open, selectedProject, members, membersLoading, canManage, saving, onClose, onRemoveMember, onAddMembers, loadUsers, }: { open: boolean; selectedProject: Workspace | null; members: WorkspaceMember[]; membersLoading: boolean; canManage: boolean; saving: boolean; onClose: () => void; onRemoveMember: (userId: string) => void; onAddMembers: (userIds: string[]) => Promise | void; loadUsers: LoadUsersFn; }) { const [panel, setPanel] = useState("members"); useEffect(() => { if (!open) setPanel("members"); }, [open]); if (!open || !selectedProject) return null; return ( <>
onClose()} style={{ position: "fixed", inset: 0, backgroundColor: "rgba(0,0,0,0.3)", zIndex: 40, }} /> ); }