f3b6deefe9
Easier to import from, and allows us to declare the output of the build action without having to iterate over all the proto filenames. Have confirmed it doesn't break esbuild's tree shaking.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
import "./congrats-base.scss";
|
|
|
|
import { congratsInfo } from "@tslib/backend";
|
|
import { ModuleName, setupI18n } from "@tslib/i18n";
|
|
import { checkNightMode } from "@tslib/nightmode";
|
|
|
|
import CongratsPage from "./CongratsPage.svelte";
|
|
|
|
const i18n = setupI18n({ modules: [ModuleName.SCHEDULING] });
|
|
|
|
export async function setupCongrats(): Promise<CongratsPage> {
|
|
checkNightMode();
|
|
await i18n;
|
|
|
|
const customMountPoint = document.getElementById("congrats");
|
|
const info = await congratsInfo({});
|
|
const page = new CongratsPage({
|
|
// use #congrats if it exists, otherwise entire body
|
|
target: customMountPoint ?? document.body,
|
|
props: { info },
|
|
});
|
|
|
|
// refresh automatically if a custom area not provided
|
|
if (!customMountPoint) {
|
|
setInterval(async () => {
|
|
const info = await congratsInfo({});
|
|
page.$set({ info });
|
|
}, 60000);
|
|
}
|
|
|
|
return page;
|
|
}
|
|
|
|
setupCongrats();
|