Don't show a message bubble around polls (#7374)

* Don't show a message bubble around polls

* Update res/css/views/rooms/_EventBubbleTile.scss
pull/21833/head
Michael Telatynski 2021-12-15 19:47:57 +00:00 committed by GitHub
parent d31aa12156
commit 11aa6c7435
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions

View File

@ -312,6 +312,10 @@ limitations under the License.
} }
} }
.mx_EventTile.mx_EventTile_noBubble[data-layout=bubble] {
--backgroundColor: transparent;
}
.mx_EventTile.mx_EventTile_bubbleContainer[data-layout=bubble], .mx_EventTile.mx_EventTile_bubbleContainer[data-layout=bubble],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout=bubble], .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout=bubble],
.mx_EventTile.mx_EventTile_info[data-layout=bubble], .mx_EventTile.mx_EventTile_info[data-layout=bubble],

View File

@ -1067,6 +1067,7 @@ export default class EventTile extends React.Component<IProps, IState> {
isBubbleMessage, isBubbleMessage,
isInfoMessage, isInfoMessage,
isLeftAlignedBubbleMessage, isLeftAlignedBubbleMessage,
noBubbleEvent,
} = getEventDisplayInfo(this.props.mxEvent); } = getEventDisplayInfo(this.props.mxEvent);
const { isQuoteExpanded } = this.state; const { isQuoteExpanded } = this.state;
@ -1121,6 +1122,7 @@ export default class EventTile extends React.Component<IProps, IState> {
mx_EventTile_emote: msgtype === 'm.emote', mx_EventTile_emote: msgtype === 'm.emote',
mx_EventTile_noSender: this.props.hideSender, mx_EventTile_noSender: this.props.hideSender,
mx_EventTile_clamp: this.props.tileShape === TileShape.ThreadPanel, mx_EventTile_clamp: this.props.tileShape === TileShape.ThreadPanel,
mx_EventTile_noBubble: noBubbleEvent,
}); });
// If the tile is in the Sending state, don't speak the message. // If the tile is in the Sending state, don't speak the message.

View File

@ -119,6 +119,7 @@ export function getEventDisplayInfo(mxEvent: MatrixEvent): {
tileHandler: string; tileHandler: string;
isBubbleMessage: boolean; isBubbleMessage: boolean;
isLeftAlignedBubbleMessage: boolean; isLeftAlignedBubbleMessage: boolean;
noBubbleEvent: boolean;
} { } {
const content = mxEvent.getContent(); const content = mxEvent.getContent();
const msgtype = content.msgtype; const msgtype = content.msgtype;
@ -144,7 +145,11 @@ export function getEventDisplayInfo(mxEvent: MatrixEvent): {
eventType !== EventType.RoomMessage && eventType !== EventType.RoomMessage &&
eventType !== EventType.Sticker && eventType !== EventType.Sticker &&
eventType !== EventType.RoomCreate && eventType !== EventType.RoomCreate &&
eventType !== POLL_START_EVENT_TYPE.name !POLL_START_EVENT_TYPE.matches(eventType)
);
// Some non-info messages want to be rendered in the appropriate bubble column but without the bubble background
const noBubbleEvent = (
POLL_START_EVENT_TYPE.matches(eventType)
); );
// If we're showing hidden events in the timeline, we should use the // If we're showing hidden events in the timeline, we should use the
@ -158,7 +163,7 @@ export function getEventDisplayInfo(mxEvent: MatrixEvent): {
isInfoMessage = true; isInfoMessage = true;
} }
return { tileHandler, isInfoMessage, isBubbleMessage, isLeftAlignedBubbleMessage }; return { tileHandler, isInfoMessage, isBubbleMessage, isLeftAlignedBubbleMessage, noBubbleEvent };
} }
export function isVoiceMessage(mxEvent: MatrixEvent): boolean { export function isVoiceMessage(mxEvent: MatrixEvent): boolean {