@schlessera/brain-ui-react 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/chat/brain-markdown.d.ts.map +1 -1
- package/dist/components/chat/brain-markdown.js +93 -55
- package/dist/components/chat/brain-markdown.js.map +1 -1
- package/dist/components/chat/chat-page.d.ts.map +1 -1
- package/dist/components/chat/chat-page.js +10 -1
- package/dist/components/chat/chat-page.js.map +1 -1
- package/dist/components/chat/copy-button.d.ts +6 -0
- package/dist/components/chat/copy-button.d.ts.map +1 -0
- package/dist/components/chat/copy-button.js +16 -0
- package/dist/components/chat/copy-button.js.map +1 -0
- package/dist/components/chat/mermaid-block.d.ts +14 -0
- package/dist/components/chat/mermaid-block.d.ts.map +1 -0
- package/dist/components/chat/mermaid-block.js +55 -0
- package/dist/components/chat/mermaid-block.js.map +1 -0
- package/dist/components/chat/mermaid-share.d.ts +5 -0
- package/dist/components/chat/mermaid-share.d.ts.map +1 -0
- package/dist/components/chat/mermaid-share.js +80 -0
- package/dist/components/chat/mermaid-share.js.map +1 -0
- package/dist/components/chat/mermaid-viewer.d.ts +6 -0
- package/dist/components/chat/mermaid-viewer.d.ts.map +1 -0
- package/dist/components/chat/mermaid-viewer.js +266 -0
- package/dist/components/chat/mermaid-viewer.js.map +1 -0
- package/dist/components/chat/message-share.d.ts.map +1 -1
- package/dist/components/chat/message-share.js +7 -4
- package/dist/components/chat/message-share.js.map +1 -1
- package/dist/components/chat/share-block.d.ts.map +1 -1
- package/dist/components/chat/share-block.js +5 -2
- package/dist/components/chat/share-block.js.map +1 -1
- package/dist/components/files/file-viewer.d.ts.map +1 -1
- package/dist/components/files/file-viewer.js +30 -5
- package/dist/components/files/file-viewer.js.map +1 -1
- package/dist/components/share/share-menu.d.ts +8 -1
- package/dist/components/share/share-menu.d.ts.map +1 -1
- package/dist/components/share/share-menu.js +10 -5
- package/dist/components/share/share-menu.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/client-environment.d.ts +29 -0
- package/dist/lib/client-environment.d.ts.map +1 -0
- package/dist/lib/client-environment.js +153 -0
- package/dist/lib/client-environment.js.map +1 -0
- package/dist/lib/mermaid-theme.d.ts +4 -0
- package/dist/lib/mermaid-theme.d.ts.map +1 -0
- package/dist/lib/mermaid-theme.js +221 -0
- package/dist/lib/mermaid-theme.js.map +1 -0
- package/dist/lib/mermaid.d.ts +62 -0
- package/dist/lib/mermaid.d.ts.map +1 -0
- package/dist/lib/mermaid.js +244 -0
- package/dist/lib/mermaid.js.map +1 -0
- package/dist/stores/file-store.d.ts.map +1 -1
- package/dist/stores/file-store.js +9 -2
- package/dist/stores/file-store.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -2
- package/src/components/chat/brain-markdown.tsx +109 -80
- package/src/components/chat/chat-page.tsx +20 -1
- package/src/components/chat/copy-button.tsx +26 -0
- package/src/components/chat/mermaid-block.tsx +106 -0
- package/src/components/chat/mermaid-share.ts +91 -0
- package/src/components/chat/mermaid-viewer.tsx +336 -0
- package/src/components/chat/message-share.ts +7 -4
- package/src/components/chat/share-block.tsx +5 -2
- package/src/components/files/file-viewer.tsx +37 -5
- package/src/components/share/share-menu.tsx +20 -6
- package/src/index.ts +5 -0
- package/src/lib/client-environment.ts +152 -0
- package/src/lib/mermaid-theme.ts +246 -0
- package/src/lib/mermaid.ts +287 -0
- package/src/stores/file-store.ts +12 -2
- package/src/theme.css +10 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mermaid runtime + fence helpers.
|
|
3
|
+
*
|
|
4
|
+
* Mermaid is ~2MB, so it loads on first use via dynamic import; nothing here
|
|
5
|
+
* pulls it in at module scope. Rendering is tolerant of partial sources
|
|
6
|
+
* (streaming deltas): parse is gated and every failure resolves to null
|
|
7
|
+
* instead of throwing, so callers keep the previous good SVG. Results are
|
|
8
|
+
* cached per (theme, source), which makes the per-token re-render of a
|
|
9
|
+
* streaming message a cache hit.
|
|
10
|
+
*/
|
|
11
|
+
import { mermaidThemeVariables } from "./mermaid-theme.js";
|
|
12
|
+
let mermaidPromise = null;
|
|
13
|
+
function loadMermaid() {
|
|
14
|
+
if (!mermaidPromise) {
|
|
15
|
+
mermaidPromise = import("mermaid").then((mod) => mod.default);
|
|
16
|
+
}
|
|
17
|
+
return mermaidPromise;
|
|
18
|
+
}
|
|
19
|
+
/** Config shared by both themes; only `themeVariables` differs per render. */
|
|
20
|
+
function baseConfig(theme) {
|
|
21
|
+
return {
|
|
22
|
+
startOnLoad: false,
|
|
23
|
+
// "strict" sanitizes label HTML and blocks script/click payloads —
|
|
24
|
+
// diagram sources arrive from the model and from repo files.
|
|
25
|
+
securityLevel: "strict",
|
|
26
|
+
// Never inject mermaid's own error SVG into the document; failures
|
|
27
|
+
// surface as a null render result and the caller shows the source.
|
|
28
|
+
suppressErrorRendering: true,
|
|
29
|
+
theme: "base",
|
|
30
|
+
themeVariables: mermaidThemeVariables(theme),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Renders are serialized through this chain because the theme is applied by
|
|
35
|
+
* re-calling mermaid.initialize(), which mutates GLOBAL config — a dark
|
|
36
|
+
* in-app render and a light share render would otherwise race and one would
|
|
37
|
+
* come out in the other's palette.
|
|
38
|
+
*
|
|
39
|
+
* The obvious alternative, a per-diagram `%%{init: …}%%` directive, does not
|
|
40
|
+
* work: mermaid rewrites every `'` to `"` before JSON.parse-ing a directive
|
|
41
|
+
* (chunk-NSK5VX7P), so a quoted font stack makes the whole directive
|
|
42
|
+
* unparseable and it is silently dropped; and its themeVariables sanitizer
|
|
43
|
+
* rejects any value outside /^[\\d "#%(),.;A-Za-z]+$/, which blanks every
|
|
44
|
+
* hyphenated CSS keyword (`system-ui`, `-apple-system`). A dropped directive
|
|
45
|
+
* fails SILENTLY — the diagram renders in whatever the last global config
|
|
46
|
+
* was — so this path is not worth the theming it appears to buy.
|
|
47
|
+
*/
|
|
48
|
+
let renderChain = Promise.resolve();
|
|
49
|
+
function serialized(fn) {
|
|
50
|
+
const run = renderChain.then(fn, fn);
|
|
51
|
+
renderChain = run.then(() => undefined, () => undefined);
|
|
52
|
+
return run;
|
|
53
|
+
}
|
|
54
|
+
const svgCache = new Map();
|
|
55
|
+
const CACHE_MAX = 100;
|
|
56
|
+
let renderSeq = 0;
|
|
57
|
+
function cacheKey(source, theme) {
|
|
58
|
+
return `${theme}\u0000${source}`;
|
|
59
|
+
}
|
|
60
|
+
/** Synchronous cache lookup, so a remounted block can show its SVG without a flash. */
|
|
61
|
+
export function peekMermaidSvg(source, theme = "dark") {
|
|
62
|
+
return svgCache.get(cacheKey(source.trim(), theme)) ?? null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Render a mermaid source to SVG markup. Resolves null when the source does
|
|
66
|
+
* not parse (e.g. an incomplete streaming fence) or rendering fails — never
|
|
67
|
+
* throws and never mutates the document beyond mermaid's temp container.
|
|
68
|
+
*/
|
|
69
|
+
export async function renderMermaidSvg(source, theme = "dark") {
|
|
70
|
+
const trimmed = source.trim();
|
|
71
|
+
if (!trimmed)
|
|
72
|
+
return null;
|
|
73
|
+
const key = cacheKey(trimmed, theme);
|
|
74
|
+
const hit = svgCache.get(key);
|
|
75
|
+
if (hit !== undefined)
|
|
76
|
+
return hit;
|
|
77
|
+
try {
|
|
78
|
+
const mermaid = await loadMermaid();
|
|
79
|
+
return await serialized(async () => {
|
|
80
|
+
// Re-check inside the lock: an identical render may have been queued
|
|
81
|
+
// ahead of this one while both were waiting.
|
|
82
|
+
const queued = svgCache.get(key);
|
|
83
|
+
if (queued !== undefined)
|
|
84
|
+
return queued;
|
|
85
|
+
mermaid.initialize(baseConfig(theme));
|
|
86
|
+
const ok = await mermaid.parse(trimmed, { suppressErrors: true });
|
|
87
|
+
if (!ok)
|
|
88
|
+
return null;
|
|
89
|
+
const { svg } = await mermaid.render(`brain-mermaid-${++renderSeq}`, trimmed);
|
|
90
|
+
if (svgCache.size >= CACHE_MAX) {
|
|
91
|
+
const oldest = svgCache.keys().next().value;
|
|
92
|
+
if (oldest !== undefined)
|
|
93
|
+
svgCache.delete(oldest);
|
|
94
|
+
}
|
|
95
|
+
svgCache.set(key, svg);
|
|
96
|
+
return svg;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const FENCE_LINE_RE = /^( {0,3})(`{3,}|~{3,})(.*)$/;
|
|
104
|
+
/**
|
|
105
|
+
* Find every *closed* ```mermaid fence in a markdown string. A line scanner
|
|
106
|
+
* (not a regex over the whole text) so mermaid fences nested inside other
|
|
107
|
+
* code blocks are not matched, and an unterminated streaming fence is simply
|
|
108
|
+
* not returned.
|
|
109
|
+
*/
|
|
110
|
+
export function findMermaidFences(md) {
|
|
111
|
+
const out = [];
|
|
112
|
+
const lines = md.split("\n");
|
|
113
|
+
let offset = 0;
|
|
114
|
+
let open = null;
|
|
115
|
+
for (const line of lines) {
|
|
116
|
+
const lineEnd = Math.min(offset + line.length + 1, md.length);
|
|
117
|
+
const m = FENCE_LINE_RE.exec(line);
|
|
118
|
+
if (open) {
|
|
119
|
+
if (m && m[2][0] === open.char && m[2].length >= open.len && m[3].trim() === "") {
|
|
120
|
+
if (open.mermaid) {
|
|
121
|
+
out.push({
|
|
122
|
+
start: open.start,
|
|
123
|
+
end: lineEnd,
|
|
124
|
+
source: md.slice(open.contentStart, offset).replace(/\n$/, ""),
|
|
125
|
+
indent: open.indent,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
open = null;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else if (m) {
|
|
132
|
+
const info = m[3].trim();
|
|
133
|
+
// A backtick fence's info string may not contain backticks (CommonMark).
|
|
134
|
+
if (!(m[2][0] === "`" && info.includes("`"))) {
|
|
135
|
+
const lang = info.split(/\s+/)[0]?.toLowerCase() ?? "";
|
|
136
|
+
open = {
|
|
137
|
+
char: m[2][0],
|
|
138
|
+
len: m[2].length,
|
|
139
|
+
mermaid: lang === "mermaid" || lang === "mmd",
|
|
140
|
+
start: offset,
|
|
141
|
+
contentStart: lineEnd,
|
|
142
|
+
indent: m[1],
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
offset += line.length + 1;
|
|
147
|
+
}
|
|
148
|
+
return out;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Replace each closed mermaid fence via `replacement`; returning null keeps
|
|
152
|
+
* the fence verbatim. Pure — rendering is injected, so this is unit-testable
|
|
153
|
+
* without a DOM.
|
|
154
|
+
*/
|
|
155
|
+
export function replaceMermaidFences(md, replacement) {
|
|
156
|
+
const fences = findMermaidFences(md);
|
|
157
|
+
let out = md;
|
|
158
|
+
for (let i = fences.length - 1; i >= 0; i--) {
|
|
159
|
+
const r = replacement(fences[i], i);
|
|
160
|
+
if (r == null)
|
|
161
|
+
continue;
|
|
162
|
+
out = out.slice(0, fences[i].start) + r + out.slice(fences[i].end);
|
|
163
|
+
}
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Inline every closed mermaid fence as a pre-rendered `<div class="mermaid-figure"><svg…>`
|
|
168
|
+
* block. Used by the share pipeline: the PNG/PDF renderer runs the page with
|
|
169
|
+
* JavaScript disabled and all network denied, so the diagram must already be
|
|
170
|
+
* SVG by the time the markdown reaches the server. Defaults to the light
|
|
171
|
+
* theme to match the share template. Fences that fail to render are
|
|
172
|
+
* left as code fences — the pre-feature behavior.
|
|
173
|
+
*/
|
|
174
|
+
/**
|
|
175
|
+
* The server's render route caps `content` at 512 KiB. Inlining can expand a
|
|
176
|
+
* few-hundred-byte fence into a multi-kilobyte SVG, so stay safely below the
|
|
177
|
+
* cap and leave any fence that would cross it as source — a shared code block
|
|
178
|
+
* beats a rejected request.
|
|
179
|
+
*/
|
|
180
|
+
const INLINE_BUDGET_CHARS = 480_000;
|
|
181
|
+
/** Pure inlining step: substitute pre-rendered SVGs (by fence index) under the budget. */
|
|
182
|
+
export function inlineRenderedFences(md, rendered, budget = INLINE_BUDGET_CHARS) {
|
|
183
|
+
let total = md.length;
|
|
184
|
+
return replaceMermaidFences(md, (fence, i) => {
|
|
185
|
+
const svg = rendered[i];
|
|
186
|
+
if (!svg)
|
|
187
|
+
return null;
|
|
188
|
+
// Kept to a single line: marked treats <div> as an HTML block that a
|
|
189
|
+
// blank line would terminate, so newlines inside the SVG must go. The
|
|
190
|
+
// fence's own indentation is preserved so a list-nested fence doesn't
|
|
191
|
+
// break out of its list in the shared document.
|
|
192
|
+
const html = `\n${fence.indent}<div class="mermaid-figure">${svg.replace(/[\r\n]+/g, " ")}</div>\n`;
|
|
193
|
+
const expanded = total + html.length - (fence.end - fence.start);
|
|
194
|
+
if (expanded > budget)
|
|
195
|
+
return null;
|
|
196
|
+
total = expanded;
|
|
197
|
+
return html;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
export async function inlineMermaidDiagrams(md, theme = "light") {
|
|
201
|
+
const fences = findMermaidFences(md);
|
|
202
|
+
if (fences.length === 0)
|
|
203
|
+
return md;
|
|
204
|
+
const rendered = await Promise.all(fences.map((f) => renderMermaidSvg(f.source, theme)));
|
|
205
|
+
return inlineRenderedFences(md, rendered);
|
|
206
|
+
}
|
|
207
|
+
const SVG_OPEN_TAG_RE = /<svg\b[^>]*>/i;
|
|
208
|
+
const VIEWBOX_RE = /\bviewBox\s*=\s*"\s*[\d.+-]+\s+[\d.+-]+\s+([\d.+-]+)\s+([\d.+-]+)\s*"/i;
|
|
209
|
+
/**
|
|
210
|
+
* Give a mermaid SVG an intrinsic pixel size taken from its viewBox.
|
|
211
|
+
*
|
|
212
|
+
* Mermaid ships its diagrams as `style="max-width: Npx"` with no width/height
|
|
213
|
+
* attribute, which is right for a responsive page and wrong for an export: a
|
|
214
|
+
* standalone .svg file then has no intrinsic size, and the PNG/PDF renderer
|
|
215
|
+
* lays it out at the full body width no matter how small the diagram is.
|
|
216
|
+
* Sizing it here is what lets the share page shrink-wrap the figure.
|
|
217
|
+
*
|
|
218
|
+
* Returns the input unchanged when there is no parseable viewBox — an
|
|
219
|
+
* un-sized export beats a corrupted one.
|
|
220
|
+
*/
|
|
221
|
+
export function sizeSvgForExport(svg, maxWidth = 1200) {
|
|
222
|
+
const open = SVG_OPEN_TAG_RE.exec(svg);
|
|
223
|
+
if (!open)
|
|
224
|
+
return svg;
|
|
225
|
+
const tag = open[0];
|
|
226
|
+
const vb = VIEWBOX_RE.exec(tag);
|
|
227
|
+
if (!vb)
|
|
228
|
+
return svg;
|
|
229
|
+
const vbW = Number(vb[1]);
|
|
230
|
+
const vbH = Number(vb[2]);
|
|
231
|
+
if (!Number.isFinite(vbW) || !Number.isFinite(vbH) || vbW <= 0 || vbH <= 0)
|
|
232
|
+
return svg;
|
|
233
|
+
const width = Math.max(1, Math.min(maxWidth, Math.round(vbW)));
|
|
234
|
+
const height = Math.max(1, Math.round((width / vbW) * vbH));
|
|
235
|
+
const sized = tag
|
|
236
|
+
.replace(/\s(?:width|height|style)\s*=\s*"[^"]*"/gi, "")
|
|
237
|
+
.replace(/<svg\b/i, `<svg width="${width}" height="${height}"`);
|
|
238
|
+
return svg.slice(0, open.index) + sized + svg.slice(open.index + tag.length);
|
|
239
|
+
}
|
|
240
|
+
/** Whether a repo path is a standalone mermaid source file (previewable as a diagram). */
|
|
241
|
+
export function isMermaidPath(path) {
|
|
242
|
+
return /\.(mmd|mermaid)$/i.test(path);
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=mermaid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/lib/mermaid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EAGpB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EAGpB,MAAM,mCAAmC,CAAC;AAK3C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAkBzC,UAAU,SAAS;IAEjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACtC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAG1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IAGzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA2CD,eAAO,MAAM,YAAY,wEA6LtB,CAAC;AAqBJ,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI1E;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,YAAY,GAAG,IAAI,CAIrB;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { create } from "zustand";
|
|
2
2
|
import { FILE_SIZE_CAP_BYTES } from "@schlessera/brain-ui-sdk/protocol";
|
|
3
3
|
import { API_BASE } from "../lib/backend.js";
|
|
4
|
+
import { isMermaidPath } from "../lib/mermaid.js";
|
|
5
|
+
/** Kinds/paths the viewer can render as a preview (vs raw text only). */
|
|
6
|
+
function hasPreview(content) {
|
|
7
|
+
return (content.kind === "markdown" ||
|
|
8
|
+
content.kind === "html" ||
|
|
9
|
+
(content.kind === "text" && isMermaidPath(content.path)));
|
|
10
|
+
}
|
|
4
11
|
const FRONTMATTER_COLLAPSED_KEY = "brain-ui:frontmatter-collapsed";
|
|
5
12
|
function readFrontmatterCollapsed() {
|
|
6
13
|
if (typeof localStorage === "undefined")
|
|
@@ -143,10 +150,10 @@ export const useFileStore = create((set, get) => ({
|
|
|
143
150
|
set({ currentContent: content, contentLoading: false });
|
|
144
151
|
// Default mode: prefer preview when available; persist otherwise
|
|
145
152
|
const { viewMode } = get();
|
|
146
|
-
if (content
|
|
153
|
+
if (!hasPreview(content) && viewMode === "preview") {
|
|
147
154
|
set({ viewMode: "raw" });
|
|
148
155
|
}
|
|
149
|
-
else if ((content
|
|
156
|
+
else if (hasPreview(content) && viewMode === "raw") {
|
|
150
157
|
// Keep raw if user toggled — but on a fresh open default back to preview
|
|
151
158
|
set({ viewMode: "preview" });
|
|
152
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"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"}
|