diff --git a/css/_reactions-menu.scss b/css/_reactions-menu.scss index 99d7450f1a30..ac2817f45236 100644 --- a/css/_reactions-menu.scss +++ b/css/_reactions-menu.scss @@ -1,14 +1,14 @@ @use 'sass:math'; .reactions-menu { - width: 280px; + width: 330px; background: #242528; box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.6), 0px 0px 4px 1px rgba(0, 0, 0, 0.25); border-radius: 6px; padding: 16px; &.with-gif { - width: 328px; + width: 380px; .reactions-row .toolbox-button:last-of-type { top: 3px; diff --git a/lang/main.json b/lang/main.json index e7db6dd7a05c..a6d29e0e0255 100644 --- a/lang/main.json +++ b/lang/main.json @@ -1246,6 +1246,7 @@ "lobbyButton": "Enable/disable lobby mode", "localRecording": "Toggle local recording controls", "lockRoom": "Toggle meeting password", + "love": "Heart", "lowerHand": "Lower your hand", "moreActions": "More actions", "moreActionsMenu": "More actions menu", @@ -1335,6 +1336,7 @@ "lobbyButtonEnable": "Enable lobby mode", "login": "Log-in", "logout": "Log-out", + "love": "Heart", "lowerYourHand": "Lower your hand", "moreActions": "More actions", "moreOptions": "More options", @@ -1360,6 +1362,7 @@ "raiseYourHand": "Raise your hand", "reactionBoo": "Send boo reaction", "reactionClap": "Send clap reaction", + "reactionHeart": "Send heart reaction", "reactionLaugh": "Send laugh reaction", "reactionLike": "Send thumbs up reaction", "reactionSilence": "Send silence reaction", diff --git a/react/features/reactions/constants.ts b/react/features/reactions/constants.ts index ca1d28c729c8..e968556863a8 100644 --- a/react/features/reactions/constants.ts +++ b/react/features/reactions/constants.ts @@ -1,6 +1,7 @@ import { BOO_SOUND_FILES, CLAP_SOUND_FILES, + HEART_SOUND_FILES, LAUGH_SOUND_FILES, LIKE_SOUND_FILES, SILENCE_SOUND_FILES, @@ -92,6 +93,14 @@ export const SURPRISE_SOUND_ID = `${REACTION_SOUND}_SURPRISE_`; */ export const SILENCE_SOUND_ID = `${REACTION_SOUND}_SILENCE_`; +/** + * The audio ID of the audio element for which the {@link playAudio} action is + * triggered when a new raise hand event is received. + * + * @type {string} + */ +export const HEART_SOUND_ID = `${REACTION_SOUND}_HEART_`; + /** * The audio ID of the audio element for which the {@link playAudio} action is * triggered when a new raise hand event is received. @@ -167,6 +176,13 @@ export const REACTIONS: IReactions = { shortcutChar: 'S', soundId: SILENCE_SOUND_ID, soundFiles: SILENCE_SOUND_FILES + }, + love: { + message: ':heart:', + emoji: '💖', + shortcutChar: 'H', + soundId: HEART_SOUND_ID, + soundFiles: HEART_SOUND_FILES } }; diff --git a/react/features/reactions/sounds.ts b/react/features/reactions/sounds.ts index d064c2d15e3f..9d0a293d895c 100644 --- a/react/features/reactions/sounds.ts +++ b/react/features/reactions/sounds.ts @@ -40,6 +40,13 @@ export const SURPRISE_SOUND_FILES = new Array(3).fill('reactions-surprise.mp3'); */ export const SILENCE_SOUND_FILES = new Array(3).fill('reactions-crickets.mp3'); +/** + * The name of the bundled audio file which will be played for the heart reaction sound. + * + * @type {Array} + */ +export const HEART_SOUND_FILES = new Array(3).fill('reactions-love.mp3'); + /** * The name of the bundled audio file which will be played for the raise hand sound. * diff --git a/sounds/reactions-love.mp3 b/sounds/reactions-love.mp3 new file mode 100644 index 000000000000..716c9671043a Binary files /dev/null and b/sounds/reactions-love.mp3 differ diff --git a/sounds/reactions-love.opus b/sounds/reactions-love.opus new file mode 100644 index 000000000000..fedfcd41c3ee Binary files /dev/null and b/sounds/reactions-love.opus differ