Spaces:
Build error
Build error
import Markdown from "react-markdown"; | |
import SyntaxHighlighter from "react-syntax-highlighter"; | |
import { atomOneDark } from "react-syntax-highlighter/dist/esm/styles/hljs"; | |
import { useTranslation } from "react-i18next"; | |
import { I18nKey } from "#/i18n/declaration"; | |
import { JupyterLine } from "#/utils/parse-cell-content"; | |
import { paragraph } from "../markdown/paragraph"; | |
interface JupyterCellOutputProps { | |
lines: JupyterLine[]; | |
} | |
export function JupyterCellOutput({ lines }: JupyterCellOutputProps) { | |
const { t } = useTranslation(); | |
return ( | |
<div className="rounded-lg bg-gray-800 dark:bg-gray-900 p-2 text-xs"> | |
<div className="mb-1 text-gray-400"> | |
{t(I18nKey.JUPYTER$OUTPUT_LABEL)} | |
</div> | |
<pre | |
className="scrollbar-custom scrollbar-thumb-gray-500 hover:scrollbar-thumb-gray-400 dark:scrollbar-thumb-white/10 dark:hover:scrollbar-thumb-white/20 overflow-auto px-5 max-h-[60vh] bg-gray-800" | |
style={{ padding: 0, marginBottom: 0, fontSize: "0.75rem" }} | |
> | |
{/* display the lines as plaintext or image */} | |
{lines.map((line, index) => { | |
if (line.type === "image") { | |
// Use markdown to display the image | |
const imageMarkdown = line.url | |
? `` | |
: line.content; | |
return ( | |
<div key={index}> | |
<Markdown | |
components={{ | |
p: paragraph, | |
}} | |
urlTransform={(value: string) => value} | |
> | |
{imageMarkdown} | |
</Markdown> | |
</div> | |
); | |
} | |
return ( | |
<div key={index}> | |
<SyntaxHighlighter language="plaintext" style={atomOneDark}> | |
{line.content} | |
</SyntaxHighlighter> | |
</div> | |
); | |
})} | |
</pre> | |
</div> | |
); | |
} | |