import { Menu, Text, UnstyledButton, Group } from "@mantine/core"; import { IconChevronDown, IconCheck } from "@tabler/icons-react"; import { useTranslation } from "react-i18next"; import { useAtomValue } from "jotai"; import { CustomAvatar } from "@/components/ui/custom-avatar"; import { AutoTooltipText } from "@/components/ui/auto-tooltip-text"; import { IconGroupCircle } from "@/components/icons/icon-people-circle"; import { userAtom } from "@/features/user/atoms/current-user-atom"; import { formatMemberCount } from "@/lib"; import { IPagePermissionMember, PagePermissionRole, } from "@/ee/page-permission/types/page-permission.types"; import { pagePermissionRoleData, getPagePermissionRoleLabel, } from "@/ee/page-permission/types/page-permission-role-data"; import classes from "./page-permission.module.css"; type PagePermissionItemProps = { member: IPagePermissionMember; onRoleChange: (memberId: string, type: "user" | "group", role: string) => void; onRemove: (memberId: string, type: "user" | "group") => void; disabled?: boolean; }; export function PagePermissionItem({ member, onRoleChange, onRemove, disabled, }: PagePermissionItemProps) { const { t } = useTranslation(); const currentUser = useAtomValue(userAtom); const isCurrentUser = member.type === "user" && member.id === currentUser?.id; const roleLabel = getPagePermissionRoleLabel(member.role); return (