-// Start Screen
-// ------------
function getRegions() {
return [ "euw", "na", "kr", "br" ];
}
return [ {name: "Aatrox"}, {name: "Annie"}, {name: "Braum"}, {name: "Not"} ];
}
function getMatchProps() {
- return []
+ return [
+ {text: "Champion", name: "champ"},
+ {text: "Lane", name: "lane"},
+ ];
}
function getMatches() {
+ return [
+ {champ: "Xerath", lane: "Middle"},
+ {champ: "Quinn", lane: "Bottom"},
+ ];
}
function getInfo() {
app.summoner = $("#nameinput").val();
"&view=" +
app.view);
}
-
-function toggleStart(up) {
- $("#start").removeClass(up ? "down" : "up");
- $("#start").addClass(up ? "up" : "down");
-}
-function slideStart() {
+function slideStartUp() {
+ $("#start").removeClass("slidedown");
$("#start").addClass("slideup");
}
-var app = new Vue({
+function slideStartDown() {
+ $("#start").removeClass("slideup");
+ $("#start").addClass("slidedown");
+}
+function changeView(view) {
+ if (view != "start" && view != "history" && view != "stats") {
+ setUrl();
+ return;
+ }
+ let oldView = app.view;
+ if (oldView == "start") {
+ if (view == "history") {
+ slideStartUp();
+ $("#matchhistory").show("slide", { direction: "down" }, 300);
+ } else if (view == "stats") {
+ slideStartUp();
+ $("#stats").show("slide", { direction: "down" }, 300);
+ }
+ } else if (oldView == "history") {
+ if (view == "start") {
+ $("#matchhistory").hide("slide", { direction: "down" }, 300);
+ slideStartDown();
+ } else if (view == "stats") {
+ $("#stats").show("blind", { direction: "right" });
+ $("#matchhistory").hide("blind", { direction: "left" });
+ }
+ } else if (oldView == "stats") {
+ if (view == "start") {
+ $("#stats").hide("slide", { direction: "down" }, 300);
+ slideStartDown();
+ } else if (view == "history") {
+ $("#matchhistory").show("blind", { direction: "left" });
+ $("#stats").hide("blind", { direction: "right" });
+ }
+ }
+ app.view = view;
+}
+let app = new Vue({
el: '#app',
data: {
summoner: "",
methods: {
submit: function() {
getInfo();
- if (app.view == "start") {
- app.view = "history";
- setUrl();
- slideStart();
- $("#matchhistory").show("slide", { direction: "down" }, 300);
- } else {
- setUrl();
- }
+ if (app.view == "start")
+ changeView("history");
+ setUrl();
},
historyToStats: function() {
- app.view = "stats";
+ changeView("stats");
setUrl();
- $("#stats").show("blind", { direction: "right" });
- $("#matchhistory").hide("blind", { direction: "left" });
},
statsToHistory: function() {
- app.view = "history";
+ changeView("history");
setUrl();
- $("#matchhistory").show("blind", { direction: "left" });
- $("#stats").hide("blind", { direction: "right" });
+ },
+ refreshHistory: function() {
},
},
});
-// Check for URL parameters
-let url = new URL(window.location.href);
-if (url.searchParams.has("summoner")) {
- app.summoner = url.searchParams.get("summoner");
- $("#nameinput").val(app.summoner);
-}
-if (url.searchParams.has("region")) {
- app.region = url.searchParams.get("region");
- $("#regionselect").val(app.region);
-}
-if (url.searchParams.has("view")) {
- let view = url.searchParams.get("view");
- if (view == "history") {
- toggleStart(true);
- $("#matchhistory").show();
+function parseUrl() {
+ console.log("parseUrl");
+ let url = new URL(window.location.href);
+ if (url.searchParams.has("summoner")) {
+ app.summoner = url.searchParams.get("summoner");
+ $("#nameinput").val(app.summoner);
}
- else if (view == "stats") {
- toggleStart(true);
- $("#stats").show();
+ if (url.searchParams.has("region")) {
+ app.region = url.searchParams.get("region");
+ $("#regionselect").val(app.region);
+ }
+ if (url.searchParams.has("view")) {
+ let view = url.searchParams.get("view");
+ changeView(view);
+ } else {
+ changeView("start");
}
}
-// ------------
+
+window.addEventListener('popstate', parseUrl);
+window.addEventListener('load', parseUrl);