fix: 'No matches' state appears when all matching non-pending users are filtered in document share popover

This commit is contained in:
Tom Moor
2024-02-06 08:03:04 -05:00
parent 8a2c710792
commit 0ff0780869

View File

@@ -43,17 +43,8 @@ export const UserSuggestions = observer(
() => () =>
users users
.notInDocument(document.id, query) .notInDocument(document.id, query)
.filter((u) => u.id !== user.id && !u.isSuspended) .filter((u) => u.id !== user.id && !u.isSuspended),
.filter((u) => !pendingIds.includes(u.id)), [users, users.orderedData, document.id, document.members, user.id, query]
[
users,
users.orderedData,
document.id,
document.members,
user.id,
pendingIds,
query,
]
); );
const pending = React.useMemo( const pending = React.useMemo(
@@ -85,7 +76,10 @@ export const UserSuggestions = observer(
}; };
} }
const isEmpty = suggestions.length === 0 && query; const isEmpty = suggestions.length === 0;
const suggestionsWithPending = suggestions.filter(
(u) => !pendingIds.includes(u.id)
);
return ( return (
<> <>
@@ -102,10 +96,9 @@ export const UserSuggestions = observer(
} }
/> />
))} ))}
{pending.length > 0 && (suggestions.length > 0 || isEmpty) && ( {pending.length > 0 &&
<Separator /> (suggestionsWithPending.length > 0 || isEmpty) && <Separator />}
)} {suggestionsWithPending.map((suggestion) => (
{suggestions.map((suggestion) => (
<StyledListItem <StyledListItem
{...getListItemProps(suggestion)} {...getListItemProps(suggestion)}
key={suggestion.id} key={suggestion.id}