diff --git a/ts/components/conversation/message/message-content/MessageReactions.tsx b/ts/components/conversation/message/message-content/MessageReactions.tsx index 8a417c9bc..b7567d70e 100644 --- a/ts/components/conversation/message/message-content/MessageReactions.tsx +++ b/ts/components/conversation/message/message-content/MessageReactions.tsx @@ -10,6 +10,7 @@ import { Flex } from '../../../basic/Flex'; import { SessionIcon } from '../../../icon'; import { Reaction, ReactionProps } from '../reactions/Reaction'; import { StyledPopupContainer } from '../reactions/ReactionPopup'; +import { REACT_LIMIT } from '../../../../session/constants'; export const popupXDefault = -81; export const popupYDefault = -90; @@ -148,7 +149,7 @@ type Props = { noAvatar: boolean; }; -export const MessageReactions = (props: Props): ReactElement => { +export const MessageReactions = (props: Props) => { const { messageId, hasReactLimit = true, @@ -185,12 +186,14 @@ export const MessageReactions = (props: Props): ReactElement => { }, [msgProps?.sortedReacts, reactions]); if (!msgProps) { - return <>; + return null; } const { sortedReacts } = msgProps; - const reactLimit = 6; + if (!sortedReacts || !sortedReacts.length) { + return null; + } const reactionsProps = { messageId, @@ -220,7 +223,7 @@ export const MessageReactions = (props: Props): ReactElement => { > {sortedReacts && sortedReacts?.length !== 0 && - (!hasReactLimit || sortedReacts.length <= reactLimit ? ( + (!hasReactLimit || sortedReacts.length <= REACT_LIMIT ? ( ) : ( diff --git a/ts/session/constants.ts b/ts/session/constants.ts index ef4aa107b..5190be6d8 100644 --- a/ts/session/constants.ts +++ b/ts/session/constants.ts @@ -71,6 +71,7 @@ export const UI = { }; export const DEFAULT_RECENT_REACTS = ['😂', '🥰', '😢', '😡', '😮', '😈']; +export const REACT_LIMIT = 6; export const MAX_USERNAME_BYTES = 64; diff --git a/ts/themes/globals.tsx b/ts/themes/globals.tsx index a5d1d1339..b886c9973 100644 --- a/ts/themes/globals.tsx +++ b/ts/themes/globals.tsx @@ -25,6 +25,8 @@ export type ThemeGlobals = { '--margins-xl': string; /* Padding */ + '--padding-message-content-x': string; + '--padding-message-content-y': string; '--padding-message-content': string; '--padding-link-preview': string; @@ -106,7 +108,9 @@ export const THEME_GLOBALS: ThemeGlobals = { '--margins-lg': '20px', '--margins-xl': '25px', - '--padding-message-content': '7px 13px', + '--padding-message-content-x': '13px', + '--padding-message-content-y': '7px', + '--padding-message-content': 'var(--padding-message-content-y) var(--padding-message-content-x)', '--padding-link-preview': '-7px -13px 7px -13px', // bottom has positive value because a link preview has always a body below '--border-radius': '5px',