add back support for custom mount point in congrats screen

This was inadvertently dropped in 478b3a53f1,
but AnkiWeb requires it.

In the future we will need to give these index pages a bit more thought,
as it's not very helpful to be exporting a creation function if we're
automatically mounting as the module is imported. Dropping the automatic
mounting would give us more flexibility, but currently that leads to
a FOUC in night mode, as the webview is revealed prior to a subsequent
web.eval() call being able to fire.
This commit is contained in:
Damien Elmes 2022-02-17 16:28:48 +10:00
parent 9bac5b4cb6
commit d1d71ffdbb

View file

@ -14,16 +14,21 @@ export async function setupCongrats(): Promise<CongratsPage> {
checkNightMode();
await i18n;
const customMountPoint = document.getElementById("congrats");
const info = await scheduler.congratsInfo(empty);
const page = new CongratsPage({
target: document.body,
// use #congrats if it exists, otherwise entire body
target: customMountPoint ?? document.body,
props: { info },
});
setInterval(async () => {
const info = await scheduler.congratsInfo(empty);
page.$set({ info });
}, 60000);
// refresh automatically if a custom area not provided
if (!customMountPoint) {
setInterval(async () => {
const info = await scheduler.congratsInfo(empty);
page.$set({ info });
}, 60000);
}
return page;
}