From 80f9371295c79b1e4fb026cd35bd1da66c904f24 Mon Sep 17 00:00:00 2001 From: Tristan Yang Date: Tue, 4 Jul 2023 11:42:33 +0800 Subject: [PATCH] fix: reply with forwarded msg --- src/components/Message/Reply.tsx | 28 ++++++++++++++++++++++++---- src/components/Message/index.tsx | 4 +++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/components/Message/Reply.tsx b/src/components/Message/Reply.tsx index b8bb54b9..6b5b5f46 100644 --- a/src/components/Message/Reply.tsx +++ b/src/components/Message/Reply.tsx @@ -5,13 +5,15 @@ import clsx from "clsx"; import { ContentTypes } from "@/app/config"; import { MessagePayload } from "@/app/slices/message"; import { useAppSelector } from "@/app/store"; +import { ChatContext } from "@/types/common"; import { getFileIcon, isImage } from "@/utils"; import Avatar from "../Avatar"; import LinkifyText from "../LinkifyText"; import MarkdownRender from "../MarkdownRender"; +import ForwardedMessage from "./ForwardedMessage"; -const renderContent = (data: MessagePayload) => { - const { content_type, content, thumbnail, properties } = data; +const renderContent = (data: MessagePayload, context: ChatContext, to: number) => { + const { content_type, content, thumbnail, properties, created_at, from_uid = 0 } = data; let res = null; switch (content_type) { case ContentTypes.text: @@ -52,6 +54,22 @@ const renderContent = (data: MessagePayload) => { } } break; + case ContentTypes.archive: + { + // const { size, name, file_type } = properties; + res = ( + + ); + } + break; default: break; @@ -62,9 +80,11 @@ const renderContent = (data: MessagePayload) => { interface ReplyProps { mid: number; interactive?: boolean; + context: ChatContext; + to?: number; } -const Reply: FC = ({ mid, interactive = true }) => { +const Reply: FC = ({ mid, interactive = true, context, to = 0 }) => { const { t } = useTranslation("chat"); const { data, users } = useAppSelector((store) => { return { data: store.message[mid], users: store.users.byId }; @@ -112,7 +132,7 @@ const Reply: FC = ({ mid, interactive = true }) => {
{currUser.name} - {renderContent(data)} + {renderContent(data, context, to)} {interactive &&
}
diff --git a/src/components/Message/index.tsx b/src/components/Message/index.tsx index 7f4488bf..f69e496a 100644 --- a/src/components/Message/index.tsx +++ b/src/components/Message/index.tsx @@ -186,7 +186,9 @@ const Message: FC = ({ sending && "opacity-90" )} > - {reply_mid && } + {reply_mid && ( + + )} {edit ? ( ) : (