From a0e496bf1c7e5389fa20c916130e44fa7f767007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Losada=20Hern=C3=A1ndez?= Date: Fri, 3 Apr 2026 23:09:51 +0200 Subject: [PATCH] fix snippetbar just in case --- client/homebrew/editor/editor.jsx | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index 0916ac0d7..195f12a9f 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -11,6 +11,21 @@ import MetadataEditor from './metadataEditor/metadataEditor.jsx'; const EDITOR_THEME_KEY = 'HB_editor_theme'; +import * as themesImport from '@uiw/codemirror-themes-all'; +import defaultCM5Theme from '@themes/codeMirror/default.js'; +import darkbrewery from '@themes/codeMirror/darkbrewery.js'; + +const themes = { default: defaultCM5Theme, darkbrewery, ...themesImport }; + +const EditorThemes = Object.entries(themes) + .filter(([name, value]) => + Array.isArray(value) && + !name.endsWith('Init') && + !name.endsWith('Style') + ) + .map(([name]) => name); + + const PAGEBREAK_REGEX_V3 = /^(?=\\page(?:break)?(?: *{[^\n{}]*})?$)/m; //const SNIPPETBREAK_REGEX_V3 = /^\\snippet\ .*$/; const DEFAULT_STYLE_TEXT = dedent` @@ -75,10 +90,10 @@ const Editor = createReactClass({ document.addEventListener('keydown', this.handleControlKeys); const editorTheme = window.localStorage.getItem(EDITOR_THEME_KEY); - if(editorTheme) { - this.setState({ - editorTheme : editorTheme - }); + if (editorTheme && EditorThemes.includes(editorTheme)) { + this.setState({ editorTheme }); + } else { + this.setState({ editorTheme: 'default' }); } const snippetBar = document.querySelector('.editor > .snippetBar'); if(!snippetBar) return;