diff --git a/packages/client/src/pages/admin/pages/EmailList.tsx b/packages/client/src/pages/admin/pages/EmailList.tsx index 699cbb04..6795071c 100644 --- a/packages/client/src/pages/admin/pages/EmailList.tsx +++ b/packages/client/src/pages/admin/pages/EmailList.tsx @@ -17,7 +17,7 @@ * along with EvMPlus.org. If not, see . */ -import { Member, Maybe, Either, areMembersTheSame, getFullMemberName } from 'common-lib'; +import { Member, Maybe, Either, areMembersTheSame, getFullMemberName, CAPMember } from 'common-lib'; import * as React from 'react'; import Button from '../../../components/Button'; import { InputProps } from '../../../components/form-inputs/Input'; @@ -308,6 +308,21 @@ export default class EmailList extends Page { const currentSortFunction = sortFunctions[this.state.sortFunction]; const getSelector = (state: EmailListUIState & EmailListLoadedState): JSX.Element => { + const displayMember = (val: CAPMember): React.ReactChild => { + if (val.type === 'CAPNHQMember') { + const expires = +new Date(val.expirationDate); + + if (expires < Date.now()) { + return { getFullMemberName(val) }; + } + + if (expires < Date.now() + 1000 * 60 * 60 * 24 * 30) { + return { getFullMemberName(val) }; + } + } + return getFullMemberName(val); + }; + const selectorProps: Omit< SelectorPropsMultiple, 'filters' | 'onFilterValuesChange' | 'filterValues' @@ -322,7 +337,7 @@ export default class EmailList extends Page { visibleItems: newVisibleItems, }), overflow: 750, - displayValue: getFullMemberName, + displayValue: displayMember, }; return !state.displayAdvanced ? (