Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32088904
thread-emoji-avatar-selection-modal.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
thread-emoji-avatar-selection-modal.react.js
View Options
// @flow
import
invariant
from
'invariant'
;
import
*
as
React
from
'react'
;
import
{
EditThreadAvatarContext
}
from
'lib/components/base-edit-thread-avatar-provider.react.js'
;
import
{
getDefaultAvatar
,
useAvatarForThread
,
}
from
'lib/shared/avatar-utils.js'
;
import
type
{
ClientAvatar
,
ClientEmojiAvatar
,
}
from
'lib/types/avatar-types.js'
;
import
type
{
ThreadInfo
,
RawThreadInfo
,
}
from
'lib/types/minimally-encoded-thread-permissions-types.js'
;
import
EmojiAvatarSelectionModal
from
'./emoji-avatar-selection-modal.react.js'
;
type
Props
=
{
+
threadInfo
:
RawThreadInfo
|
ThreadInfo
,
};
function
ThreadEmojiAvatarSelectionModal
(
props
:
Props
)
:
React
.
Node
{
const
{
threadInfo
}
=
props
;
const
editThreadAvatarContext
=
React
.
useContext
(
EditThreadAvatarContext
);
invariant
(
editThreadAvatarContext
,
'editThreadAvatarContext should be set'
);
const
{
baseSetThreadAvatar
,
threadAvatarSaveInProgress
}
=
editThreadAvatarContext
;
const
currentThreadAvatar
:
ClientAvatar
=
useAvatarForThread
(
threadInfo
);
const
defaultThreadAvatar
:
ClientEmojiAvatar
=
getDefaultAvatar
(
threadInfo
.
id
,
threadInfo
.
color
,
);
const
setEmojiAvatar
=
React
.
useCallback
(
(
pendingEmojiAvatar
:
ClientEmojiAvatar
)
:
Promise
<
void
>
=>
baseSetThreadAvatar
(
threadInfo
.
id
,
pendingEmojiAvatar
),
[
baseSetThreadAvatar
,
threadInfo
.
id
],
);
return
(
<
EmojiAvatarSelectionModal
currentAvatar
=
{
currentThreadAvatar
}
defaultAvatar
=
{
defaultThreadAvatar
}
setEmojiAvatar
=
{
setEmojiAvatar
}
avatarSaveInProgress
=
{
threadAvatarSaveInProgress
}
/>
);
}
export
default
ThreadEmojiAvatarSelectionModal
;
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Sun, Dec 7, 7:54 AM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5702410
Default Alt Text
thread-emoji-avatar-selection-modal.react.js (1 KB)
Attached To
Mode
rCOMM Comm
Attached
Detach File
Event Timeline
Log In to Comment