From 871d83b9510469262224c49dd00cb25172fb294f Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 28 Jan 2022 02:11:13 +0100 Subject: [PATCH] Reaction Selector: Better thumbs --- src/assets/reaction-thumbs.png | Bin 0 -> 54239 bytes .../middle/message/ReactionSelector.scss | 36 ++------ .../middle/message/ReactionSelector.tsx | 74 +++------------- .../message/ReactionSelectorReaction.scss | 70 +++++++++++++++ .../message/ReactionSelectorReaction.tsx | 80 ++++++++++++++++++ src/util/buildClassName.ts | 12 ++- 6 files changed, 175 insertions(+), 97 deletions(-) create mode 100644 src/assets/reaction-thumbs.png create mode 100644 src/components/middle/message/ReactionSelectorReaction.scss create mode 100644 src/components/middle/message/ReactionSelectorReaction.tsx diff --git a/src/assets/reaction-thumbs.png b/src/assets/reaction-thumbs.png new file mode 100644 index 0000000000000000000000000000000000000000..b31a8d1b7c86beb95c57e0570e8c0ab4b964ae0c GIT binary patch literal 54239 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 void; @@ -25,57 +20,8 @@ type OwnProps = { isReady?: boolean; }; -const AvailableReaction: FC<{ - reaction: ApiAvailableReaction; - isReady?: boolean; - onSendReaction: (reaction: string, x: number, y: number) => void; -}> = ({ reaction, onSendReaction, isReady }) => { - // eslint-disable-next-line no-null/no-null - const containerRef = useRef(null); +const cn = createClassNameBuilder('ReactionSelector'); - const mediaData = useMedia(`document${reaction.selectAnimation?.id}`, !isReady, ApiMediaFormat.Lottie); - - const [isActivated, activate, deactivate] = useFlag(); - const [isAnimationLoaded, markAnimationLoaded] = useFlag(); - - const shouldRenderAnimated = Boolean(isReady && mediaData); - const { transitionClassNames: animatedClassNames } = useShowTransition(shouldRenderAnimated); - const { shouldRender: shouldRenderStatic, transitionClassNames: staticClassNames } = useShowTransition( - !isReady || !isAnimationLoaded, undefined, true, - ); - - function handleClick() { - if (!containerRef.current) return; - const { x, y } = containerRef.current.getBoundingClientRect(); - - onSendReaction(reaction.reaction, x, y); - } - - return ( -
- {shouldRenderStatic && ( - - )} - {shouldRenderAnimated && ( - - )} -
- ); -}; const ReactionSelector: FC = ({ availableReactions, enabledReactions, @@ -104,16 +50,16 @@ const ReactionSelector: FC = ({ if ((!isPrivate && !enabledReactions?.length) || !availableReactions) return undefined; return ( -
-
-
-
-
+
+
+
+
+
{availableReactions?.map((reaction) => { if (reaction.isInactive || (!isPrivate && (!enabledReactions || !enabledReactions.includes(reaction.reaction)))) return undefined; return ( - void; +}; + +const cn = createClassNameBuilder('ReactionSelectorReaction'); + +const ReactionSelectorReaction: FC = ({ reaction, onSendReaction, isReady }) => { + // eslint-disable-next-line no-null/no-null + const containerRef = useRef(null); + + const mediaData = useMedia(`document${reaction.selectAnimation?.id}`, !isReady, ApiMediaFormat.Lottie); + + const [isActivated, activate, deactivate] = useFlag(); + const [isAnimationLoaded, markAnimationLoaded] = useFlag(); + + const shouldRenderAnimated = Boolean(isReady && mediaData); + const { transitionClassNames: animatedClassNames } = useShowTransition(shouldRenderAnimated); + const { shouldRender: shouldRenderStatic, transitionClassNames: staticClassNames } = useShowTransition( + !isReady || !isAnimationLoaded, undefined, true, + ); + + function handleClick() { + if (!containerRef.current) return; + const { x, y } = containerRef.current.getBoundingClientRect(); + + onSendReaction(reaction.reaction, x, y); + } + + return ( +
+ {shouldRenderStatic && ( +
+ )} + {shouldRenderAnimated && ( + + )} +
+ ); +}; + +export default memo(ReactionSelectorReaction); diff --git a/src/util/buildClassName.ts b/src/util/buildClassName.ts index 886a7882e..95eafe294 100644 --- a/src/util/buildClassName.ts +++ b/src/util/buildClassName.ts @@ -1,16 +1,22 @@ type Parts = (string | false | undefined)[]; +type PartsWithGlobals = (string | false | undefined | string[])[]; export default function buildClassName(...parts: Parts) { return parts.filter(Boolean).join(' '); } export function createClassNameBuilder(componentName: string) { - return (elementName: string, ...modifiers: Parts) => { + return (elementName: string, ...modifiers: PartsWithGlobals) => { const baseName = elementName === '&' ? componentName : `${componentName}__${elementName}`; - return modifiers.reduce((acc, modifier) => { + return modifiers.reduce((acc, modifier) => { if (modifier) { - acc.push(`${baseName}--${modifier}`); + // A bit hacky way to pass global class names + if (Array.isArray(modifier)) { + acc.push(...modifier); + } else { + acc.push(`${baseName}--${modifier}`); + } } return acc;