From 4f1188e2130584f05e9559edb59dd1d194166371 Mon Sep 17 00:00:00 2001 From: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com> Date: Thu, 9 Sep 2021 15:53:26 -0500 Subject: [PATCH] Save skin tone changes in reaction picker --- ts/components/CustomizingPreferredReactionsModal.tsx | 1 + ts/components/conversation/ReactionPicker.stories.tsx | 6 +++++- ts/components/conversation/ReactionPicker.tsx | 8 +++++++- ts/components/emoji/EmojiPicker.tsx | 2 +- ts/state/smart/ReactionPicker.tsx | 4 ++++ ts/state/smart/renderEmojiPicker.tsx | 2 ++ 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ts/components/CustomizingPreferredReactionsModal.tsx b/ts/components/CustomizingPreferredReactionsModal.tsx index b2298330a..36e3b3759 100644 --- a/ts/components/CustomizingPreferredReactionsModal.tsx +++ b/ts/components/CustomizingPreferredReactionsModal.tsx @@ -134,6 +134,7 @@ export function CustomizingPreferredReactionsModal({ hasMoreButton={false} i18n={i18n} onPick={onPick} + onSetSkinTone={shouldNotBeCalled} ref={setReferenceElement} preferredReactionEmoji={draftPreferredReactions} selected={selected} diff --git a/ts/components/conversation/ReactionPicker.stories.tsx b/ts/components/conversation/ReactionPicker.stories.tsx index 482ad1f65..659e3906f 100644 --- a/ts/components/conversation/ReactionPicker.stories.tsx +++ b/ts/components/conversation/ReactionPicker.stories.tsx @@ -30,15 +30,16 @@ const preferredReactionEmoji = [ const renderEmojiPicker: ReactionPickerProps['renderEmojiPicker'] = ({ onClose, onPickEmoji, + onSetSkinTone, ref, }) => ( ); @@ -48,6 +49,7 @@ storiesOf('Components/Conversation/ReactionPicker', module) & - Pick & { + Pick< + EmojiPickerProps, + 'onClickSettings' | 'onPickEmoji' | 'onSetSkinTone' + > & { ref: React.Ref; }; @@ -28,6 +31,7 @@ export type OwnProps = { selectionStyle: ReactionPickerSelectionStyle; onClose?: () => unknown; onPick: (emoji: string) => unknown; + onSetSkinTone: (tone: number) => unknown; openCustomizePreferredReactionsModal?: () => unknown; preferredReactionEmoji: Array; renderEmojiPicker: (props: RenderEmojiPickerProps) => React.ReactElement; @@ -71,6 +75,7 @@ export const ReactionPicker = React.forwardRef( i18n, onClose, onPick, + onSetSkinTone, openCustomizePreferredReactionsModal, preferredReactionEmoji, renderEmojiPicker, @@ -114,6 +119,7 @@ export const ReactionPicker = React.forwardRef( onClickSettings: openCustomizePreferredReactionsModal, onClose, onPickEmoji, + onSetSkinTone, ref, style, }); diff --git a/ts/components/emoji/EmojiPicker.tsx b/ts/components/emoji/EmojiPicker.tsx index d96c3b7ba..f5013d7eb 100644 --- a/ts/components/emoji/EmojiPicker.tsx +++ b/ts/components/emoji/EmojiPicker.tsx @@ -32,7 +32,7 @@ export type OwnProps = { readonly onPickEmoji: (o: EmojiPickDataType) => unknown; readonly doSend?: () => unknown; readonly skinTone?: number; - readonly onSetSkinTone?: (tone: number) => unknown; + readonly onSetSkinTone: (tone: number) => unknown; readonly recentEmojis?: Array; readonly onClickSettings?: () => unknown; readonly onClose?: () => unknown; diff --git a/ts/state/smart/ReactionPicker.tsx b/ts/state/smart/ReactionPicker.tsx index 273baabe9..af2ff7454 100644 --- a/ts/state/smart/ReactionPicker.tsx +++ b/ts/state/smart/ReactionPicker.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import { useSelector } from 'react-redux'; import { StateType } from '../reducer'; import { useActions as usePreferredReactionsActions } from '../ducks/preferredReactions'; +import { useActions as useItemsActions } from '../ducks/items'; import { getIntl } from '../selectors/user'; import { @@ -22,6 +23,7 @@ import { type ExternalProps = Omit< Props, | 'i18n' + | 'onSetSkinTone' | 'openCustomizePreferredReactionsModal' | 'preferredReactionEmoji' | 'selectionStyle' @@ -35,6 +37,7 @@ export const SmartReactionPicker = React.forwardRef< const { openCustomizePreferredReactionsModal, } = usePreferredReactionsActions(); + const { onSetSkinTone } = useItemsActions(); const i18n = useSelector(getIntl); @@ -49,6 +52,7 @@ export const SmartReactionPicker = React.forwardRef< return (