Page MenuHomePhorge

D10742.1767471363.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D10742.1767471363.diff

diff --git a/web/settings/relationship/add-users-list-modal.react.js b/web/settings/relationship/add-users-list-modal.react.js
--- a/web/settings/relationship/add-users-list-modal.react.js
+++ b/web/settings/relationship/add-users-list-modal.react.js
@@ -45,6 +45,10 @@
relationshipAction,
} = props;
+ const [pendingUsersToAdd, setPendingUsersToAdd] = React.useState<
+ $ReadOnlySet<string>,
+ >(new Set());
+
const [errorMessage, setErrorMessage] = React.useState('');
const addUsersListChildGenerator = React.useCallback(
@@ -52,10 +56,12 @@
<AddUsersList
searchText={searchText}
excludedStatuses={excludedStatuses}
+ pendingUsersToAdd={pendingUsersToAdd}
+ setPendingUsersToAdd={setPendingUsersToAdd}
errorMessage={errorMessage}
/>
),
- [excludedStatuses, errorMessage],
+ [excludedStatuses, pendingUsersToAdd, errorMessage],
);
const callUpdateRelationships =
@@ -68,7 +74,7 @@
setErrorMessage('');
const result = await callUpdateRelationships({
action: relationshipAction,
- userIDs: [], // TODO: re-add pending users
+ userIDs: Array.from(pendingUsersToAdd),
});
closeModal();
return result;
@@ -76,7 +82,12 @@
setErrorMessage('unknown error');
throw e;
}
- }, [callUpdateRelationships, closeModal, relationshipAction]);
+ }, [
+ callUpdateRelationships,
+ relationshipAction,
+ pendingUsersToAdd,
+ closeModal,
+ ]);
const confirmSelection = React.useCallback(
() =>
@@ -104,8 +115,7 @@
return (
<Button
onClick={confirmSelection}
- // TODO: re-add 0 users check
- disabled={true || loadingStatus === 'loading'}
+ disabled={pendingUsersToAdd.size === 0 || loadingStatus === 'loading'}
variant="filled"
buttonColor={confirmButtonColor}
>
@@ -117,6 +127,7 @@
confirmButtonContent,
confirmSelection,
loadingStatus,
+ pendingUsersToAdd.size,
]);
return (
diff --git a/web/settings/relationship/add-users-list.react.js b/web/settings/relationship/add-users-list.react.js
--- a/web/settings/relationship/add-users-list.react.js
+++ b/web/settings/relationship/add-users-list.react.js
@@ -5,6 +5,7 @@
import { useENSNames } from 'lib/hooks/ens-cache.js';
import { useUserSearchIndex } from 'lib/selectors/nav-selectors.js';
import { useSearchUsers } from 'lib/shared/search-utils.js';
+import type { SetState } from 'lib/types/hook-types.js';
import type { UserRelationshipStatus } from 'lib/types/relationship-types.js';
import type {
GlobalAccountUserInfo,
@@ -19,11 +20,19 @@
type Props = {
+searchText: string,
+excludedStatuses?: $ReadOnlySet<UserRelationshipStatus>,
+ +pendingUsersToAdd: $ReadOnlySet<string>,
+ +setPendingUsersToAdd: SetState<$ReadOnlySet<string>>,
+errorMessage: string,
};
function AddUsersList(props: Props): React.Node {
- const { searchText, excludedStatuses = new Set(), errorMessage } = props;
+ const {
+ searchText,
+ excludedStatuses = new Set(),
+ pendingUsersToAdd,
+ setPendingUsersToAdd,
+ errorMessage,
+ } = props;
const viewerID = useSelector(state => state.currentUserInfo?.id);
const userInfos = useSelector(state => state.userStore.userInfos);
@@ -82,10 +91,6 @@
[excludedStatuses, mergedUserInfos, viewerID],
);
- const [pendingUsersToAdd, setPendingUsersToAdd] = React.useState<
- $ReadOnlySet<string>,
- >(new Set());
-
const toggleUser = React.useCallback(
(userID: string) => {
setPendingUsersToAdd(pendingUsers => {

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 3, 8:16 PM (19 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5890529
Default Alt Text
D10742.1767471363.diff (3 KB)

Event Timeline