diff --git a/web/avatars/edit-user-avatar-menu.react.js b/web/avatars/edit-user-avatar-menu.react.js
--- a/web/avatars/edit-user-avatar-menu.react.js
+++ b/web/avatars/edit-user-avatar-menu.react.js
@@ -7,7 +7,9 @@
import { useModalContext } from 'lib/components/modal-provider.react.js';
import SWMansionIcon from 'lib/components/swmansion-icon.react.js';
import { useENSAvatar } from 'lib/hooks/ens-cache.js';
+import { useFarcasterAvatarURL } from 'lib/hooks/fc-cache.js';
import { getETHAddressForUserInfo } from 'lib/shared/account-utils.js';
+import { useCurrentUserFID } from 'lib/utils/farcaster-utils.js';
import { useUploadAvatarMedia } from './avatar-hooks.react.js';
import css from './edit-avatar-menu.css';
@@ -26,11 +28,13 @@
function EditUserAvatarMenu(): React.Node {
const currentUserInfo = useSelector(state => state.currentUserInfo);
+ const currentUserFID = useCurrentUserFID();
const ethAddress: ?string = React.useMemo(
() => getETHAddressForUserInfo(currentUserInfo),
[currentUserInfo],
);
const ensAvatarURI: ?string = useENSAvatar(ethAddress);
+ const farcasterAvatarURL = useFarcasterAvatarURL(currentUserFID);
const editUserAvatarContext = React.useContext(EditUserAvatarContext);
invariant(editUserAvatarContext, 'editUserAvatarContext should be set');
@@ -112,6 +116,27 @@
[ethereumIcon, setENSUserAvatar],
);
+ const setFarcasterUserAvatar = React.useCallback(
+ () => baseSetUserAvatar({ type: 'farcaster' }),
+ [baseSetUserAvatar],
+ );
+
+ const farcasterIcon = React.useMemo(
+ () => ,
+ [],
+ );
+
+ const farcasterMenuItem = React.useMemo(
+ () => (
+
+ ),
+ [farcasterIcon, setFarcasterUserAvatar],
+ );
const removeMenuItem = React.useMemo(
() => (