Spaces:
Runtime error
Runtime error
| import { useMessageFetching } from "../context/MessageFetch"; | |
| import { MessageType } from "../types/types"; | |
| const Reply = ({ message, id }: { message: string; id: string }) => { | |
| const { messageFetching, messages } = useMessageFetching(); | |
| const trimmedMessage = message.slice(2); | |
| return ( | |
| <div> | |
| {!messageFetching && messages[messages.length - 1].id === id && ( | |
| <div | |
| dangerouslySetInnerHTML={{ __html: trimmedMessage }} | |
| style={{ | |
| whiteSpace: "pre-wrap", | |
| }} | |
| /> | |
| )} | |
| {messages[messages.length - 1].id !== id && ( | |
| <div | |
| dangerouslySetInnerHTML={{ __html: trimmedMessage }} | |
| style={{ | |
| whiteSpace: "pre-wrap", | |
| }} | |
| /> | |
| )} | |
| {messageFetching && messages[messages.length - 1].id === id && ( | |
| <p> | |
| {trimmedMessage} | |
| <span | |
| className={`cursor`} | |
| style={{ | |
| marginLeft: "5px", | |
| }} | |
| > | |
| || | |
| </span> | |
| </p> | |
| )} | |
| </div> | |
| ); | |
| }; | |
| export default function Message({ user, message, id }: MessageType) { | |
| return ( | |
| <div | |
| style={{ | |
| width: "100%", | |
| backgroundColor: !user ? "#444654" : "transparent", | |
| display: "flex", | |
| flexDirection: "row", | |
| alignItems: "center", | |
| padding: "25px 0", | |
| borderRadius: "5px", | |
| marginTop: "10px", | |
| justifyContent: "center", | |
| }} | |
| > | |
| <div | |
| className="messages_wrapper" | |
| style={{ | |
| display: "flex", | |
| flexDirection: "row", | |
| alignItems: "flex-start", | |
| width: "100%", | |
| alignSelf: "center", | |
| }} | |
| > | |
| <div | |
| style={{ | |
| width: "25px", | |
| marginLeft: "15px", | |
| alignItems: "flex-start", | |
| }} | |
| > | |
| {user ? ( | |
| <p | |
| style={{ | |
| fontSize: "40px", | |
| marginTop: "-15px", | |
| }} | |
| > | |
| 🗣️ | |
| </p> | |
| ) : ( | |
| <p | |
| style={{ | |
| fontSize: "45px", | |
| marginTop: "-15px", | |
| }} | |
| > | |
| 🗽 | |
| </p> | |
| )} | |
| </div> | |
| <div | |
| style={{ | |
| marginLeft: "50px", | |
| marginRight: "15px", | |
| fontSize: "15px", | |
| lineHeight: "25px", | |
| width: "100%", | |
| }} | |
| > | |
| {user ? message.trim() : <Reply message={message} id={id} />} | |
| </div> | |
| </div> | |
| </div> | |
| ); | |
| } | |