From ccdc391097c57f873bef80e618e8f175e4bb8132 Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Sun, 28 Sep 2025 00:43:02 +0100 Subject: [PATCH] Remove html writable --- qt/aqt/reviewer.py | 2 +- ts/routes/reviewer/+page.svelte | 4 ++-- ts/routes/reviewer/reviewer.svelte | 22 ++----------------- ts/routes/reviewer/reviewer.ts | 29 ++++++++++++++++++++----- ts/routes/reviewer/reviewerOuter.svelte | 21 ------------------ 5 files changed, 29 insertions(+), 49 deletions(-) delete mode 100644 ts/routes/reviewer/reviewerOuter.svelte diff --git a/qt/aqt/reviewer.py b/qt/aqt/reviewer.py index 65ebbbbde..dfe00eff8 100644 --- a/qt/aqt/reviewer.py +++ b/qt/aqt/reviewer.py @@ -1270,7 +1270,7 @@ class SvelteReviewer(Reviewer): else: maxTime = 0 self._remaining() - self.bottom.web.eval("showQuestion(\"\",%d);" % (maxTime)) + self.bottom.web.eval('showQuestion("",%d);' % (maxTime)) def _linkHandler(self, url: str) -> None: if url == "bottomReady": diff --git a/ts/routes/reviewer/+page.svelte b/ts/routes/reviewer/+page.svelte index 2baa1b1f6..d89a8dc6c 100644 --- a/ts/routes/reviewer/+page.svelte +++ b/ts/routes/reviewer/+page.svelte @@ -1,10 +1,10 @@
- +
diff --git a/ts/routes/reviewer/reviewer.svelte b/ts/routes/reviewer/reviewer.svelte index 0cd281607..921fd2248 100644 --- a/ts/routes/reviewer/reviewer.svelte +++ b/ts/routes/reviewer/reviewer.svelte @@ -1,27 +1,9 @@
diff --git a/ts/routes/reviewer/reviewer.ts b/ts/routes/reviewer/reviewer.ts index c2f4ea781..34288b1e3 100644 --- a/ts/routes/reviewer/reviewer.ts +++ b/ts/routes/reviewer/reviewer.ts @@ -1,18 +1,37 @@ import { writable } from "svelte/store"; +import { isNightMode } from "../../html-filter/helpers"; import { preloadAnswerImages } from "../../reviewer/images"; -export function setupReviewer() { - const html = writable(""); +export function setupReviewer(iframe: HTMLIFrameElement) { const cardClass = writable(""); + function updateHtml(htmlString) { + if (iframe?.contentDocument) { + const nightMode = isNightMode(); + iframe.contentDocument.body.innerHTML = htmlString; + iframe.contentDocument.head.innerHTML = document.head.innerHTML; + iframe.contentDocument.body.className = nightMode + ? "nightMode card" + : "card"; + const root = iframe.contentDocument.querySelector("html")!; + root.className = nightMode + ? "night-mode" + : ""; + root.setAttribute("data-bs-theme", nightMode ? "dark" : "light"); + // @ts-ignore + iframe.contentDocument.pycmd = bridgeCommand; + } + } + function showQuestion(q, a, cc) { - html.set(q); + updateHtml(q); + // html.set(q); cardClass.set(cc); preloadAnswerImages(a); } - globalThis._showAnswer = html.set; + globalThis._showAnswer = updateHtml; globalThis._showQuestion = showQuestion; - return { html, cardClass }; + return { cardClass }; } diff --git a/ts/routes/reviewer/reviewerOuter.svelte b/ts/routes/reviewer/reviewerOuter.svelte deleted file mode 100644 index c261675f7..000000000 --- a/ts/routes/reviewer/reviewerOuter.svelte +++ /dev/null @@ -1,21 +0,0 @@ - - - -{#if reviewerInfo} - -{/if}