diff --git a/src/app/components/RenderReplyContent.tsx b/src/app/components/RenderReplyContent.tsx index f4a85318..0643bccc 100644 --- a/src/app/components/RenderReplyContent.tsx +++ b/src/app/components/RenderReplyContent.tsx @@ -46,7 +46,7 @@ export function RenderReplyContent({ } if (eventType !== MessageEvent.RoomMessage) { - return ; + return ; } const msgType = rContent.msgtype(content); diff --git a/src/app/components/message/MsgTypeRenderers.tsx b/src/app/components/message/MsgTypeRenderers.tsx index aeb3b721..a1654ecb 100644 --- a/src/app/components/message/MsgTypeRenderers.tsx +++ b/src/app/components/message/MsgTypeRenderers.tsx @@ -13,6 +13,7 @@ import { MessageBrokenContent, MessageDeletedContent, MessageEditedContent, + UnsupportedMessageEventType, MessageUnsupportedContent, VideoContent, } from './content'; @@ -49,10 +50,14 @@ export function RedactedContent({ size, reason }: RedactedContentProps) { ); } -export function UnsupportedContent({ size }: TextProps) { +export function UnsupportedContent({ size, eventType }: TextProps & { eventType?: string }) { return ( - + {eventType ? ( + + ) : ( + + )} ); } diff --git a/src/app/components/message/Reply.tsx b/src/app/components/message/Reply.tsx index 32c82a33..85088f51 100644 --- a/src/app/components/message/Reply.tsx +++ b/src/app/components/message/Reply.tsx @@ -57,13 +57,15 @@ export function ReplyMessage({ if (messageLayout === MessageLayout.Compact) { return ( - + - + {username} - {children} + + {children} + {time} @@ -73,12 +75,14 @@ export function ReplyMessage({ if (messageLayout === MessageLayout.Bubble) { return ( - + - + {username} - {children} + + {children} + {time} @@ -86,12 +90,14 @@ export function ReplyMessage({ } return ( - + - + {username} - {children} + + {children} + {time} @@ -102,6 +108,8 @@ type ReplyProps = { roomId: string; eventId: string; onClick?: (replyId: string) => void; + onUserClick?: MouseEventHandler; + onUsernameClick?: MouseEventHandler; getMemberPowerTag?: GetMemberPowerTag; accessibleTagColors?: Map; legacyUsernameColor?: boolean; @@ -114,13 +122,14 @@ type ReplyProps = { messageLayout: MessageLayout; dateFormatString: string; messageSpacing: MessageSpacing; - mediaAutoLoad?: boolean; }; export function Reply({ roomId, eventId, onClick, + onUserClick, + onUsernameClick, getMemberPowerTag, accessibleTagColors, legacyUsernameColor, @@ -133,7 +142,6 @@ export function Reply({ dateFormatString, messageLayout, messageSpacing, - mediaAutoLoad, }: ReplyProps) { const placeholderWidth = useMemo(() => randomNumberBetween(40, 400), []); const replyEvent = useRoomEvent( @@ -158,7 +166,16 @@ export function Reply({ messageLayout={messageLayout} username={ sender && ( - + {getMemberName(sender)} ) diff --git a/src/app/components/message/content/FallbackContent.tsx b/src/app/components/message/content/FallbackContent.tsx index 8353ee89..89329b73 100644 --- a/src/app/components/message/content/FallbackContent.tsx +++ b/src/app/components/message/content/FallbackContent.tsx @@ -1,5 +1,6 @@ import { Box, Icon, Icons, Text, as, color, config } from 'folds'; import React from 'react'; +import { Code } from '../../../styles/CustomHtml.css'; const warningStyle = { color: color.Warning.Main, opacity: config.opacity.P300 }; const criticalStyle = { color: color.Critical.Main, opacity: config.opacity.P300 }; @@ -24,6 +25,15 @@ export const MessageUnsupportedContent = as<'div', { children?: never }>(({ ...p )); +export const UnsupportedMessageEventType = as<'div', { eventType: string; children?: never }>( + ({ eventType, ...props }, ref) => ( + + + Unsupported {eventType} event + + ) +); + export const MessageFailedContent = as<'div', { children?: never }>(({ ...props }, ref) => ( diff --git a/src/app/features/room/RoomTimeline.tsx b/src/app/features/room/RoomTimeline.tsx index 6ae19132..eed7f37e 100644 --- a/src/app/features/room/RoomTimeline.tsx +++ b/src/app/features/room/RoomTimeline.tsx @@ -496,6 +496,8 @@ export function RoomTimeline({ eventId, roomInputRef, editor, timeline }: RoomTi roomId={roomId} eventId={replyEventId} onClick={handleOpenReply} + onUserClick={handleUserClick} + onUsernameClick={handleUsernameClick} getMemberPowerTag={getMemberPowerTag} accessibleTagColors={accessiblePowerTagColors} legacyUsernameColor={legacyUsernameColor || direct} @@ -508,7 +510,6 @@ export function RoomTimeline({ eventId, roomInputRef, editor, timeline }: RoomTi dateFormatString={dateFormatString} messageLayout={messageLayout} messageSpacing={messageSpacing} - mediaAutoLoad={mediaAutoLoad} /> ) : null; diff --git a/src/app/features/room/thread-view/TimelineView.tsx b/src/app/features/room/thread-view/TimelineView.tsx index e85b5b8d..1bea1a8d 100644 --- a/src/app/features/room/thread-view/TimelineView.tsx +++ b/src/app/features/room/thread-view/TimelineView.tsx @@ -392,6 +392,8 @@ export function TimelineView({ threadTimeline }: TimelineViewProps) { roomId={roomId} eventId={replyEventId} onClick={handleOpenReply} + onUserClick={handleUserClick} + onUsernameClick={handleUsernameClick} getMemberPowerTag={getMemberPowerTag} accessibleTagColors={accessiblePowerTagColors} legacyUsernameColor={legacyUsernameColor || direct}