From a3fcc3ef51f27c8cffa8d8d6a97dc76d39e62b89 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Sat, 25 Nov 2023 10:48:40 -0800
Subject: [PATCH] Hack reload glime styles

---
 docs/scripts/extra.js      | 29 ++++++++++++++++++++++++++---
 docs/stylesheets/extra.css |  4 ++++
 2 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/docs/scripts/extra.js b/docs/scripts/extra.js
index 0a5a3ad8..8383e85e 100644
--- a/docs/scripts/extra.js
+++ b/docs/scripts/extra.js
@@ -1,12 +1,35 @@
 var glimeScript;
+var glimeStyles = [];
 document$.subscribe(function () {
   if (!glimeScript) {
     glimeScript = document.createElement("script");
-    glimeScript.setAttribute("data", "name: 'glime'");
     glimeScript.setAttribute("src", "https://cdn.glimelab.ai/widget/1.0.0/widget.js");
-    glimeScript.setAttribute("onload", 'window.glime.init("Bl3mlvfCnTnRm5");');
+    glimeScript.setAttribute("onload", "onGlimeLoad()");
     document.head.appendChild(glimeScript);
   } else {
-    // window.glime.init("Bl3mlvfCnTnRm5");
+    var newGlimeStyle = document.createElement("style");
+    document.head.appendChild(newGlimeStyle);
+    var i = 0;
+    glimeStyles.forEach((rule) => {
+      newGlimeStyle.sheet.insertRule(rule.cssText, i);
+      i++;
+    });
   }
 });
+
+onGlimeLoad = () => {
+  window.glime.init("Bl3mlvfCnTnRm5");
+  setTimeout(() => {
+    const sheets = document.styleSheets;
+    [...sheets].forEach((sheet) => {
+      if (!sheet.href) {
+        [...sheet.cssRules].forEach((rule) => {
+          if (!rule || rule.href || !rule.selectorText) return;
+          if (rule.selectorText.indexOf(".css-") === 0 || rule.selectorText.indexOf("glime") > -1) {
+            glimeStyles.push(rule);
+          }
+        });
+      }
+    });
+  }, 1000);
+};
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index f7a8217e..e6bc9bf0 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -18,3 +18,7 @@
         border-color: var(--md-default-bg-color--lighter);
     }
 }
+
+#glimeRoot * {
+    font-family: var(--md-text-font) !important;
+}