From 8b79cf397e4d94f2ffaab4c8a83d21ee804e63c0 Mon Sep 17 00:00:00 2001 From: Maria Rushkova <66270386+mrushkova@users.noreply.github.com> Date: Tue, 7 Dec 2021 12:12:00 +0100 Subject: [PATCH] Add image to replying (#148) --- .../src/components/Chat/ChatInput.tsx | 6 ++-- .../src/components/Chat/ChatMessages.tsx | 28 +++++++++++++++---- packages/react-chat/src/hooks/useReply.ts | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/packages/react-chat/src/components/Chat/ChatInput.tsx b/packages/react-chat/src/components/Chat/ChatInput.tsx index 6533399e..68210d8d 100644 --- a/packages/react-chat/src/components/Chat/ChatInput.tsx +++ b/packages/react-chat/src/components/Chat/ChatInput.tsx @@ -257,6 +257,7 @@ export function ChatInput({ reply, setReply }: ChatInputProps) { {reply.sender} {reply.content} + {reply.image && } setReply(undefined)}> {" "} @@ -442,20 +443,18 @@ const ReplyWrapper = styled.div` display: flex; flex-direction: column; width: 100%; - max-height: 96px; padding: 6px 12px; background: rgba(0, 0, 0, 0.1); color: ${({ theme }) => theme.primary}; border-radius: 14px 14px 4px 14px; position: relative; - - ${textSmallStyles}; `; export const ReplyTo = styled.div` display: flex; align-items: center; font-weight: 500; + ${textSmallStyles}; `; export const ReplyOn = styled.div` @@ -463,4 +462,5 @@ export const ReplyOn = styled.div` overflow: hidden; white-space: nowrap; text-overflow: ellipsis; + ${textSmallStyles}; `; diff --git a/packages/react-chat/src/components/Chat/ChatMessages.tsx b/packages/react-chat/src/components/Chat/ChatMessages.tsx index 0c3fab7a..d3ce6b6c 100644 --- a/packages/react-chat/src/components/Chat/ChatMessages.tsx +++ b/packages/react-chat/src/components/Chat/ChatMessages.tsx @@ -64,12 +64,22 @@ function ChatUiMessage({ {quote && ( - - + + {" "} {quote.sender} - - {quote.content} + + {quote.content} + {quote.image && } )} @@ -119,6 +129,7 @@ function ChatUiMessage({ setReply({ sender: message.sender, content: message.content, + image: message.image, id: message.id, }) } @@ -381,10 +392,17 @@ const QuoteWrapper = styled.div` position: relative; `; -const QuoteAuthor = styled(ReplyTo)` +const QuoteSender = styled(ReplyTo)` color: ${({ theme }) => theme.secondary}; `; const Quote = styled(ReplyOn)` color: ${({ theme }) => theme.secondary}; `; + +const QuoteImage = styled.img` + width: 56px; + height: 56px; + border-radius: 4px; + margin-top: 4px; +`; diff --git a/packages/react-chat/src/hooks/useReply.ts b/packages/react-chat/src/hooks/useReply.ts index ec35980d..fb76a530 100644 --- a/packages/react-chat/src/hooks/useReply.ts +++ b/packages/react-chat/src/hooks/useReply.ts @@ -1,5 +1,6 @@ export type Reply = { sender: string; content: string; + image?: string; id: string; };