Make mermaid toolbar invisible in preview mode

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-04-01 16:56:13 +04:00
parent 9bbcba68c0
commit 84adb5409d
2 changed files with 16 additions and 3 deletions

View File

@@ -95,7 +95,7 @@ function MermaidBlock({ node }: { node: ReactNodeViewProps["node"] }) {
return (
<NodeViewWrapper>
<div className="mermaid-block">
<div className={`mermaid-block ${mode === "code" ? "editing" : ""}`}>
<div className="mermaid-toolbar">
<button
type="button"

View File

@@ -97,7 +97,16 @@
}
.mermaid-block {
@apply my-4 border border-border-mid rounded-lg overflow-hidden;
@apply my-4 rounded-lg relative
border border-transparent transition-colors;
&:hover, &.editing {
@apply border-border-mid;
}
&:not(.editing) {
caret-color: transparent;
}
pre {
@apply my-0 rounded-none border-none;
@@ -105,7 +114,11 @@
}
.mermaid-toolbar {
@apply flex gap-1 px-2 py-1.5 bg-subtle border-b border-border-mid;
@apply flex gap-1 p-1.5 absolute top-0 right-0 z-10 opacity-0 pointer-events-none transition-opacity;
.mermaid-block:hover &, .mermaid-block.editing & {
@apply opacity-100 pointer-events-auto;
}
}
.mermaid-toolbar-btn {