diff --git a/css/_reactions-menu.scss b/css/_reactions-menu.scss index 675668e968..99d7450f1a 100644 --- a/css/_reactions-menu.scss +++ b/css/_reactions-menu.scss @@ -104,7 +104,7 @@ } } -.reactions-animations-container { +.reactions-animations-overflow-container { position: absolute; width: 20%; bottom: 0; @@ -117,6 +117,13 @@ position: relative; } +.reactions-animations-container { + left: 50%; + bottom: 0px; + display: inline-block; + position: absolute; +} + $reactionCount: 20; @function random($min, $max) { diff --git a/react/features/conference/components/web/Conference.tsx b/react/features/conference/components/web/Conference.tsx index 0aff233520..70ac8793b3 100644 --- a/react/features/conference/components/web/Conference.tsx +++ b/react/features/conference/components/web/Conference.tsx @@ -23,6 +23,7 @@ import { getOverlayToRender } from '../../../overlay/functions.web'; import ParticipantsPane from '../../../participants-pane/components/web/ParticipantsPane'; import Prejoin from '../../../prejoin/components/web/Prejoin'; import { isPrejoinPageVisible } from '../../../prejoin/functions'; +import ReactionAnimations from '../../../reactions/components/web/ReactionsAnimations'; import { toggleToolboxVisible } from '../../../toolbox/actions.any'; import { fullScreenChanged, showToolbox } from '../../../toolbox/actions.web'; import JitsiPortal from '../../../toolbox/components/web/JitsiPortal'; @@ -260,6 +261,7 @@ class Conference extends AbstractConference { { _showLobby && } + ); } diff --git a/react/features/reactions/components/web/ReactionsAnimations.tsx b/react/features/reactions/components/web/ReactionsAnimations.tsx new file mode 100644 index 0000000000..3b9d88417b --- /dev/null +++ b/react/features/reactions/components/web/ReactionsAnimations.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; + +import { getReactionsQueue, isReactionsEnabled, shouldDisplayReactionsButtons } from '../../functions.any'; + +import ReactionEmoji from './ReactionEmoji'; + +/** + * Renders the reactions animations in the case when there is no buttons displayed. + * + * @returns {ReactNode} + */ +export default function ReactionAnimations() { + const reactionsQueue = useSelector(getReactionsQueue); + const _shouldDisplayReactionsButtons = useSelector(shouldDisplayReactionsButtons); + const reactionsEnabled = useSelector(isReactionsEnabled); + + if (reactionsEnabled && !_shouldDisplayReactionsButtons) { + return (
+ {reactionsQueue.map(({ reaction, uid }, index) => ())} +
); + } + + return null; +} diff --git a/react/features/toolbox/components/web/OverflowMenuButton.tsx b/react/features/toolbox/components/web/OverflowMenuButton.tsx index 3503b686a0..d9583a0ecb 100644 --- a/react/features/toolbox/components/web/OverflowMenuButton.tsx +++ b/react/features/toolbox/components/web/OverflowMenuButton.tsx @@ -220,7 +220,7 @@ const OverflowMenuButton = ({ - {showReactionsMenu &&
+ {showReactionsMenu &&
{reactionsQueue.map(({ reaction, uid }, index) => (