Skip to content

Commit

Permalink
[lib] Rename setUserAvatar to baseSetUserAvatar in `*EditUserAvat…
Browse files Browse the repository at this point in the history
…arProvider`

Summary:
We want devs to to use the platform-specific `setUserAvatar` wrappers rather than interfacing with `setUserAvatar` directly... so renaming `setUserAvatar` to `baseSetUserAvatar` to make that more clear.

Also left a comment annotating the function, which at least in my editor shows a note on hover/when cursor is focused:

{F610023}

---

Depends on D8343

Test Plan: flow/eslint/searched codebase for "setUserAvatar".

Reviewers: ashoat, ginsu, rohan

Reviewed By: rohan

Subscribers: tomek

Differential Revision: https://phab.comm.dev/D8344
  • Loading branch information
atulsmadhugiri committed Jul 28, 2023
1 parent 24e5fa1 commit db1e952
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 13 deletions.
10 changes: 6 additions & 4 deletions lib/components/base-edit-user-avatar-provider.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const registrationModeOff = { registrationMode: 'off' };
export type EditUserAvatarContextType = {
+userAvatarSaveInProgress: boolean,
+updateImageUserAvatar: (selection: NativeMediaSelection) => Promise<void>,
+setUserAvatar: (avatarRequest: UpdateUserAvatarRequest) => Promise<void>,
+baseSetUserAvatar: (avatarRequest: UpdateUserAvatarRequest) => Promise<void>,
+setRegistrationMode: (registrationMode: RegistrationMode) => void,
+getRegistrationModeEnabled: () => boolean,
+getRegistrationModeSuccessCallback: () => ?(UserAvatarSelection) => mixed,
Expand Down Expand Up @@ -101,7 +101,9 @@ function BaseEditUserAvatarProvider(props: Props): React.Node {
[uploadSelectedMedia, dispatchActionPromise, updateUserAvatarCall],
);

const setUserAvatar = React.useCallback(
// NOTE: Do NOT consume `baseSetUserAvatar` directly.
// Use platform-specific `[web/native]SetUserAvatar` instead.
const baseSetUserAvatar = React.useCallback(
async (request: UpdateUserAvatarRequest) => {
const promise = updateUserAvatarCall(request);
dispatchActionPromise(updateUserAvatarActionTypes, promise);
Expand Down Expand Up @@ -129,15 +131,15 @@ function BaseEditUserAvatarProvider(props: Props): React.Node {
() => ({
userAvatarSaveInProgress,
updateImageUserAvatar,
setUserAvatar,
baseSetUserAvatar,
setRegistrationMode,
getRegistrationModeEnabled,
getRegistrationModeSuccessCallback,
}),
[
userAvatarSaveInProgress,
updateImageUserAvatar,
setUserAvatar,
baseSetUserAvatar,
setRegistrationMode,
getRegistrationModeEnabled,
getRegistrationModeSuccessCallback,
Expand Down
6 changes: 3 additions & 3 deletions native/avatars/avatar-hooks.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ function useNativeSetUserAvatar(): (
const editUserAvatarContext = React.useContext(EditUserAvatarContext);
invariant(editUserAvatarContext, 'editUserAvatarContext must be defined');
const {
setUserAvatar,
baseSetUserAvatar,
getRegistrationModeEnabled,
getRegistrationModeSuccessCallback,
} = editUserAvatarContext;
Expand All @@ -223,15 +223,15 @@ function useNativeSetUserAvatar(): (
}

try {
await setUserAvatar(request);
await baseSetUserAvatar(request);
} catch {
displayAvatarUpdateFailureAlert();
}
},
[
getRegistrationModeEnabled,
getRegistrationModeSuccessCallback,
setUserAvatar,
baseSetUserAvatar,
],
);

Expand Down
6 changes: 3 additions & 3 deletions web/avatars/edit-user-avatar-menu.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ function EditUserAvatarMenu(): React.Node {
const editUserAvatarContext = React.useContext(EditUserAvatarContext);
invariant(editUserAvatarContext, 'editUserAvatarContext should be set');

const { setUserAvatar } = editUserAvatarContext;
const { baseSetUserAvatar } = editUserAvatarContext;

const removeUserAvatar = React.useCallback(
() => setUserAvatar({ type: 'remove' }),
[setUserAvatar],
() => baseSetUserAvatar({ type: 'remove' }),
[baseSetUserAvatar],
);

const { pushModal } = useModalContext();
Expand Down
6 changes: 3 additions & 3 deletions web/avatars/emoji-avatar-selection-modal.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function EmojiAvatarSelectionModal(): React.Node {
const editUserAvatarContext = React.useContext(EditUserAvatarContext);
invariant(editUserAvatarContext, 'editUserAvatarContext should be set');

const { setUserAvatar, userAvatarSaveInProgress } = editUserAvatarContext;
const { baseSetUserAvatar, userAvatarSaveInProgress } = editUserAvatarContext;

const [updateAvatarStatus, setUpdateAvatarStatus] =
React.useState<?('success' | 'failure')>();
Expand Down Expand Up @@ -80,12 +80,12 @@ function EmojiAvatarSelectionModal(): React.Node {

const onSaveAvatar = React.useCallback(async () => {
try {
await setUserAvatar(pendingEmojiAvatar);
await baseSetUserAvatar(pendingEmojiAvatar);
setUpdateAvatarStatus('success');
} catch {
setUpdateAvatarStatus('failure');
}
}, [pendingEmojiAvatar, setUserAvatar]);
}, [pendingEmojiAvatar, baseSetUserAvatar]);

let saveButtonContent;
let buttonColor;
Expand Down

0 comments on commit db1e952

Please sign in to comment.