minesweeper/src/main/js/Main.ts

35 lines
1.0 KiB
TypeScript

// @ts-ignore
const {$, doAfterLoad, footer, header, nav} = window.fwdekker;
import {waitForForkAwesome} from "./Common";
import {BasicIconFont, ForkAwesomeFont} from "./Display";
import {Game} from "./Game";
import {Preferences} from "./Preferences";
doAfterLoad(() => {
// Initialize template
$("#nav").appendChild(nav("/Tools/Minesweeper/"));
$("#header").appendChild(header({title: "Minesweeper"}));
$("#footer").appendChild(footer({
vcsURL: "https://git.fwdekker.com/FWDekker/minesweeper/",
version: "v%%VERSION_NUMBER%%"
}));
$("main").classList.remove("hidden");
// Start game
const preferences = new Preferences();
waitForForkAwesome(
() => {
preferences.font = new ForkAwesomeFont();
new Game(preferences);
},
() => {
alert("External font could not be loaded. Using fallback font. Is a browser extension blocking fonts?");
preferences.font = new BasicIconFont();
new Game(preferences);
},
3000
);
});