|
@@ -5,25 +5,26 @@ import mermaid from 'mermaid';
|
|
|
|
|
|
|
|
type MermaidViewerProps = {
|
|
type MermaidViewerProps = {
|
|
|
children: ReactNode,
|
|
children: ReactNode,
|
|
|
|
|
+ value: string
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export const MermaidViewer = React.memo((props: MermaidViewerProps): JSX.Element => {
|
|
export const MermaidViewer = React.memo((props: MermaidViewerProps): JSX.Element => {
|
|
|
- const { children } = props;
|
|
|
|
|
|
|
+ const { children, value } = props;
|
|
|
|
|
|
|
|
const ref = useRef<HTMLDivElement>(null);
|
|
const ref = useRef<HTMLDivElement>(null);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
- if (ref.current != null && children != null) {
|
|
|
|
|
|
|
+ if (ref.current != null && value != null) {
|
|
|
mermaid.initialize({});
|
|
mermaid.initialize({});
|
|
|
mermaid.run({ nodes: [ref.current] });
|
|
mermaid.run({ nodes: [ref.current] });
|
|
|
}
|
|
}
|
|
|
- }, [children]);
|
|
|
|
|
|
|
+ }, [value]);
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
children
|
|
children
|
|
|
? (
|
|
? (
|
|
|
<div ref={ref} key={children as string}>
|
|
<div ref={ref} key={children as string}>
|
|
|
- {children}
|
|
|
|
|
|
|
+ {value}
|
|
|
</div>
|
|
</div>
|
|
|
)
|
|
)
|
|
|
: <div key={children as string}></div>
|
|
: <div key={children as string}></div>
|