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 ? (