{"version":3,"file":"HomeGroupAddExistingMembers-8b481823.js","sources":["../../src/components/HomeGroups/HomeGroupAddExistingMembers.tsx"],"sourcesContent":["import { Fragment, useState } from \"react\"\nimport { useParams } from \"react-router-dom\"\nimport styled from \"styled-components\"\n\nimport { Pager } from \"src/components/Pager/Pager\"\nimport { useUrlPager } from \"src/components/Pager/useUrlPager\"\nimport {\n useDeleteHomeGroupMember,\n useFetchHomeGroupMembers,\n usePostHomeGroupMember,\n} from \"src/data/homeGroups/queries/homeGroupMemberQueries\"\nimport { IHomeGroupMember } from \"src/data/homeGroups/types/homeGroupTypes\"\nimport { useOrganization } from \"src/data/organizations/hooks/useOrganization\"\nimport { useFetchMembers } from \"src/data/organizations/queries/memberQueries\"\nimport { IOrganizationMember } from \"src/data/organizations/types/organizationMemberTypes\"\nimport { useTranslate } from \"src/i18n/useTranslate\"\nimport { Routes } from \"src/router/routes\"\nimport { useRouter } from \"src/router/useRouter\"\nimport { MButtonLegacy } from \"src/ui/Button/MButtonLegacy\"\nimport { GridTable } from \"src/ui/GridTable/GridTable\"\nimport { MBanner } from \"src/ui/MBanner/MBanner\"\nimport { FullscreenView } from \"src/ui/Modals/FullscreenView\"\nimport { Heading2Mixin, MText } from \"src/ui/MText\"\nimport { spacing } from \"src/ui/spacing\"\nimport { debug } from \"src/utils/logger\"\n\nconst MEMBER_PAGE_SIZE = 10\n\nexport function HomeGroupAddExistingMembers({\n homeGroupId,\n}: {\n homeGroupId: string\n}) {\n const { t, langKeys } = useTranslate()\n const { navigate } = useRouter()\n\n const { limit, setOffset, offset } = useUrlPager({\n initialLimit: MEMBER_PAGE_SIZE,\n })\n const { org } = useOrganization()\n const [busyMemberId, setBusyMemberId] = useState(\"\")\n const deleteHomeGroupMember = useDeleteHomeGroupMember()\n const postHomeGroupMember = usePostHomeGroupMember()\n\n const fetchHomegroupMembers = useFetchHomeGroupMembers({\n orgId: org.id,\n homeGroupId: homeGroupId,\n })\n const homeGroupMembers = fetchHomegroupMembers.data?.members || []\n\n const fetchMembers = useFetchMembers({\n orgId: org.id,\n filter: { offset, limit },\n })\n const orgMembers = fetchMembers.data?.members || []\n\n function handleAddMemberClick(id: string) {\n setBusyMemberId(id)\n postHomeGroupMember.mutate(\n { homeGroupId, homeGroupMemberId: id, orgId: org.id },\n { onSettled: () => setBusyMemberId(\"\") }\n )\n }\n\n function handleRemoveMemberClick(homeGroupMemberId: string) {\n setBusyMemberId(homeGroupMemberId)\n deleteHomeGroupMember.mutate(\n { orgId: org.id, homeGroupId, homeGroupMemberId },\n {\n onSettled() {\n setBusyMemberId(\"\")\n },\n }\n )\n }\n\n const rows: JSX.Element[] = orgMembers.map((member) => (\n \n {member.email}\n\n \n \n ))\n\n if (fetchMembers.isError || fetchHomegroupMembers.isError) {\n return (\n {t(langKeys.failed_something_went_wrong)}\n )\n }\n\n return (\n \n {t(langKeys.organizations_homegroups_member_select_title)}\n\n {!homeGroupId ? (\n \n {t(langKeys.failed_something_went_wrong)}\n \n ) : (\n \n )}\n \n \n \n \n \n navigate({\n pathname: Routes.HomeGroupDetails.path(homeGroupId),\n hash: Routes.HomeGroupDetails.tabs[1],\n })\n }\n >\n {t(langKeys.done)}\n \n \n \n )\n}\n\nfunction ShowAddMemberAction({\n orgMember,\n currentHomeGroupMembers,\n onAddMember,\n onRemoveMember,\n loading,\n}: {\n orgMember: IOrganizationMember\n currentHomeGroupMembers: IHomeGroupMember[]\n onAddMember: (homeId: string, homeName: string) => void\n onRemoveMember: (homeId: string) => void\n loading?: boolean\n}) {\n const { t, langKeys } = useTranslate()\n\n const currentHgMember = currentHomeGroupMembers.find(\n (hgMember) => hgMember.email === orgMember.email\n )\n\n if (currentHgMember) {\n return (\n
\n \n {\n onRemoveMember(currentHgMember.member_id)\n debug.log(\"removing\", orgMember)\n }}\n color=\"secondary\"\n >\n {t(langKeys.remove)}\n \n \n
\n )\n }\n\n return (\n
\n \n onAddMember(orgMember.member_id, orgMember.name)}\n >\n {t(langKeys.add)}\n \n \n
\n )\n}\n\nconst Title = styled.div`\n ${Heading2Mixin};\n`\n\nconst AddHomeBox = styled.div`\n margin: auto;\n`\n\nconst ActionArea = styled.div<{ $addTopMargin: boolean }>`\n display: flex;\n justify-content: flex-end;\n margin-top: ${(props) => (props.$addTopMargin ? spacing.XL : 0)};\n`\n\nconst StyledButtonBox = styled.div`\n display: flex;\n justify-content: flex-end;\n`\n\nconst PagerWrapper = styled.div`\n margin-top: ${spacing.XL};\n`\n\nexport function HomeGroupAddExistingMembersRoute() {\n const { navigate } = useRouter()\n\n const { homeGroupId = \"\" } = useParams<{ homeGroupId?: string }>()\n return (\n \n navigate({\n pathname: Routes.HomeGroupDetails.path(homeGroupId),\n hash: Routes.HomeGroupDetails.tabs[1],\n })\n }\n >\n \n \n )\n}\n"],"names":["MEMBER_PAGE_SIZE","HomeGroupAddExistingMembers","homeGroupId","t","langKeys","useTranslate","navigate","useRouter","limit","setOffset","offset","useUrlPager","initialLimit","org","useOrganization","busyMemberId","setBusyMemberId","useState","deleteHomeGroupMember","useDeleteHomeGroupMember","postHomeGroupMember","usePostHomeGroupMember","fetchHomegroupMembers","useFetchHomeGroupMembers","orgId","id","homeGroupMembers","data","members","fetchMembers","useFetchMembers","filter","orgMembers","handleAddMemberClick","mutate","homeGroupMemberId","onSettled","handleRemoveMemberClick","rows","map","member","Fragment","MText","variant","email","ShowAddMemberAction","orgMember","currentHomeGroupMembers","onAddMember","onRemoveMember","loading","member_id","isError","MBanner","type","failed_something_went_wrong","AddHomeBox","Title","organizations_homegroups_member_select_title","_jsx","GridTable","templateColumns","isLoading","useFallbackResponsiveMode","PagerWrapper","Pager","totalCount","paging","total_count","ActionArea","$addTopMargin","length","MButtonLegacy","onClick","pathname","Routes","HomeGroupDetails","path","hash","tabs","done","currentHgMember","find","hgMember","div","StyledButtonBox","size","log","color","remove","name","add","user_id","styled","Heading2Mixin","props","spacing","XL","HomeGroupAddExistingMembersRoute","useParams","FullscreenView","onClose"],"mappings":"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"}