]> gitweb.ps.run Git - lolstats/blobdiff - html/script.js
code cleanup
[lolstats] / html / script.js
index 51c43c0281648d80e9fccdb50334bd2c33a93036..cee77f6f1d5a8f9586fb18847239319e4806c199 100644 (file)
@@ -1,5 +1,3 @@
-// Start Screen
-// ------------
 function getRegions() {
   return [ "euw", "na", "kr", "br" ];
 }
 function getRegions() {
   return [ "euw", "na", "kr", "br" ];
 }
@@ -7,9 +5,16 @@ function getChampions() {
   return [ {name: "Aatrox"}, {name: "Annie"}, {name: "Braum"}, {name: "Not"} ];
 }
 function getMatchProps() {
   return [ {name: "Aatrox"}, {name: "Annie"}, {name: "Braum"}, {name: "Not"} ];
 }
 function getMatchProps() {
-  return []
+  return [
+    {text: "Champion", name: "champ"},
+    {text: "Lane", name: "lane"},
+  ];
 }
 function getMatches() {
 }
 function getMatches() {
+  return [
+    {champ: "Xerath", lane: "Middle"},
+    {champ: "Quinn", lane: "Bottom"},
+  ];
 }
 function getInfo() {
   app.summoner = $("#nameinput").val();
 }
 function getInfo() {
   app.summoner = $("#nameinput").val();
@@ -24,15 +29,48 @@ function setUrl() {
     "&view=" +
     app.view);
 }
     "&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");
 }
   $("#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: "",
   el: '#app',
   data: {
     summoner: "",
@@ -46,49 +84,41 @@ var app = new Vue({
   methods: {
     submit: function() {
       getInfo();
   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() {
     },
     historyToStats: function() {
-      app.view = "stats";
+      changeView("stats");
       setUrl();
       setUrl();
-      $("#stats").show("blind", { direction: "right" });
-      $("#matchhistory").hide("blind", { direction: "left" });
     },
     statsToHistory: function() {
     },
     statsToHistory: function() {
-      app.view = "history";
+      changeView("history");
       setUrl();
       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);