To fix Storybook, make <Message> take renderReactionPicker

This commit is contained in:
Evan Hahn 2021-09-10 13:00:31 -05:00 committed by GitHub
parent 58c18ac420
commit 84ac7dd2df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 53 additions and 14 deletions

View file

@ -63,7 +63,7 @@ import {
} from '../../types/Colors';
import { createRefMerger } from '../_util';
import { emojiToData } from '../emoji/lib';
import { SmartReactionPicker } from '../../state/smart/ReactionPicker';
import type { SmartReactionPicker } from '../../state/smart/ReactionPicker';
import { getCustomColorStyle } from '../../util/getCustomColorStyle';
import { offsetDistanceModifier } from '../../util/popperUtil';
@ -197,6 +197,9 @@ export type PropsHousekeeping = {
disableScroll?: boolean;
collapseMetadata?: boolean;
renderAudioAttachment: (props: AudioAttachmentProps) => JSX.Element;
renderReactionPicker: (
props: React.ComponentProps<typeof SmartReactionPicker>
) => JSX.Element;
};
export type PropsActions = {
@ -1319,6 +1322,7 @@ export class Message extends React.PureComponent<Props, State> {
isTapToView,
reactToMessage,
renderEmojiPicker,
renderReactionPicker,
replyToMessage,
selectedReaction,
} = this.props;
@ -1459,22 +1463,22 @@ export class Message extends React.PureComponent<Props, State> {
this.popperPreventOverflowModifier(),
]}
>
{({ ref, style }) => (
<SmartReactionPicker
ref={ref}
style={style}
selected={selectedReaction}
onClose={this.toggleReactionPicker}
onPick={emoji => {
{({ ref, style }) =>
renderReactionPicker({
ref,
style,
selected: selectedReaction,
onClose: this.toggleReactionPicker,
onPick: emoji => {
this.toggleReactionPicker(true);
reactToMessage(id, {
emoji,
remove: emoji === selectedReaction,
});
}}
renderEmojiPicker={renderEmojiPicker}
/>
)}
},
renderEmojiPicker,
})
}
</Popper>,
reactionPickerRoot
)}