diff --git a/dist/js/index.js b/dist/js/index.js
index 94fdd93..a88a75a 100644
--- a/dist/js/index.js
+++ b/dist/js/index.js
@@ -1,2 +1,2 @@
-!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t,n){"use strict";n.r(t),n.d(t,"setup",function(){return c});var o,r=0,a=0;function c(){o=document.querySelector(".carousel"),$.get("http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid=76561198250223174&format=json",JSON,function(e){0==e.response.total_count&&console.log("no recent played games")});for(var e=document.getElementsByClassName("carousel__cell"),t=0;t
-1,r=new t("SteamGamesMetas");o?(e=new t("account").get("steam"),console.log("steamToken: "+e)):(console.log("AGENT IS NOT ELECTRON, NO HANDLING FOR NOW"),e="76561198250223174");$.get("https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid="+e+"&include_appinfo=1&include_played_free_games=1&appids_filter=",function(e){for(var t=e.response,n=document.getElementById("library"),a=function(){var e=t.games[c],a="
"+e.name+"
",i=document.createElement("div");i.className="game",i.onclick=function(){var t;t=e,console.log(t.name)},o&&null!=r.get(e.appid)&&(a+='
'),i.innerHTML=a,null!=n&&n.appendChild(i)},c=0;c Settings"}}),n(1),n(0)},function(e,t,n){const o=n(5),r=n(6),a=n(7);e.exports=class{constructor(e){this.path=r.join((o.app||o.remote.app).getPath("userData"),e+".json"),this.data=function(e){try{return JSON.parse(a.readFileSync(e))}catch{return{}}}(this.path)}get(e){return this.data[e]}set(e,t){this.data[e]=t,a.writeFileSync(this.path,JSON.stringify(this.data))}}},function(e,t){e.exports=require("electron")},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("fs")}]);
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL3RzL0Nhcm91c2VsLnRzIiwid2VicGFjazovLy8uL3NyYy90cy9MaWJyYXJ5LnRzIiwid2VicGFjazovLy8uL3NyYy90cy9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvanMvc3RvcmUuanMiLCJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwiZWxlY3Ryb25cIiIsIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJwYXRoXCIiLCJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwiZnNcIiJdLCJuYW1lcyI6WyJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJzZXR1cCIsImNhcm91c2VsIiwic2VsZWN0ZWRJbmRleCIsImFuZ2xlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiJCIsIkpTT04iLCJkYXRhIiwicmVzcG9uc2UiLCJ0b3RhbF9jb3VudCIsImNvbnNvbGUiLCJsb2ciLCJsaXN0IiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsImxlbmd0aCIsImlkIiwidG9TdHJpbmciLCJhZGRFdmVudExpc3RlbmVyIiwicm90YXRlQ2Fyb3VzZWwiLCJldmVudCIsInRhcmdldCIsInN0eWxlIiwidHJhbnNmb3JtIiwicG9wdWxhdGVHcmlkIiwibGF1bmNoZXIiLCJzdGVhbVRva2VuIiwiU3RvcmUiLCJpc0VsZWN0cm9uIiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwidG9Mb3dlckNhc2UiLCJpbmRleE9mIiwic3RvcmUiLCJncmlkIiwiZ2V0RWxlbWVudEJ5SWQiLCJfbG9vcF8xIiwiZ2FtZSIsImdhbWVzIiwiZ3JpZEh0bWwiLCJhcHBpZCIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwib25jbGljayIsImdhbWVDbGlja2VkIiwiaW5uZXJIVE1MIiwiYXBwZW5kQ2hpbGQiLCJnYW1lX2NvdW50IiwiX0Nhcm91c2VsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18iLCJfTGlicmFyeV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fIiwiaG9tZSIsImxvYWQiLCJpbnB1dCIsImZvY3VzIiwiZWxlY3Ryb24iLCJwYXRoIiwiZnMiLCJbb2JqZWN0IE9iamVjdF0iLCJ0aGlzIiwiam9pbiIsImFwcCIsInJlbW90ZSIsImdldFBhdGgiLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsInJlYWRGaWxlIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiJhQUNBLElBQUFBLEVBQUEsR0FHQSxTQUFBQyxFQUFBQyxHQUdBLEdBQUFGLEVBQUFFLEdBQ0EsT0FBQUYsRUFBQUUsR0FBQUMsUUFHQSxJQUFBQyxFQUFBSixFQUFBRSxHQUFBLENBQ0FHLEVBQUFILEVBQ0FJLEdBQUEsRUFDQUgsUUFBQSxJQVVBLE9BTkFJLEVBQUFMLEdBQUFNLEtBQUFKLEVBQUFELFFBQUFDLElBQUFELFFBQUFGLEdBR0FHLEVBQUFFLEdBQUEsRUFHQUYsRUFBQUQsUUFLQUYsRUFBQVEsRUFBQUYsRUFHQU4sRUFBQVMsRUFBQVYsRUFHQUMsRUFBQVUsRUFBQSxTQUFBUixFQUFBUyxFQUFBQyxHQUNBWixFQUFBYSxFQUFBWCxFQUFBUyxJQUNBRyxPQUFBQyxlQUFBYixFQUFBUyxFQUFBLENBQTBDSyxZ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cUUsS0FBQW5ELEtBQUFsQixHQUdBb0UsSUFBQXBFLEVBQUFOLEdBRUEyRSxLQUFBbkQsS0FBQWxCLEdBQUFOLEVBQ0F5RSxFQUFBVSxjQUFBUixLQUFBSCxLQUFBakQsS0FBQTZELFVBQUFULEtBQUFuRCx3QkNwQkExQyxFQUFBRCxRQUFBd0csUUFBQSwyQkNBQXZHLEVBQUFELFFBQUF3RyxRQUFBLHVCQ0FBdkcsRUFBQUQsUUFBQXdHLFFBQUEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMik7XG4iLCJ2YXIgc2VsZWN0ZWRJbmRleCA9IDA7XHJcbnZhciBjYXJvdXNlbDtcclxudmFyIGFuZ2xlID0gMDtcclxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKCkge1xyXG4gICAgY2Fyb3VzZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmNhcm91c2VsXCIpO1xyXG4gICAgJC5nZXQoXCJodHRwOi8vYXBpLnN0ZWFtcG93ZXJlZC5jb20vSVBsYXllclNlcnZpY2UvR2V0UmVjZW50bHlQbGF5ZWRHYW1lcy92MDAwMS8/a2V5PTdDMjE4RThEMTM0N0MzQ0Q2Q0I4MTE3RTVFRDUzM0JDJnN0ZWFtaWQ9NzY1NjExOTgyNTAyMjMxNzQmZm9ybWF0PWpzb25cIiwgSlNPTiwgZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICBpZiAoZGF0YS5yZXNwb25zZS50b3RhbF9jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibm8gcmVjZW50IHBsYXllZCBnYW1lc1wiKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuICAgIHZhciBsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImNhcm91c2VsX19jZWxsXCIpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGlzdFtpXS5pZCA9IGkudG9TdHJpbmcoKTtcclxuICAgICAgICBsaXN0W2ldLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBldiA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICAgICAgcm90YXRlQ2Fyb3VzZWwoZXYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgO1xyXG59XHJcbmZ1bmN0aW9uIHJvdGF0ZUNhcm91c2VsKHRhcmdldCkge1xyXG4gICAgYW5nbGUgPSAoc2VsZWN0ZWRJbmRleCAtIHRhcmdldC5pZCkgKiAyMCArIGFuZ2xlOyAvLyoyMCB0byBjb252ZXJ0IGluIGFuZ2xlXHJcbiAgICBjYXJvdXNlbC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVooLTg4MHB4KSByb3RhdGVZKFwiICsgYW5nbGUgKyBcImRlZylcIjtcclxuICAgIHNlbGVjdGVkSW5kZXggPSB0YXJnZXQ7XHJcbiAgICBDZWxsU2NyaXB0KHRhcmdldCk7XHJcbn1cclxuZnVuY3Rpb24gQ2VsbFNjcmlwdChjZWxsKSB7XHJcbn1cclxuIiwidmFyIEdhbWUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XHJcbiAgICBmdW5jdGlvbiBHYW1lKG5hbWUsIGFwcGlkLCB0aHVtYm5haWwsIGxhdW5jaGVyLCBsYXVuY2hlcklELCBpc0luc3RhbGxlZCwgbG9jYWxQYXRoKSB7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmFwcGlkID0gYXBwaWQ7XHJcbiAgICAgICAgdGhpcy50aHVtYm5haWwgPSB0aHVtYm5haWw7XHJcbiAgICAgICAgdGhpcy5sYXVuY2hlciA9IGxhdW5jaGVyO1xyXG4gICAgICAgIHRoaXMubGF1bmNoZXJJRCA9IGxhdW5jaGVySUQ7XHJcbiAgICAgICAgdGhpcy5pc0luc3RhbGxlZCA9IGlzSW5zdGFsbGVkO1xyXG4gICAgICAgIHRoaXMubG9jYWxQYXRoID0gbG9jYWxQYXRoO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIEdhbWU7XHJcbn0oKSk7XHJcbnZhciBsYXVuY2hlcjtcclxuKGZ1bmN0aW9uIChsYXVuY2hlcikge1xyXG4gICAgbGF1bmNoZXJbbGF1bmNoZXJbXCJMb2NhbE9ubHlcIl0gPSAwXSA9IFwiTG9jYWxPbmx5XCI7XHJcbiAgICBsYXVuY2hlcltsYXVuY2hlcltcIlN0ZWFtXCJdID0gMV0gPSBcIlN0ZWFtXCI7XHJcbn0pKGxhdW5jaGVyIHx8IChsYXVuY2hlciA9IHt9KSk7XHJcbmV4cG9ydCBmdW5jdGlvbiBwb3B1bGF0ZUdyaWQoKSB7XHJcbiAgICB2YXIgc3RlYW1Ub2tlbjtcclxuICAgIHZhciBTdG9yZSA9IHJlcXVpcmUoXCIuLi9qcy9zdG9yZVwiKTtcclxuICAgIHZhciB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB2YXIgaXNFbGVjdHJvbiA9IHVzZXJBZ2VudC5pbmRleE9mKFwiIGVsZWN0cm9uL1wiKSA+IC0xO1xyXG4gICAgdmFyIHN0b3JlID0gbmV3IFN0b3JlKFwiU3RlYW1HYW1lc01ldGFzXCIpO1xyXG4gICAgaWYgKGlzRWxlY3Ryb24pIHtcclxuICAgICAgICB2YXIgdGtuU3RvcmUgPSBuZXcgU3RvcmUoXCJhY2NvdW50XCIpO1xyXG4gICAgICAgIHN0ZWFtVG9rZW4gPSB0a25TdG9yZS5nZXQoXCJzdGVhbVwiKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInN0ZWFtVG9rZW46IFwiICsgc3RlYW1Ub2tlbik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIkFHRU5UIElTIE5PVCBFTEVDVFJPTiwgTk8gSEFORExJTkcgRk9SIE5PV1wiKTtcclxuICAgICAgICBzdGVhbVRva2VuID0gXCI3NjU2MTE5ODI1MDIyMzE3NFwiOyAvL0EgZGVmYXVsdCBzdGVhbSBjbGllbnQgaWQgKGZvciB0ZXN0aW5nIG9ubHkpXHJcbiAgICB9XHJcbiAgICAkLmdldChcImh0dHBzOi8vYXBpLnN0ZWFtcG93ZXJlZC5jb20vSVBsYXllclNlcnZpY2UvR2V0T3duZWRHYW1lcy92MS9cIiArXHJcbiAgICAgICAgXCI/a2V5PTdDMjE4RThEMTM0N0MzQ0Q2Q0I4MTE3RTVFRDUzM0JDXCIgK1xyXG4gICAgICAgIFwiJnN0ZWFtaWQ9XCIgKyBzdGVhbVRva2VuICtcclxuICAgICAgICBcIiZpbmNsdWRlX2FwcGluZm89MVwiICtcclxuICAgICAgICBcIiZpbmNsdWRlX3BsYXllZF9mcmVlX2dhbWVzPTFcIiArXHJcbiAgICAgICAgXCImYXBwaWRzX2ZpbHRlcj1cIiwgZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICB2YXIgcmVzcG9uc2UgPSBkYXRhLnJlc3BvbnNlO1xyXG4gICAgICAgIHZhciBncmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJsaWJyYXJ5XCIpO1xyXG4gICAgICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgZ2FtZSA9IHJlc3BvbnNlLmdhbWVzW2ldO1xyXG4gICAgICAgICAgICB2YXIgdGh1bWJuYWlsID0gXCJodHRwczovL3N0ZWFtY2RuLWEuYWthbWFpaGQubmV0L3N0ZWFtL2FwcHMvXCIgKyBnYW1lLmFwcGlkICsgXCIvaGVhZGVyLmpwZ1wiO1xyXG4gICAgICAgICAgICB2YXIgZ3JpZEh0bWwgPSBcIjxpbWcgc3JjPSdcIiArIHRodW1ibmFpbCArIFwiJy8+IDxwPlwiICsgZ2FtZS5uYW1lICsgXCI8L3A+XCI7XHJcbiAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuICAgICAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSBcImdhbWVcIjtcclxuICAgICAgICAgICAgZWxlbWVudC5vbmNsaWNrID0gZnVuY3Rpb24gKCkgeyBvbkdhbWVDbGljayhnYW1lKTsgfTtcclxuICAgICAgICAgICAgLy9DaGVjayBpZiB0aGUgZ2FtZSBpcyBhbHJlYWR5IGRvd25sb2FkZWQgYW5kIGlmIGl0IGlzLCBkaXNwbGF5IGl0XHJcbiAgICAgICAgICAgIGlmIChpc0VsZWN0cm9uKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RvcmUuZ2V0KGdhbWUuYXBwaWQpICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZEh0bWwgKz0gJzxpbWcgc3JjPVwiL2RyYXdhYmxlL2NoZWNrLnN2Z1wiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyByaWdodDogMDsgcGFkZGluZzogNXB4O1wiLz4nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ3JpZEh0bWw7XHJcbiAgICAgICAgICAgIGlmIChncmlkICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICBncmlkLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNwb25zZS5nYW1lX2NvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgX2xvb3BfMSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59XHJcbmZ1bmN0aW9uIG9uR2FtZUNsaWNrKGdhbWVDbGlja2VkKSB7XHJcbiAgICBjb25zb2xlLmxvZyhnYW1lQ2xpY2tlZC5uYW1lKTtcclxufVxyXG4iLCIvLyBpbXBvcnQgJCBmcm9tIFwianF1ZXJ5XCI7IC8vVXNpbmcgZ2xvYmFsIHNjb3BlIGpxdWVyeSBpbnN0ZWFkIGJlYWNhdXNlIGl0IG1ha2UgYSBodWdlIGZpbGUgaWYgd2UgdXNlIHRoaXMuXHJcbmltcG9ydCB7IHNldHVwIH0gZnJvbSBcIi4vQ2Fyb3VzZWxcIjtcclxuaW1wb3J0IHsgcG9wdWxhdGVHcmlkIH0gZnJvbSBcIi4vTGlicmFyeVwiO1xyXG4kKGZ1bmN0aW9uICgpIHtcclxuICAgIGhvbWUoKTtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidGl0bGVcIikub25jbGljayA9IGZ1bmN0aW9uICgpIHsgaG9tZSgpOyB9O1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzZWFyY2hCdG5cIikub25jbGljayA9IGZ1bmN0aW9uICgpIHsgb3BlblNlYXJjaCgpOyB9O1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzZXR0aW5nc0J0blwiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgeyBvcGVuU2V0dGluZ3MoKTsgfTtcclxufSk7XHJcbmZ1bmN0aW9uIGhvbWUoKSB7XHJcbiAgICAkKFwiI2NvbnRlbnRcIikubG9hZChcImZyYWdtZW50cy9ob21lLmh0bWxcIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHNldHVwKCk7XHJcbiAgICAgICAgcG9wdWxhdGVHcmlkKCk7XHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidGl0bGVcIikuaW5uZXJIVE1MID0gXCJFQVVcIjtcclxufVxyXG5mdW5jdGlvbiBvcGVuU2VhcmNoKCkge1xyXG4gICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzZWFyY2hJbnB1dFwiKTtcclxuICAgIGlucHV0LnZhbHVlID0gXCJcIjtcclxuICAgIGlucHV0LmZvY3VzKCk7XHJcbn1cclxuZnVuY3Rpb24gb3BlblNldHRpbmdzKCkge1xyXG4gICAgJChcIiNjb250ZW50XCIpLmxvYWQoXCJmcmFnbWVudHMvc2V0dGluZ3MuaHRtbFwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidGl0bGVcIikuaW5uZXJIVE1MID0gXCI8aSBjbGFzcz0naWNvbiBmYXMgZmEtYXJyb3ctbGVmdCc+PC9pPiAgU2V0dGluZ3NcIjtcclxufVxyXG5yZXF1aXJlKFwiLi9MaWJyYXJ5XCIpO1xyXG5yZXF1aXJlKFwiLi9DYXJvdXNlbFwiKTtcclxuIiwiY29uc3QgZWxlY3Ryb24gPSByZXF1aXJlKFwiZWxlY3Ryb25cIik7XHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcblxyXG5jbGFzcyBTdG9yZVxyXG57ICAgIFxyXG4gICAgY29uc3RydWN0b3IobmFtZSlcclxuICAgIHtcclxuICAgICAgICB0aGlzLnBhdGggPSBwYXRoLmpvaW4oKGVsZWN0cm9uLmFwcCB8fCBlbGVjdHJvbi5yZW1vdGUuYXBwKS5nZXRQYXRoKFwidXNlckRhdGFcIiksIG5hbWUgKyBcIi5qc29uXCIpO1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IHJlYWRGaWxlKHRoaXMucGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGtleSlcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhW2tleV07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGtleSwgdmFsdWUpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5kYXRhW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMucGF0aCwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlYWRGaWxlKHBhdGgpXHJcbntcclxuICAgIHRyeVxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoKSk7XHJcbiAgICB9XHJcbiAgICBjYXRjaFxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBTdG9yZTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJlbGVjdHJvblwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJwYXRoXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImZzXCIpOyJdLCJzb3VyY2VSb290IjoiIn0=
\ No newline at end of file
+!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t,n){"use strict";n.r(t),n.d(t,"setup",function(){return a});var o,r=0,c=0;function a(){o=document.querySelector(".carousel"),$.getJSON("http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid=76561198268998707&format=json",JSON,function(e){0==e.response.total_count&&console.log("no recent played games"),console.log(JSON.stringify(e))});for(var e=document.getElementsByClassName("carousel__cell"),t=0;t "+e.name+"
",c=document.createElement("div");c.className="game",c.onclick=function(){var t;t=e,console.log(t.name)},c.innerHTML=o,null!=n&&n.appendChild(c)},r=0;r Settings"}}),n(1),n(0)}]);
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL3RzL0Nhcm91c2VsLnRzIiwid2VicGFjazovLy8uL3NyYy90cy9MaWJyYXJ5LnRzIiwid2VicGFjazovLy8uL3NyYy90cy9pbmRleC50cyJdLCJuYW1lcyI6WyJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJzZXR1cCIsImNhcm91c2VsIiwic2VsZWN0ZWRJbmRleCIsImFuZ2xlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiJCIsImdldEpTT04iLCJKU09OIiwiZGF0YSIsInJlc3BvbnNlIiwidG90YWxfY291bnQiLCJjb25zb2xlIiwibG9nIiwic3RyaW5naWZ5IiwibGlzdCIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJsZW5ndGgiLCJpZCIsInRvU3RyaW5nIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJvdGF0ZUNhcm91c2VsIiwiZXZlbnQiLCJ0YXJnZXQiLCJzdHlsZSIsInRyYW5zZm9ybSIsInBvcHVsYXRlR3JpZCIsImxhdW5jaGVyIiwiZ3JpZCIsImdldEVsZW1lbnRCeUlkIiwiX2xvb3BfMSIsImdhbWUiLCJnYW1lcyIsImdyaWRIdG1sIiwiYXBwaWQiLCJlbGVtZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIm9uY2xpY2siLCJnYW1lQ2xpY2tlZCIsImlubmVySFRNTCIsImFwcGVuZENoaWxkIiwiZ2FtZV9jb3VudCIsIl9DYXJvdXNlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fIiwiX0xpYnJhcnlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyIsImhvbWUiLCJsb2FkIiwiaW5wdXQiLCJmb2N1cyJdLCJtYXBwaW5ncyI6ImFBQ0EsSUFBQUEsRUFBQSxHQUdBLFNBQUFDLEVBQUFDLEdBR0EsR0FBQUYsRUFBQUUsR0FDQSxPQUFBRixFQUFBRSxHQUFBQyxRQUdBLElBQUFDLEVBQUFKLEVBQUFFLEdBQUEsQ0FDQUcsRUFBQUgsRUFDQUksR0FBQSxFQUNBSCxRQUFBLElBVUEsT0FOQUksRUFBQUwsR0FBQU0sS0FBQUosRUFBQUQsUUFBQUMsSUFBQUQsUUFBQUYsR0FHQUcsRUFBQUUsR0FBQSxFQUdBRixFQUFBRCxRQUtBRixFQUFBUSxFQUFBRixFQUdBTixFQUFBUyxFQUFBVixFQUdBQyxFQUFBVSxFQUFBLFNBQUFSLEVBQUFTLEVBQUFDLEdBQ0FaLEVBQUFhLEVBQUFYLEVBQUFTLElBQ0FHLE9BQUFDLGVBQUFiLEVBQUFTLEVBQUEsQ0FBMENLLFlBQUEsRUFBQUMsSUFBQUwsS0FLMUNaLEVBQUFrQixFQUFBLFNBQUFoQixHQUNBLG9CQUFBaUIsZUFBQUMsYUFDQU4sT0FBQUMsZUFBQWIsRUFBQWlCLE9BQUFDLFlBQUEsQ0FBd0RDLE1BQUEsV0FFeERQLE9BQUFDLGVBQUFiLEVBQUEsY0FBaURtQixPQUFBLEtBUWpEckIsRUFBQXNCLEVBQUEsU0FBQUQsRUFBQUUsR0FFQSxHQURBLEVBQUFBLElBQUFGLEVBQUFyQixFQUFBcUIsSUFDQSxFQUFBRSxFQUFBLE9BQUFGLEVBQ0EsS0FBQUUsR0FBQSxpQkFBQUYsUUFBQUcsV0FBQSxPQUFBSCxFQUNBLElBQUFJLEVBQUFYLE9BQUFZLE9BQUEsTUFHQSxHQUZBMUIsRUFBQWtCLEVBQUFPLEdBQ0FYLE9BQUFDLGVBQUFV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QUFBd0MsS0FBQSx3Q0FFQTFDLFNBQUF5QixlQUFBLFNBQUFXLFVBQUEsc0RBRUE3RSxFQUFRLEdBQ1JBLEVBQVEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMik7XG4iLCJ2YXIgc2VsZWN0ZWRJbmRleCA9IDA7XG52YXIgY2Fyb3VzZWw7XG52YXIgYW5nbGUgPSAwO1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKCkge1xuICAgIGNhcm91c2VsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5jYXJvdXNlbFwiKTtcbiAgICAkLmdldEpTT04oXCJodHRwOi8vYXBpLnN0ZWFtcG93ZXJlZC5jb20vSVBsYXllclNlcnZpY2UvR2V0UmVjZW50bHlQbGF5ZWRHYW1lcy92MDAwMS8/a2V5PTdDMjE4RThEMTM0N0MzQ0Q2Q0I4MTE3RTVFRDUzM0JDJnN0ZWFtaWQ9NzY1NjExOTgyNjg5OTg3MDcmZm9ybWF0PWpzb25cIiwgSlNPTiwgZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEucmVzcG9uc2UudG90YWxfY291bnQgPT0gMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJubyByZWNlbnQgcGxheWVkIGdhbWVzXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICB9KTtcbiAgICB2YXIgbGlzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJjYXJvdXNlbF9fY2VsbFwiKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGlzdFtpXS5pZCA9IGkudG9TdHJpbmcoKTtcbiAgICAgICAgbGlzdFtpXS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGV2ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgcm90YXRlQ2Fyb3VzZWwoZXYpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgO1xufVxuZnVuY3Rpb24gcm90YXRlQ2Fyb3VzZWwodGFyZ2V0KSB7XG4gICAgYW5nbGUgPSAoc2VsZWN0ZWRJbmRleCAtIHRhcmdldC5pZCkgKiAyMCArIGFuZ2xlOyAvLyoyMCB0byBjb252ZXJ0IGluIGFuZ2xlXG4gICAgY2Fyb3VzZWwuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVaKC04ODBweCkgcm90YXRlWShcIiArIGFuZ2xlICsgXCJkZWcpXCI7XG4gICAgc2VsZWN0ZWRJbmRleCA9IHRhcmdldC5pZDtcbiAgICBDZWxsU2NyaXB0KHRhcmdldCk7XG59XG5mdW5jdGlvbiBDZWxsU2NyaXB0KGNlbGwpIHtcbn1cbiIsInZhciBHYW1lID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEdhbWUobmFtZSwgYXBwaWQsIHRodW1ibmFpbCwgbGF1bmNoZXIsIGxhdW5jaGVySUQsIGlzSW5zdGFsbGVkLCBsb2NhbFBhdGgpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5hcHBpZCA9IGFwcGlkO1xuICAgICAgICB0aGlzLnRodW1ibmFpbCA9IHRodW1ibmFpbDtcbiAgICAgICAgdGhpcy5sYXVuY2hlciA9IGxhdW5jaGVyO1xuICAgICAgICB0aGlzLmxhdW5jaGVySUQgPSBsYXVuY2hlcklEO1xuICAgICAgICB0aGlzLmlzSW5zdGFsbGVkID0gaXNJbnN0YWxsZWQ7XG4gICAgICAgIHRoaXMubG9jYWxQYXRoID0gbG9jYWxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gR2FtZTtcbn0oKSk7XG52YXIgbGF1bmNoZXI7XG4oZnVuY3Rpb24gKGxhdW5jaGVyKSB7XG4gICAgbGF1bmNoZXJbbGF1bmNoZXJbXCJMb2NhbE9ubHlcIl0gPSAwXSA9IFwiTG9jYWxPbmx5XCI7XG4gICAgbGF1bmNoZXJbbGF1bmNoZXJbXCJTdGVhbVwiXSA9IDFdID0gXCJTdGVhbVwiO1xufSkobGF1bmNoZXIgfHwgKGxhdW5jaGVyID0ge30pKTtcbmV4cG9ydCBmdW5jdGlvbiBwb3B1bGF0ZUdyaWQoKSB7XG4gICAgdmFyIHN0ZWFtVG9rZW47XG4gICAgLy8gY29uc3QgU3RvcmUgPSByZXF1aXJlKFwiLi4vanMvc3RvcmVcIik7XG4gICAgLy8gY29uc3QgdXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIHZhciBpc0VsZWN0cm9uID0gdXNlckFnZW50LmluZGV4T2YoXCIgZWxlY3Ryb24vXCIpID4gLTE7XG4gICAgLy8gY29uc3Qgc3RvcmUgPSBuZXcgU3RvcmUoXCJTdGVhbUdhbWVzTWV0YXNcIik7XG4gICAgLy8gaWYgKGlzRWxlY3Ryb24pXG4gICAgLy8ge1xuICAgIC8vICAgICBjb25zdCB0a25TdG9yZSA9IG5ldyBTdG9yZShcImFjY291bnRcIik7XG4gICAgLy8gICAgIHN0ZWFtVG9rZW4gPSB0a25TdG9yZS5nZXQoXCJzdGVhbVwiKTtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJzdGVhbVRva2VuOiBcIiArIHN0ZWFtVG9rZW4pO1xuICAgIC8vIH1cbiAgICAvLyBlbHNlXG4gICAgLy8ge1xuICAgIGNvbnNvbGUubG9nKFwiQUdFTlQgSVMgTk9UIEVMRUNUUk9OLCBOTyBIQU5ETElORyBGT1IgTk9XXCIpO1xuICAgIHN0ZWFtVG9rZW4gPSBcIjc2NTYxMTk4MjUwMjIzMTc0XCI7IC8vQSBkZWZhdWx0IHN0ZWFtIGNsaWVudCBpZCAoZm9yIHRlc3Rpbmcgb25seSlcbiAgICAvLyB9XG4gICAgJC5nZXRKU09OKFwiaHR0cHM6Ly9hcGkuc3RlYW1wb3dlcmVkLmNvbS9JUGxheWVyU2VydmljZS9HZXRPd25lZEdhbWVzL3YxL1wiICtcbiAgICAgICAgXCI/a2V5PTdDMjE4RThEMTM0N0MzQ0Q2Q0I4MTE3RTVFRDUzM0JDXCIgK1xuICAgICAgICBcIiZzdGVhbWlkPVwiICsgc3RlYW1Ub2tlbiArXG4gICAgICAgIFwiJmluY2x1ZGVfYXBwaW5mbz0xXCIgK1xuICAgICAgICBcIiZpbmNsdWRlX3BsYXllZF9mcmVlX2dhbWVzPTFcIiArXG4gICAgICAgIFwiJmFwcGlkc19maWx0ZXI9JmZvcm1hdD1qc29uXCIsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHZhciByZXNwb25zZSA9IGRhdGEucmVzcG9uc2U7XG4gICAgICAgIHZhciBncmlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJsaWJyYXJ5XCIpO1xuICAgICAgICB2YXIgX2xvb3BfMSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBnYW1lID0gcmVzcG9uc2UuZ2FtZXNbaV07XG4gICAgICAgICAgICB2YXIgdGh1bWJuYWlsID0gXCJodHRwczovL3N0ZWFtY2RuLWEuYWthbWFpaGQubmV0L3N0ZWFtL2FwcHMvXCIgKyBnYW1lLmFwcGlkICsgXCIvaGVhZGVyLmpwZ1wiO1xuICAgICAgICAgICAgdmFyIGdyaWRIdG1sID0gXCI8aW1nIHNyYz0nXCIgKyB0aHVtYm5haWwgKyBcIicvPiA8cD5cIiArIGdhbWUubmFtZSArIFwiPC9wPlwiO1xuICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSBcImdhbWVcIjtcbiAgICAgICAgICAgIGVsZW1lbnQub25jbGljayA9IGZ1bmN0aW9uICgpIHsgb25HYW1lQ2xpY2soZ2FtZSk7IH07XG4gICAgICAgICAgICAvL0NoZWNrIGlmIHRoZSBnYW1lIGlzIGFscmVhZHkgZG93bmxvYWRlZCBhbmQgaWYgaXQgaXMsIGRpc3BsYXkgaXRcbiAgICAgICAgICAgIC8vIGlmKGlzRWxlY3Ryb24pXG4gICAgICAgICAgICAvLyB7XG4gICAgICAgICAgICAvLyAgICAgaWYoc3RvcmUuZ2V0KGdhbWUuYXBwaWQpICE9IG51bGwpXG4gICAgICAgICAgICAvLyAgICAgICAgIGdyaWRIdG1sICs9ICc8aW1nIHNyYz1cIi9kcmF3YWJsZS9jaGVjay5zdmdcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHBhZGRpbmc6IDVweDtcIi8+J1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBncmlkSHRtbDtcbiAgICAgICAgICAgIGlmIChncmlkICE9IG51bGwpXG4gICAgICAgICAgICAgICAgZ3JpZC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNwb25zZS5nYW1lX2NvdW50OyBpKyspIHtcbiAgICAgICAgICAgIF9sb29wXzEoKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gb25HYW1lQ2xpY2soZ2FtZUNsaWNrZWQpIHtcbiAgICBjb25zb2xlLmxvZyhnYW1lQ2xpY2tlZC5uYW1lKTtcbn1cbiIsIi8vIGltcG9ydCAkIGZyb20gXCJqcXVlcnlcIjsgLy9Vc2luZyBnbG9iYWwgc2NvcGUganF1ZXJ5IGluc3RlYWQgYmVhY2F1c2UgaXQgbWFrZSBhIGh1Z2UgZmlsZSBpZiB3ZSB1c2UgdGhpcy5cbmltcG9ydCB7IHNldHVwIH0gZnJvbSBcIi4vQ2Fyb3VzZWxcIjtcbmltcG9ydCB7IHBvcHVsYXRlR3JpZCB9IGZyb20gXCIuL0xpYnJhcnlcIjtcbiQoZnVuY3Rpb24gKCkge1xuICAgIGhvbWUoKTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRpdGxlXCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7IGhvbWUoKTsgfTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNlYXJjaEJ0blwiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgeyBvcGVuU2VhcmNoKCk7IH07XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzZXR0aW5nc0J0blwiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgeyBvcGVuU2V0dGluZ3MoKTsgfTtcbn0pO1xuZnVuY3Rpb24gaG9tZSgpIHtcbiAgICAkKFwiI2NvbnRlbnRcIikubG9hZChcImZyYWdtZW50cy9ob21lLmh0bWxcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXR1cCgpO1xuICAgICAgICBwb3B1bGF0ZUdyaWQoKTtcbiAgICB9KTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInRpdGxlXCIpLmlubmVySFRNTCA9IFwiRUFVXCI7XG59XG5mdW5jdGlvbiBvcGVuU2VhcmNoKCkge1xuICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2VhcmNoSW5wdXRcIik7XG4gICAgaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgIGlucHV0LmZvY3VzKCk7XG59XG5mdW5jdGlvbiBvcGVuU2V0dGluZ3MoKSB7XG4gICAgJChcIiNjb250ZW50XCIpLmxvYWQoXCJmcmFnbWVudHMvc2V0dGluZ3MuaHRtbFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgfSk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ0aXRsZVwiKS5pbm5lckhUTUwgPSBcIjxpIGNsYXNzPSdpY29uIGZhcyBmYS1hcnJvdy1sZWZ0Jz48L2k+ICBTZXR0aW5nc1wiO1xufVxucmVxdWlyZShcIi4vTGlicmFyeVwiKTtcbnJlcXVpcmUoXCIuL0Nhcm91c2VsXCIpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==
\ No newline at end of file
diff --git a/src/ts/Carousel.ts b/src/ts/Carousel.ts
index 4373476..7e8d00a 100644
--- a/src/ts/Carousel.ts
+++ b/src/ts/Carousel.ts
@@ -7,12 +7,14 @@ var angle = 0;
export function setup()
{
carousel = document.querySelector(".carousel");
- $.get("http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid=76561198250223174&format=json",
+ $.getJSON("http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid=76561198268998707&format=json",
JSON ,(data)=>{
if(data.response.total_count ==0){
console.log("no recent played games");
}
+ console.log(JSON.stringify(data));
});
+
var list = document.getElementsByClassName("carousel__cell");
for (var i = 0; i < list.length; i++)
@@ -29,10 +31,11 @@ export function setup()
function rotateCarousel(target: any)
{
+
angle = (selectedIndex - target.id) * 20 + angle; //*20 to convert in angle
carousel.style.transform = "translateZ(-880px) rotateY(" + angle + "deg)";
-
- selectedIndex = target;
+
+ selectedIndex = target.id;
CellScript(target);
}
diff --git a/src/ts/Library.ts b/src/ts/Library.ts
index 237c356..5cb0da4 100644
--- a/src/ts/Library.ts
+++ b/src/ts/Library.ts
@@ -35,30 +35,30 @@ enum launcher
export function populateGrid()
{
var steamToken;
- const Store = require("../js/store");
- const userAgent = navigator.userAgent.toLowerCase();
- var isElectron = userAgent.indexOf(" electron/") > -1;
- const store = new Store("SteamGamesMetas");
- if (isElectron)
- {
+ // const Store = require("../js/store");
+ // const userAgent = navigator.userAgent.toLowerCase();
+ // var isElectron = userAgent.indexOf(" electron/") > -1;
+ // const store = new Store("SteamGamesMetas");
+ // if (isElectron)
+ // {
- const tknStore = new Store("account");
- steamToken = tknStore.get("steam");
- console.log("steamToken: " + steamToken);
- }
- else
- {
+ // const tknStore = new Store("account");
+ // steamToken = tknStore.get("steam");
+ // console.log("steamToken: " + steamToken);
+ // }
+ // else
+ // {
console.log("AGENT IS NOT ELECTRON, NO HANDLING FOR NOW");
steamToken = "76561198250223174"; //A default steam client id (for testing only)
- }
+ // }
- $.get("https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/" +
+ $.getJSON("https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/" +
"?key=7C218E8D1347C3CD6CB8117E5ED533BC" +
"&steamid=" + steamToken +
"&include_appinfo=1" +
"&include_played_free_games=1" +
- "&appids_filter=", (data) =>
- {
+ "&appids_filter=&format=json", (data) =>
+ {//https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=7C218E8D1347C3CD6CB8117E5ED533BC&steamid=76561198250223174&include_appinfo=1&include_played_free_games=1&appids_filter=
let response: SteamResponse = data.response;
let grid = document.getElementById("library");
@@ -72,11 +72,11 @@ export function populateGrid()
element.onclick = () => { onGameClick(game); }
//Check if the game is already downloaded and if it is, display it
- if(isElectron)
- {
- if(store.get(game.appid) != null)
- gridHtml += '
'
- }
+ // if(isElectron)
+ // {
+ // if(store.get(game.appid) != null)
+ // gridHtml += '
'
+ // }
element.innerHTML = gridHtml;
if (grid != null)