Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32088910
user-avatar.react.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
user-avatar.react.js
View Options
// @flow
import
*
as
React
from
'react'
;
import
{
getAvatarForUser
,
useResolvedUserAvatar
,
}
from
'lib/shared/avatar-utils.js'
;
import
type
{
AvatarSize
}
from
'lib/types/avatar-types.js'
;
import
{
useCurrentUserFID
}
from
'lib/utils/farcaster-utils.js'
;
import
Avatar
from
'./avatar.react.js'
;
import
{
useSelector
}
from
'../redux/redux-utils.js'
;
type
Props
=
{
+
userID
:
?
string
,
+
size
:
AvatarSize
,
+
showSpinner
?:
boolean
,
};
function
UserAvatar
(
props
:
Props
)
:
React
.
Node
{
const
{
userID
,
size
,
showSpinner
}
=
props
;
const
currentUserFID
=
useCurrentUserFID
();
const
userAvatarInfo
=
useSelector
(
state
=>
{
if
(
!
userID
)
{
return
null
;
}
else
if
(
userID
===
state
.
currentUserInfo
?
.
id
)
{
return
{
...
state
.
currentUserInfo
,
farcasterID
:
currentUserFID
,
};
}
else
{
return
{
...
state
.
userStore
.
userInfos
[
userID
],
farcasterID
:
state
.
auxUserStore
.
auxUserInfos
[
userID
]
?
.
fid
,
};
}
});
const
avatar
=
getAvatarForUser
(
userAvatarInfo
);
const
resolvedUserAvatar
=
useResolvedUserAvatar
(
avatar
,
userAvatarInfo
);
return
(
<
Avatar
size
=
{
size
}
avatarInfo
=
{
resolvedUserAvatar
}
showSpinner
=
{
showSpinner
}
/>
);
}
export
default
UserAvatar
;
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Sun, Dec 7, 7:54 AM (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5750138
Default Alt Text
user-avatar.react.js (1 KB)
Attached To
Mode
rCOMM Comm
Attached
Detach File
Event Timeline
Log In to Comment