aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/docs/app/components/mermaid.tsx
diff options
context:
space:
mode:
authorNtskwK <natsukawa247@outlook.com>2026-02-28 09:03:19 +0800
committerNtskwK <natsukawa247@outlook.com>2026-02-28 09:03:19 +0800
commitcc53b1cf260e1c67939e50608ef18764da616d55 (patch)
tree119109c62331d4d26612e2df7726cee82d1871f5 /packages/docs/app/components/mermaid.tsx
parentee37d044e473217daadd9ce26c7e2e2ad39a0490 (diff)
parent81a62402ef6f8900ff092366121a9b7a4263ba52 (diff)
downloadDropOut-cc53b1cf260e1c67939e50608ef18764da616d55.tar.gz
DropOut-cc53b1cf260e1c67939e50608ef18764da616d55.zip
Merge remote-tracking branch 'upstream/main'
Diffstat (limited to 'packages/docs/app/components/mermaid.tsx')
-rw-r--r--packages/docs/app/components/mermaid.tsx29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/docs/app/components/mermaid.tsx b/packages/docs/app/components/mermaid.tsx
new file mode 100644
index 0000000..bb25f2d
--- /dev/null
+++ b/packages/docs/app/components/mermaid.tsx
@@ -0,0 +1,29 @@
+'use client';
+
+import { useEffect, useRef } from 'react';
+import mermaid from 'mermaid';
+
+mermaid.initialize({
+ startOnLoad: false,
+ theme: 'default',
+});
+
+export function Mermaid({ chart }: { chart: string }) {
+ const ref = useRef<HTMLDivElement>(null);
+
+ useEffect(() => {
+ if (ref.current) {
+ mermaid.run({
+ nodes: [ref.current],
+ });
+ }
+ }, [chart]);
+
+ return (
+ <div className="not-prose my-6">
+ <div ref={ref} className="mermaid">
+ {chart}
+ </div>
+ </div>
+ );
+}