diff --git a/client/src/components/admin/group/GroupAdminPanel.tsx b/client/src/components/admin/group/GroupAdminPanel.tsx index 34b660a8b80ea78c8e35e57fb58f85db9f3c507d..fc6f571f6ae8855c0174e588f308704d8c97c8b3 100644 --- a/client/src/components/admin/group/GroupAdminPanel.tsx +++ b/client/src/components/admin/group/GroupAdminPanel.tsx @@ -3,6 +3,7 @@ import { Card, CardContent, Grid, Typography, useTheme } from '@material-ui/core import { Group } from '../../../types/graphqlSchema'; import React from 'react'; import { StyledLink } from '../../utils/StyledLink'; +import { isApplicantString } from '../../../utils/getMemberStateString'; interface TParams { group: Partial<Group> | undefined; @@ -32,7 +33,7 @@ export const GroupAdminPanel: React.FC<TParams> = ({ group }) => { </Typography> <Typography align="center" variant="subtitle1"> <StyledLink - to={`/group/${group?.id}/admin/members?f=applicant`} + to={`/group/${group?.id}/admin/members?f=${isApplicantString}`} style={{ color: theme.palette.primary.dark }} > Bírálás diff --git a/client/src/components/admin/group/GroupMembers.tsx b/client/src/components/admin/group/GroupMembers.tsx index a0bd86ad2d2eedc9381298cb2769baf2bf14d6f1..4aa5408df326cf13950d64fa80abd564e354ed7e 100644 --- a/client/src/components/admin/group/GroupMembers.tsx +++ b/client/src/components/admin/group/GroupMembers.tsx @@ -11,14 +11,14 @@ import { useQuery } from '@apollo/client'; interface IGroupMembersTable extends Partial<Member> { name: string; - membership: Partial<Member>; + membership: string; } const convertResponseToTable = (rows: Partial<Member>[] | undefined): Partial<IGroupMembersTable>[] => { if (!rows) return []; return rows.map((o) => ({ name: `${o.user?.familyName} ${o.user?.givenName}`, - membership: { groupRole: o.groupRole, memberState: o.memberState }, + membership: getMemberStateString({ memberState: o.memberState, groupRole: o.groupRole }), })); }; @@ -48,18 +48,12 @@ export const GroupMembers: React.FC<TParams> = ({ group, filterBy }) => { title: 'Tagság', field: 'membership', align: 'right', - render: function renderMembership(rowData) { - if (!rowData.membership) { - return ''; - } - return getMemberStateString(rowData.membership); - }, customSort: (rowData1, rowData2) => { if (!rowData1.membership || !rowData2.membership) { return 0; } - const str1 = getMemberStateString(rowData1.membership); - const str2 = getMemberStateString(rowData2.membership); + const str1 = rowData1.membership; + const str2 = rowData2.membership; if (str1 < str2) return -1; if (str1 > str2) return 1; return 0; @@ -97,6 +91,7 @@ export const GroupMembers: React.FC<TParams> = ({ group, filterBy }) => { search: true, rowStyle: { fontFamily: 'Roboto' }, emptyRowsWhenPaging: false, + searchText: filterBy || '', }} /> ); diff --git a/client/src/utils/getMemberStateString.tsx b/client/src/utils/getMemberStateString.tsx index 3e6ba155cc93616d3f88e7d657ce3ac229490141..51a36c666f79c64a0eff7b8b77260a303d8b5fa2 100644 --- a/client/src/utils/getMemberStateString.tsx +++ b/client/src/utils/getMemberStateString.tsx @@ -1,9 +1,9 @@ import { GroupRole, Member, MemberState } from '../types/graphqlSchema'; -const isApplicantString = 'Elbírálás alatt'; -const isBannedString = 'Kitíltott'; -const isAdminString = 'Admin'; -const isMemberString = 'Tag'; +export const isApplicantString = 'Elbírálás alatt'; +export const isBannedString = 'Kitíltott'; +export const isAdminString = 'Admin'; +export const isMemberString = 'Tag'; export const getMemberStateString = ({ memberState, groupRole }: Partial<Member>): string => { switch (memberState) {