chore: minor improvements related to members dropdown and project member list (#6340)
This commit is contained in:
parent
906d095a1e
commit
5b96c970cd
4 changed files with 10 additions and 7 deletions
|
|
@ -24,6 +24,7 @@ type Props = {
|
|||
onClose?: () => void;
|
||||
renderByDefault?: boolean;
|
||||
optionsClassName?: string;
|
||||
memberIds?: string[];
|
||||
} & MemberDropdownProps;
|
||||
|
||||
export const MemberDropdown: React.FC<Props> = observer((props) => {
|
||||
|
|
@ -52,6 +53,7 @@ export const MemberDropdown: React.FC<Props> = observer((props) => {
|
|||
value,
|
||||
icon,
|
||||
renderByDefault = true,
|
||||
memberIds,
|
||||
} = props;
|
||||
// states
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
|
@ -169,6 +171,7 @@ export const MemberDropdown: React.FC<Props> = observer((props) => {
|
|||
>
|
||||
{isOpen && (
|
||||
<MemberOptions
|
||||
memberIds={memberIds}
|
||||
optionsClassName={optionsClassName}
|
||||
isOpen={isOpen}
|
||||
projectId={projectId}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os";
|
|||
import { EUserPermissions } from "@/plane-web/constants";
|
||||
|
||||
interface Props {
|
||||
memberIds?: string[];
|
||||
className?: string;
|
||||
optionsClassName?: string;
|
||||
projectId?: string;
|
||||
|
|
@ -29,7 +30,7 @@ interface Props {
|
|||
}
|
||||
|
||||
export const MemberOptions: React.FC<Props> = observer((props: Props) => {
|
||||
const { projectId, referenceElement, placement, isOpen, optionsClassName = "" } = props;
|
||||
const { memberIds: propsMemberIds, projectId, referenceElement, placement, isOpen, optionsClassName = "" } = props;
|
||||
// states
|
||||
const [query, setQuery] = useState("");
|
||||
const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);
|
||||
|
|
@ -67,7 +68,7 @@ export const MemberOptions: React.FC<Props> = observer((props: Props) => {
|
|||
}
|
||||
}, [isOpen, isMobile]);
|
||||
|
||||
const memberIds = projectId ? getProjectMemberIds(projectId) : workspaceMemberIds;
|
||||
const memberIds = propsMemberIds ? propsMemberIds : projectId ? getProjectMemberIds(projectId) : workspaceMemberIds;
|
||||
const onOpen = () => {
|
||||
if (!memberIds && workspaceSlug && projectId) fetchProjectMembers(workspaceSlug.toString(), projectId);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ export const ProjectMemberListItem: React.FC<Props> = observer((props) => {
|
|||
if (!workspaceSlug || !projectId || !memberId) return;
|
||||
|
||||
if (memberId === currentUser?.id) {
|
||||
router.push(`/${workspaceSlug}/projects`);
|
||||
await leaveProject(workspaceSlug.toString(), projectId.toString())
|
||||
.then(async () => {
|
||||
router.push(`/${workspaceSlug}/projects`);
|
||||
captureEvent(PROJECT_MEMBER_LEAVE, {
|
||||
state: "SUCCESS",
|
||||
element: "Project settings members page",
|
||||
|
|
@ -50,7 +50,7 @@ export const ProjectMemberListItem: React.FC<Props> = observer((props) => {
|
|||
.catch((err) =>
|
||||
setToast({
|
||||
type: TOAST_TYPE.ERROR,
|
||||
title: "Error!",
|
||||
title: "You can’t leave this project yet.",
|
||||
message: err?.error || "Something went wrong. Please try again.",
|
||||
})
|
||||
);
|
||||
|
|
@ -58,14 +58,13 @@ export const ProjectMemberListItem: React.FC<Props> = observer((props) => {
|
|||
await removeMemberFromProject(workspaceSlug.toString(), projectId.toString(), memberId).catch((err) =>
|
||||
setToast({
|
||||
type: TOAST_TYPE.ERROR,
|
||||
title: "Error!",
|
||||
title: "You can’t remove the member from this project yet.",
|
||||
message: err?.error || "Something went wrong. Please try again.",
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
if (!memberDetails) return null;
|
||||
removeMemberModal && console.log("removeMemberModal", JSON.parse(JSON.stringify(removeMemberModal?.member)));
|
||||
return (
|
||||
<>
|
||||
{removeMemberModal && (
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ export const AccountTypeColumn: React.FC<AccountTypeProps> = observer((props) =>
|
|||
|
||||
setToast({
|
||||
type: TOAST_TYPE.ERROR,
|
||||
title: "Error!",
|
||||
title: "You can’t change this role yet.",
|
||||
message: errorString ?? "An error occurred while updating member role. Please try again.",
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue