From 2f9a12c2da7760d6229787540b72d28da8d9ce44 Mon Sep 17 00:00:00 2001 From: Tom Najdek Date: Tue, 16 Jan 2024 14:53:21 +0100 Subject: [PATCH] Improve "Run JavaScript" dialog --- chrome/content/zotero/ace/aceWrapper.js | 52 ++++++++------- chrome/content/zotero/runJS.html | 4 +- chrome/content/zotero/runJS.js | 10 ++- chrome/skin/default/zotero/runJS.css | 81 ----------------------- scss/_zotero.scss | 3 +- scss/components/_runJS.scss | 88 +++++++++++++++++++++++++ 6 files changed, 128 insertions(+), 110 deletions(-) delete mode 100644 chrome/skin/default/zotero/runJS.css create mode 100644 scss/components/_runJS.scss diff --git a/chrome/content/zotero/ace/aceWrapper.js b/chrome/content/zotero/ace/aceWrapper.js index 5725d3253b..f30b1af3e4 100644 --- a/chrome/content/zotero/ace/aceWrapper.js +++ b/chrome/content/zotero/ace/aceWrapper.js @@ -1,26 +1,26 @@ /* - ***** BEGIN LICENSE BLOCK ***** - - Copyright © 2011 Center for History and New Media - George Mason University, Fairfax, Virginia, USA - http://zotero.org - - This file is part of Zotero. - - Zotero is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Zotero is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with Zotero. If not, see . - - ***** END LICENSE BLOCK ***** + ***** BEGIN LICENSE BLOCK ***** + + Copyright © 2011 Center for History and New Media + George Mason University, Fairfax, Virginia, USA + http://zotero.org + + This file is part of Zotero. + + Zotero is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Zotero is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with Zotero. If not, see . + + ***** END LICENSE BLOCK ***** */ var editor, JavaScriptMode, TextMode, EditSession; @@ -37,5 +37,9 @@ window.addEventListener("DOMContentLoaded", function(e) { JavaScriptMode = require("ace/mode/javascript").Mode; TextMode = require("ace/mode/text").Mode; EditSession = require("ace/edit_session").EditSession; - editor = ace.edit('ace-div'); -}, false); \ No newline at end of file + + const isDark = Zotero.getMainWindow()?.matchMedia('(prefers-color-scheme: dark)').matches; + editor = ace.edit('ace-div', { + theme: isDark ? 'ace/theme/monokai' : 'ace/theme/chrome' + }); +}, false); diff --git a/chrome/content/zotero/runJS.html b/chrome/content/zotero/runJS.html index 36256194b9..5dc6935ab9 100644 --- a/chrome/content/zotero/runJS.html +++ b/chrome/content/zotero/runJS.html @@ -1,7 +1,7 @@ - + Run JavaScript - +