diff --git a/client/components/codeEditor/codeEditor.jsx b/client/components/codeEditor/codeEditor.jsx
index 25bf4f88e..f5cfc694a 100644
--- a/client/components/codeEditor/codeEditor.jsx
+++ b/client/components/codeEditor/codeEditor.jsx
@@ -1,4 +1,4 @@
-/* eslint max-lines: ["error", { "max": 405 }] */
+/* eslint max-lines: ["error", { "max": 410 }] */
import './codeEditor.less';
import React, { useEffect, useRef, forwardRef, useImperativeHandle } from 'react';
@@ -88,6 +88,7 @@ const CodeEditor = forwardRef(
onChange = ()=>{},
onCursorChange = ()=>{},
onViewChange = ()=>{},
+ onThemeChange = ()=>{},
editorTheme = 'default',
style,
renderer,
@@ -308,6 +309,9 @@ const CodeEditor = forwardRef(
view.dispatch({
effects : themeCompartment.reconfigure(themeExtension),
});
+
+ const isDark = view.state.facet(EditorView.darkTheme);
+ onThemeChange(isDark);
}, [editorTheme, tab]);
useEffect(()=>{
diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx
index 92ce0b78c..f4f1e001a 100644
--- a/client/homebrew/editor/editor.jsx
+++ b/client/homebrew/editor/editor.jsx
@@ -2,6 +2,7 @@
import './editor.less';
import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle } from 'react';
import dedent from 'dedent';
+import { EditorView } from '@codemirror/view';
import CodeEditor from '@components/codeEditor/codeEditor.jsx';
import SnippetBar from './snippetbar/snippetbar.jsx';
@@ -72,6 +73,7 @@ const Editor = forwardRef(
const [currentEditorTheme, setEditorTheme] = useState(editorTheme);
const [view, setView] = useState('text'); // 'text', 'style', 'meta', 'snippet'
const [snippetBarHeight, setSnippetBarHeight] = useState(26);
+ const [isDark, setIsDark] = useState(false);
const editor = useRef(null);
const codeEditor = useRef(null);
@@ -225,6 +227,7 @@ const Editor = forwardRef(
onCursorChange={(page)=>updateCurrentCursorPage(page)}
onViewChange={(page)=>updateCurrentViewPage(page)}
editorTheme={currentEditorTheme}
+ onThemeChange={setIsDark}
renderer={brew.renderer}
style={{ height: `calc(100% - ${snippetBarHeight}px)` }}
/>
@@ -243,6 +246,7 @@ const Editor = forwardRef(
value={brew.style ?? DEFAULT_STYLE_TEXT}
onChange={onBrewChange('style')}
editorTheme={currentEditorTheme}
+ onThemeChange={setIsDark}
renderer={brew.renderer}
style={{ height: `calc(100% - ${snippetBarHeight}px)` }}
/>
@@ -265,6 +269,7 @@ const Editor = forwardRef(
onChange={onBrewChange('snippets')}
enableFolding={true}
editorTheme={currentEditorTheme}
+ onThemeChange={setIsDark}
renderer={brew.renderer}
style={{ height: `calc(100% - 25px)` }}
/>
@@ -274,7 +279,7 @@ const Editor = forwardRef(
if(isMeta()) {
return (
<>
-
+
+