diff --git a/build/configure/src/web.rs b/build/configure/src/web.rs
index 9ee5d74b5..56ef63bad 100644
--- a/build/configure/src/web.rs
+++ b/build/configure/src/web.rs
@@ -229,18 +229,6 @@ fn build_and_check_pages(build: &mut Build) -> Result<()> {
":sveltekit"
],
)?;
- build_page(
- "reviewer-bottom",
- true,
- inputs![
- //
- ":ts:lib",
- ":ts:components",
- ":sass",
- ":sveltekit"
- ],
- )?;
-
Ok(())
}
diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py
index 820e762d9..0a4fd0ea0 100644
--- a/qt/aqt/mediasrv.py
+++ b/qt/aqt/mediasrv.py
@@ -334,6 +334,7 @@ def is_sveltekit_page(path: str) -> bool:
"import-csv",
"import-page",
"image-occlusion",
+ "reviewer-bottom"
]
diff --git a/qt/aqt/reviewer.py b/qt/aqt/reviewer.py
index ab51ff805..c6779063f 100644
--- a/qt/aqt/reviewer.py
+++ b/qt/aqt/reviewer.py
@@ -355,7 +355,7 @@ class Reviewer:
self.web.allow_drops = True
self.web.eval("_blockDefaultDragDropBehavior();")
# show answer / ease buttons
- self.bottom.web.load_ts_page("reviewer-bottom")
+ self.bottom.web.load_sveltekit_page("reviewer-bottom")
# Showing the question
##########################################################################
@@ -848,7 +848,7 @@ timerStopped = false;
else:
maxTime = 0
self.bottom.web.eval(
- "anki.showQuestion(%s,%d);" % (json.dumps(middle), maxTime)
+ "_showQuestion(%s,%d);" % (json.dumps(middle), maxTime)
)
def _showEaseButtons(self) -> None:
@@ -858,7 +858,7 @@ timerStopped = false;
middle = self._answerButtons()
conf = self.mw.col.decks.config_dict_for_deck_id(self.card.current_deck_id())
self.bottom.web.eval(
- f"anki.showAnswer({json.dumps(middle)}, {json.dumps(conf['stopTimerOnAnswer'])});"
+ f"_showAnswer({json.dumps(middle)}, {json.dumps(conf['stopTimerOnAnswer'])});"
)
def _remaining(self) -> str:
diff --git a/ts/routes/reviewer-bottom/+page.svelte b/ts/routes/reviewer-bottom/+page.svelte
new file mode 100644
index 000000000..fa264b129
--- /dev/null
+++ b/ts/routes/reviewer-bottom/+page.svelte
@@ -0,0 +1,69 @@
+
+
+
\ No newline at end of file
diff --git a/ts/routes/reviewer-bottom/index.svelte b/ts/routes/reviewer-bottom/ReviewerBottom.svelte
similarity index 100%
rename from ts/routes/reviewer-bottom/index.svelte
rename to ts/routes/reviewer-bottom/ReviewerBottom.svelte
diff --git a/ts/routes/reviewer-bottom/index.ts b/ts/routes/reviewer-bottom/index.ts
deleted file mode 100644
index 95ab43f00..000000000
--- a/ts/routes/reviewer-bottom/index.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright: Ankitects Pty Ltd and contributors
- * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */
-
-/* eslint
-@typescript-eslint/no-unused-vars: "off",
-*/
-
-import { mount } from "svelte";
-import "./index.scss";
-import ReviewerBottom from "./index.svelte";
-import { writable } from "svelte/store";
-
-let time: number; // set in python code
-let timerStopped = false;
-
-let maxTime = 0;
-
-function updateTime(): void {
- const timeNode = document.getElementById("time");
- if (maxTime === 0) {
- timeNode.textContent = "";
- return;
- }
- time = Math.min(maxTime, time);
- const m = Math.floor(time / 60);
- const s = time % 60;
- const sStr = String(s).padStart(2, "0");
- const timeString = `${m}:${sStr}`;
-
- if (maxTime === time) {
- timeNode.innerHTML = `${timeString}`;
- } else {
- timeNode.textContent = timeString;
- }
-}
-
-let intervalId: number | undefined;
-let answerButtons = writable([])
-
-export function showQuestion(txt: string, maxTime_: number): void {
- showAnswer([]);
- time = 0;
- maxTime = maxTime_;
- updateTime();
-
- if (intervalId !== undefined) {
- clearInterval(intervalId);
- }
-
- intervalId = setInterval(function() {
- if (!timerStopped) {
- time += 1;
- updateTime();
- }
- }, 1000);
-}
-
-export function showAnswer(info: AnswerButtonInfo[], stopTimer = false): void {
- answerButtons.set(info);
- timerStopped = stopTimer;
-}
-
-function selectedAnswerButton(): string {
- const node = document.activeElement as HTMLElement;
- if (!node) {
- return;
- }
- return node.dataset.ease;
-}
-
-mount(
- ReviewerBottom,
- { target: document.body, props: {answerButtons} },
-);