|
1 | | -import React, { useEffect, useRef, useState } from "react"; |
| 1 | +import React, { useEffect, useRef } from "react"; |
2 | 2 | import Dialog from "@material-ui/core/Dialog"; |
3 | 3 | import { DialogContent, DialogTitle, makeStyles } from "@material-ui/core"; |
4 | 4 | import { useAiBot } from "../hooks"; |
5 | | -import rehypeRaw from "rehype-raw"; |
6 | | -import remarkGfm from "remark-gfm"; |
7 | | -import ReactMarkdown from "react-markdown"; |
8 | 5 | import IconButton from "@material-ui/core/IconButton"; |
9 | 6 | import CloseIcon from "@material-ui/icons/Close"; |
10 | | -import { disallowedHtmlTagsForMarkdown } from "../utils"; |
11 | 7 | import { DebugLogs } from "../DebugLogs/DebugLogs"; |
12 | | -import { DebugMessage } from "../../../types/api/entities/bot"; |
| 8 | +import { createMessageFragment } from "../utils"; |
13 | 9 |
|
14 | 10 | const useStyles = makeStyles( |
15 | 11 | (theme) => ({ |
16 | 12 | dialogStyle: { |
17 | 13 | top: '5%!important', |
18 | 14 | right: '10%!important', |
19 | 15 | left: 'unset!important', |
20 | | - height: 'fit-content', |
21 | | - width: 'fit-content', |
| 16 | + height: '80vh', |
| 17 | + width: '80vw', |
22 | 18 | }, |
23 | 19 | paper: { |
24 | 20 | width: '80vw', |
25 | | - height: '70vh', |
| 21 | + height: '80vh', |
26 | 22 | opacity: '.5', |
27 | 23 | transition: '.2s ease', |
28 | 24 | '&:hover': { |
@@ -58,17 +54,19 @@ export const DebugConsole = (props: DebugConsoleProps) => { |
58 | 54 |
|
59 | 55 | useEffect(() => { |
60 | 56 | if (containerRef.current && debugMessages?.length && threadId && !debugMessagesLoading && isOpen) { |
61 | | - let code: HTMLElement = containerRef.current.getElementsByTagName('code')?.[0]; |
| 57 | + let code = containerRef.current.getElementsByTagName('code')?.[0]; |
| 58 | + if (!code) { |
| 59 | + code = document.createElement('code'); |
| 60 | + containerRef.current.appendChild(code); |
| 61 | + } |
| 62 | + |
62 | 63 | if (code.hasChildNodes()) { |
63 | | - code.appendChild(document.createTextNode(`[${debugMessages[debugMessages.length - 1].created_at}]: ${debugMessages[debugMessages.length - 1].content}\n`)) |
| 64 | + const lastMessage = debugMessages[debugMessages.length - 1]; |
| 65 | + const fragment = createMessageFragment([lastMessage]); |
| 66 | + code.appendChild(fragment); |
64 | 67 | } else { |
65 | | - debugMessages.forEach((item) => { |
66 | | - code.appendChild(document.createTextNode(`[${item.created_at}]: ${item.content}\n`)) |
67 | | - }) |
68 | | - const container = document.getElementById(`logs-container-${threadId}`); |
69 | | - if (container) { |
70 | | - container.appendChild(code) |
71 | | - } |
| 68 | + const fragment = createMessageFragment(debugMessages); |
| 69 | + code.appendChild(fragment); |
72 | 70 | } |
73 | 71 | } |
74 | 72 | }, [debugMessages, isOpen, threadId, debugMessagesLoading]); |
|
0 commit comments