mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-02-06 13:55:19 +08:00
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
import * as Funbox from "./funbox";
|
|
import * as UI from "./ui";
|
|
import Config from "./config";
|
|
|
|
let mappedRoutes = {
|
|
"/": "pageTest",
|
|
"/login": "pageLogin",
|
|
"/settings": "pageSettings",
|
|
"/about": "pageAbout",
|
|
"/account": "pageAccount",
|
|
"/verify": "pageTest",
|
|
};
|
|
|
|
export function handleInitialPageClasses(pathname) {
|
|
let el = $(".page." + mappedRoutes[pathname]);
|
|
$(el).removeClass("hidden");
|
|
$(el).addClass("active");
|
|
}
|
|
|
|
(function (history) {
|
|
var pushState = history.pushState;
|
|
history.pushState = function (state) {
|
|
if (Config.funbox === "memory" && state !== "/") {
|
|
Funbox.resetMemoryTimer();
|
|
}
|
|
return pushState.apply(history, arguments);
|
|
};
|
|
})(window.history);
|
|
|
|
$(window).on("popstate", (e) => {
|
|
let state = e.originalEvent.state;
|
|
if (state == "" || state == "/") {
|
|
// show test
|
|
UI.changePage("test");
|
|
} else if (state == "about") {
|
|
// show about
|
|
UI.changePage("about");
|
|
} else if (state == "account" || state == "login") {
|
|
if (firebase.auth().currentUser) {
|
|
UI.changePage("account");
|
|
} else {
|
|
UI.changePage("login");
|
|
}
|
|
}
|
|
});
|