diff --git a/src/views/components/MessageMarkdown/Step.tsx b/src/views/components/MessageMarkdown/Step.tsx new file mode 100644 index 0000000..b3df0c0 --- /dev/null +++ b/src/views/components/MessageMarkdown/Step.tsx @@ -0,0 +1,38 @@ +import { Box, Button, Collapse, Group } from "@mantine/core"; +import { useDisclosure } from "@mantine/hooks"; +import React from "react"; +import SyntaxHighlighter from "react-syntax-highlighter"; +import LanguageCorner from "./LanguageCorner"; +import { okaidia } from "react-syntax-highlighter/dist/esm/styles/prism"; + +interface StepProps { + language: string; + children: string; + } +const Step: React.FC = (props) => { + const {language,children} = props; + const [opened, { toggle }] = useDisclosure(false); + + return ( + + + + + + +
+ + + {children} + +
+
+
+ ); + }; + + export default Step; \ No newline at end of file diff --git a/src/views/components/MessageMarkdown/index.tsx b/src/views/components/MessageMarkdown/index.tsx index 79e9d8e..411c62d 100644 --- a/src/views/components/MessageMarkdown/index.tsx +++ b/src/views/components/MessageMarkdown/index.tsx @@ -5,6 +5,7 @@ import rehypeRaw from "rehype-raw"; import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'; import { okaidia } from "react-syntax-highlighter/dist/esm/styles/prism"; import CodeButtons from "./CodeButtons"; +import Step from "./Step"; import LanguageCorner from "./LanguageCorner"; import { observer } from "mobx-react-lite"; import { useMst } from "@/views/stores/RootStore"; @@ -133,6 +134,11 @@ Generate a professionally written and formatted release note in markdown with th if (lanugage === 'markdown' || lanugage === 'text') { wrapLongLines = true; } + + if (lanugage === 'step') { + return {value}; + } + return !inline && lanugage ? (