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 { useFarcasterAvatar } 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 = useFarcasterAvatar(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( () => (