Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/luizdepra/hugo-coder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/coder.js')
-rw-r--r--assets/js/coder.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/assets/js/coder.js b/assets/js/coder.js
index 6daa1ef..0c12436 100644
--- a/assets/js/coder.js
+++ b/assets/js/coder.js
@@ -34,6 +34,48 @@ function setTheme(theme) {
body.classList.remove('colorscheme-' + inverse);
body.classList.add('colorscheme-' + theme);
document.documentElement.style['color-scheme'] = theme;
+
+ function waitForElm(selector) {
+ return new Promise(resolve => {
+ if (document.querySelector(selector)) {
+ return resolve(document.querySelector(selector));
+ }
+
+ const observer = new MutationObserver(mutations => {
+ if (document.querySelector(selector)) {
+ resolve(document.querySelector(selector));
+ observer.disconnect();
+ }
+ });
+
+ observer.observe(document.body, {
+ childList: true,
+ subtree: true
+ });
+ });
+ }
+
+ if (theme === 'dark') {
+ const message = {
+ type: 'set-theme',
+ theme: 'github-dark'
+ };
+ waitForElm('.utterances-frame').then((iframe) => {
+ iframe.contentWindow.postMessage(message, 'https://utteranc.es');
+ })
+
+ }
+ else {
+ const message = {
+ type: 'set-theme',
+ theme: 'github-light'
+ };
+ waitForElm('.utterances-frame').then((iframe) => {
+ iframe.contentWindow.postMessage(message, 'https://utteranc.es');
+ })
+
+ }
+
}
function rememberTheme(theme) {