{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/PokerTable.vue?c360","webpack:///./src/views/Game.vue?15ea","webpack:///./src/components/github-icon.svg","webpack:///./src/components/PlayersOnline.vue?44b0","webpack:///./src/plugins/vuetify.js","webpack:///./src/App.vue?7759","webpack:///./src/App.vue","webpack:///./src/views/Game.vue?6ef4","webpack:///./src/components/Login.vue?09cb","webpack:///./src/components/Login.vue?23a0","webpack:///./src/components/Login.vue?942a","webpack:///./src/components/Login.vue","webpack:///./src/components/PokerTable.vue?826a","webpack:///./src/components/CardsDeck.vue?362f","webpack:///./src/services/EventBus.ts","webpack:///./src/services/HubEvents.ts","webpack:///./src/components/CardsDeck.vue?3b4b","webpack:///./src/components/CardsDeck.vue?d9c4","webpack:///./src/components/CardsDeck.vue","webpack:///./src/components/GamesStats.vue?0af8","webpack:///./src/components/GamesStats.vue?c746","webpack:///./src/components/GamesStats.vue?0b9d","webpack:///./src/components/GamesStats.vue","webpack:///./src/components/PlayersOnline.vue?acf2","webpack:///./src/components/PlayersOnline.vue?f179","webpack:///./src/components/PlayersOnline.vue?3cb1","webpack:///./src/components/PlayersOnline.vue","webpack:///./src/components/PokerTable.vue?a40f","webpack:///./src/components/PokerTable.vue?4493","webpack:///./src/components/PokerTable.vue","webpack:///./src/views/Game.vue?3118","webpack:///./src/views/Game.vue?106a","webpack:///./src/views/Game.vue","webpack:///./src/router.ts","webpack:///./src/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","functional","render","_h","_vm","_c","_v","children","classNames","staticClass","style","staticStyle","attrs","rest","class","assign","concat","Vue","use","Vuetify","opts","this","$createElement","_self","staticRenderFns","script","component","player","messages","players","playCard","isCardsRevealed","showCards","startNewGame","gamesPlayed","on","joinGame","model","callback","$$v","valid","expression","groupId","$event","submit","URLSearchParams","location","search","$emit","ToggleSidebar","visible","showSidebar","_s","playersOnline","_e","_l","messageItem","connectionId","directives","rawName","card","newGame","hasVoted","vote","label","EventBus","Events","NEW_GAME_STARTED","HUB_EVENTS","GAME_JOINED","USER_JOINED","USER_LEFT","CARD_PLAYED","CARDS_SHOWN","Connected","Disconnected","JoinGroup","JoinUser","LeaveGroup","NewGame","Send","ShowCards","UpdateUser","UsersJoined","HUB_ACTIONS","PLAY_CARD","SHOW_CARDS","START_NEW_GAME","CARDS","cards","$on","props","Function","game","index","keys","user","charAt","filter","reduce","newObjet","default","components","CardsDeck","GamesStats","PlayersOnline","GitHubIconSVG","Array","Boolean","pokerHub","joined","$gameHub","handleGameJoined","handleUserJoined","handleUserLeft","handleCardPlayed","handleCardsShown","handleNewGameStarted","invoke","history","pushState","url","protocol","host","pathname","path","String","Login","PokerTable","routes","Game","config","productionTip","HUBS","GAME","gameHub","withUrl","build","start","vuetify","router","h","$mount"],"mappings":"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","file":"js/app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PokerTable.vue?vue&type=style&index=0&id=d9713742&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PokerTable.vue?vue&type=style&index=0&id=d9713742&scoped=true&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=style&index=0&lang=css&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"32\",\"aria-labelledby\":\"simpleicons-github-icon\",\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.439.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}})])\n )\n }\n }\n ","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayersOnline.vue?vue&type=style&index=0&id=6acbe027&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayersOnline.vue?vue&type=style&index=0&id=6acbe027&scoped=true&lang=css&\"","import Vue from 'vue';\nimport Vuetify from 'vuetify';\nimport 'vuetify/dist/vuetify.min.css';\n\nVue.use(Vuetify);\n\nconst opts = {};\n\nexport default new Vuetify(opts);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=8402a5c6&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('div',{staticClass:\"full-height\",attrs:{\"id\":\"app\"}},[(!_vm.player)?[_c('h2',[_vm._v(\"Planning Poker\")]),_c('Login',{attrs:{\"player\":_vm.player},on:{\"submit\":_vm.joinGame}})]:_c('PokerTable',{attrs:{\"player\":_vm.player,\"messages\":_vm.messages,\"players-online\":_vm.players,\"play-card\":_vm.playCard,\"is-cards-revealed\":_vm.isCardsRevealed,\"show-cards\":_vm.showCards,\"new-game\":_vm.startNewGame,\"games-played\":_vm.gamesPlayed}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-main',[_c('v-container',[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs12\":\"\",\"sm10\":\"\",\"offset-sm1\":\"\",\"md6\":\"\",\"offset-md3\":\"\"}},[_c('v-card',{staticClass:\"grey lighten-4\"},[_c('v-card-text',[_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-text-field',{attrs:{\"id\":\"name\",\"rules\":[function () { return !!_vm.name || 'This field is required'; }],\"name\":\"name\",\"label\":\"Enter your name here\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('v-text-field',{attrs:{\"id\":\"groupId\",\"name\":\"groupId\",\"label\":\"GroupId\"},model:{value:(_vm.groupId),callback:function ($$v) {_vm.groupId=$$v},expression:\"groupId\"}}),_c('v-btn',{attrs:{\"outlined\":\"\",\"color\":\"indigo\",\"required\":\"\",\"disabled\":!_vm.valid},on:{\"click\":function($event){return _vm.submit()}}},[_vm._v(\"Join\")])],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class Login extends Vue {\n private groupId: string = '';\n\n private valid: boolean = false;\n\n private name: string = '';\n\n private mounted() {\n this.groupId = new URLSearchParams(window.location.search).get('groupId') || '';\n }\n\n private submit() {\n if (!this.valid) {\n return;\n }\n\n this.$emit('submit', {\n name: this.name,\n groupId: this.groupId,\n });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=4750dab4&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pp-grid\"},[_c('div',{staticClass:\"pp-header u-ta-l\"},[_c('button',{staticClass:\"pp-header-menu-toggler\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.ToggleSidebar}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"menu\")])])]),_c('v-flex',{staticClass:\"grey lighten-4 pp-sidebar\",class:{ visible: _vm.showSidebar }},[_c('button',{staticClass:\"pp-sidebar-close\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.ToggleSidebar}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"close\")])]),_c('h3',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.player.groupId))]),_c('players-online',{attrs:{\"user\":_vm.player,\"players\":_vm.playersOnline}}),_c('div',{staticClass:\"u-mt-auto\"},[_c('p',{staticClass:\"text-xs-center mt-5\"},[_vm._v(\" Made by \"),_c('a',{attrs:{\"href\":\"https://www.abrickis.me\",\"target\":\"_blank\",\"title\":\"Andrejs Abrickis | abrickis.me\"}},[_vm._v(\"Andrejs Abrickis\")])]),_c('p',{staticClass:\"text-xs-center\"},[_c('a',{attrs:{\"href\":\"https://github.com/AndrejsAbrickis/signalR-vuejs-demo\",\"target\":\"_blank\"}},[_c('GitHubIconSVG')],1)])])],1),_c('div',{staticClass:\"u-ps-16 u-d-flex u-fd-col\"},[(_vm.gamesPlayed.length > 0)?_c('games-stats',{attrs:{\"games-played\":_vm.gamesPlayed,\"players\":_vm.players}}):_vm._e(),_c('v-container',{staticClass:\"u-pb-16\",attrs:{\"fluid\":\"\",\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},[(_vm.messages.length > 0)?_c('v-flex',{attrs:{\"xs12\":\"\"}},[_c('h3',[_vm._v(\"Played cards\")])]):_vm._e(),_vm._l((_vm.messages),function(messageItem){return _c('v-flex',{key:messageItem.connectionId,attrs:{\"xs4\":\"\"}},[_c('v-card',{staticClass:\"lime lighten-3\"},[_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.players[messageItem.connectionId].name)+\" \"),_c('h4',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isCardsRevealed),expression:\"isCardsRevealed\"}]},[_vm._v(_vm._s(messageItem.card))])])],1)],1)}),_c('v-flex',{attrs:{\"xs10\":\"\",\"offset-xs-1\":\"\"}},[(!_vm.isCardsRevealed && _vm.messages.length > 0)?_c('v-btn',{attrs:{\"color\":\"warning\",\"dark\":\"\"},on:{\"click\":function($event){return _vm.showCards()}}},[_vm._v(\"Show cards\")]):_vm._e(),(_vm.isCardsRevealed)?_c('v-btn',{attrs:{\"color\":\"warning\",\"dark\":\"\"},on:{\"click\":function($event){return _vm.newGame()}}},[_vm._v(\"New game\")]):_vm._e()],1)],2)],1),_c('cards-deck',{staticClass:\"u-mt-auto\",attrs:{\"play-card\":_vm.playCard}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.hasVoted)?_c('div',[_c('h3',[_vm._v(\"Play card\")]),_c('v-container',{staticClass:\"u-pb-16\",attrs:{\"fluid\":\"\",\"grid-list-md\":\"\"}},[_c('v-layout',{attrs:{\"row\":\"\",\"wrap\":\"\"}},_vm._l((_vm.cards),function(card){return _c('v-flex',{key:card.value,attrs:{\"xs4\":\"\",\"sm3\":\"\",\"md2\":\"\"}},[_c('v-card',{staticClass:\"purple white--text\"},[_c('v-card-text',{on:{\"click\":function($event){return _vm.vote(card.value)}}},[_c('h3',[_vm._v(_vm._s(card.label))])])],1)],1)}),1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\n\nexport const EventBus = new Vue();\n\nexport const Events = {\n NEW_GAME_STARTED: 'NEW_GAME_STARTED',\n};\n","/* eslint-disable-next-line */\nexport const HUB_EVENTS = {\n GAME_JOINED: 'GameJoined',\n USER_JOINED: 'UserJoined',\n USER_LEFT: 'UserLeft',\n CARD_PLAYED: 'CardPlayed',\n CARDS_SHOWN: 'CardsShown',\n NEW_GAME_STARTED: 'NewGameStarted',\n // DEPRECATED\n Connected: 'Connected',\n Disconnected: 'Disconnected',\n JoinGroup: 'JoinGroup',\n JoinUser: 'JoinUser',\n LeaveGroup: 'LeaveGroup',\n NewGame: 'NewGame',\n Send: 'Send',\n ShowCards: 'ShowCards',\n UpdateUser: 'UpdateUser',\n UsersJoined: 'UsersJoined',\n};\n\nexport const HUB_ACTIONS = {\n PLAY_CARD: 'PlayCard',\n SHOW_CARDS: 'ShowCards',\n START_NEW_GAME: 'StartNewGame',\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\n/* eslint-disable-next-line no-unused-vars */\nimport Component from 'vue-class-component';\n/* eslint-disable-next-line */\nimport { EventBus, Events } from '@/services';\n\nconst CARDS = [\n { value: 0, label: '0' },\n { value: 0.5, label: '1/2' },\n { value: 1, label: '1' },\n { value: 2, label: '2' },\n { value: 3, label: '3' },\n { value: 5, label: '5' },\n { value: 8, label: '8' },\n { value: 13, label: '13' },\n { value: 20, label: '20' },\n { value: 40, label: '40' },\n { value: 80, label: '80' },\n { value: 100, label: '∞' },\n];\n\n@Component({\n props: {\n playCard: Function,\n },\n})\nexport default class GamesStats extends Vue {\n /* eslint-disable-next-line no-undef */\n private cards: any[] = CARDS;\n\n /* eslint-disable-next-line no-undef */\n private hasVoted: boolean = false;\n\n /* eslint-disable-next-line no-undef */\n private playCard: any;\n\n private mounted(): void {\n EventBus.$on(Events.NEW_GAME_STARTED, this.newGame);\n }\n\n private vote(card: any): void {\n this.hasVoted = true;\n this.playCard(card);\n }\n\n private newGame(): void {\n this.hasVoted = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CardsDeck.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CardsDeck.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CardsDeck.vue?vue&type=template&id=48cbc8b8&\"\nimport script from \"./CardsDeck.vue?vue&type=script&lang=ts&\"\nexport * from \"./CardsDeck.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\"Games stats\")]),_c('v-container',{attrs:{\"fluid\":\"\",\"grid-list-sm\":\"\"}},_vm._l((_vm.gamesPlayed),function(game,index){return _c('v-layout',{key:index,attrs:{\"row\":\"\",\"wrap\":\"\"}},[_c('v-flex',{attrs:{\"xs1\":\"\"}},[_c('span',[_vm._v(_vm._s(index + 1)+\".\")])]),_c('v-flex',{staticClass:\"u-ta-l\",attrs:{\"xs11\":\"\"}},_vm._l((game),function(vote,index){return _c('v-chip',{key:index,attrs:{\"outlined\":\"\",\"color\":\"teal lighten-2 pl-1\"}},[_c('v-avatar',{staticClass:\"teal lighten-2 black--text mr-2\"},[_vm._v(_vm._s(vote.card))]),(_vm.players[vote.connectionId])?_c('span',{staticClass:\"black--text\"},[_vm._v(_vm._s(_vm.players[vote.connectionId].name))]):_c('span',{staticClass:\"black--text\"},[_vm._v(_vm._s(vote.connectionId))])],1)}),1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\n\n@Component({})\nexport default class GamesStats extends Vue {\n @Prop()\n private gamesPlayed!: any;\n\n @Prop()\n private players!: any;\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GamesStats.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GamesStats.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GamesStats.vue?vue&type=template&id=045db406&\"\nimport script from \"./GamesStats.vue?vue&type=script&lang=ts&\"\nexport * from \"./GamesStats.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-ta-l\"},[_c('h4',[_vm._v(\"Online (\"+_vm._s(Object.keys(_vm.players).length)+\")\")]),_c('div',[_c('v-chip',{staticClass:\"grey lighten-2 pl-1\"},[_c('v-avatar',{staticClass:\"orange mr-2\"},[_vm._v(_vm._s(_vm.user.name.charAt(0)))]),_vm._v(\" \"+_vm._s(_vm.user.name)+\" \")],1)],1),_vm._l((_vm.playersOnline),function(player,key){return _c('div',{key:key},[_c('v-chip',{staticClass:\"grey lighten-2 pl-1\"},[(player.name)?_c('v-avatar',{staticClass:\"teal lighten-2 mr-2\"},[_vm._v(\" \"+_vm._s(player.name.charAt(0))+\" \")]):_vm._e(),_vm._v(\" \"+_vm._s(player.name)+\" \")],1)],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { Component, Prop } from 'vue-property-decorator';\n\n@Component({})\nexport default class PlayersOnline extends Vue {\n @Prop()\n private players: any;\n\n @Prop()\n private user: any;\n\n get playersOnline(): any[] {\n return this.players.filter(\n ({ connectionId }: { connectionId: string }) => connectionId !== this.user.connectionId,\n );\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayersOnline.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayersOnline.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PlayersOnline.vue?vue&type=template&id=6acbe027&scoped=true&\"\nimport script from \"./PlayersOnline.vue?vue&type=script&lang=ts&\"\nexport * from \"./PlayersOnline.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PlayersOnline.vue?vue&type=style&index=0&id=6acbe027&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6acbe027\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport CardsDeck from './CardsDeck.vue';\nimport GamesStats from './GamesStats.vue';\nimport PlayersOnline from './PlayersOnline.vue';\nimport GitHubIconSVG from './github-icon.svg';\n\n@Component({\n components: {\n CardsDeck,\n GamesStats,\n PlayersOnline,\n GitHubIconSVG,\n },\n props: {\n gamesPlayed: Array,\n isCardsRevealed: Boolean,\n messages: Array,\n newGame: Function,\n playCard: Function,\n player: Object,\n showCards: Function,\n },\n})\nexport default class PokerTable extends Vue {\n @Prop({ default: [] })\n private playersOnline!: any[];\n\n private showSidebar: boolean = false;\n\n private ToggleSidebar(): void {\n this.showSidebar = !this.showSidebar;\n }\n\n private get players() {\n return this.playersOnline.reduce((object, value) => {\n const newObjet = { ...object, ...{ [value.connectionId]: value } };\n return newObjet;\n }, {});\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PokerTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PokerTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PokerTable.vue?vue&type=template&id=d9713742&scoped=true&\"\nimport script from \"./PokerTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./PokerTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PokerTable.vue?vue&type=style&index=0&id=d9713742&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d9713742\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport Login from '@/components/Login.vue';\nimport PokerTable from '@/components/PokerTable.vue';\nimport {\n EventBus, Events, HUB_ACTIONS, HUB_EVENTS,\n} from '@/services';\n\n@Component({\n components: {\n Login,\n PokerTable,\n },\n})\nexport default class App extends Vue {\n private $gameHub: any; // Dummy field to satisfy linter\n\n private messages: string[] = [];\n\n private player: any = null;\n\n private players: any[] = [];\n\n private pokerHub: any = {};\n\n private joined: boolean = false;\n\n private playersOnline: object = {};\n\n private isCardsRevealed: boolean = false;\n\n private gamesPlayed: any[] = [];\n\n private mounted(): void {\n this.$gameHub.on(HUB_EVENTS.GAME_JOINED, this.handleGameJoined);\n this.$gameHub.on(HUB_EVENTS.USER_JOINED, this.handleUserJoined);\n this.$gameHub.on(HUB_EVENTS.USER_LEFT, this.handleUserLeft);\n this.$gameHub.on(HUB_EVENTS.CARD_PLAYED, this.handleCardPlayed);\n this.$gameHub.on(HUB_EVENTS.CARDS_SHOWN, this.handleCardsShown);\n this.$gameHub.on(HUB_EVENTS.NEW_GAME_STARTED, this.handleNewGameStarted);\n }\n\n private joinGame({ name, groupId }: { name: string; groupId: string }) {\n this.$gameHub.invoke(HUB_EVENTS.JoinGroup, { name, groupId });\n\n if (window.history.pushState) {\n const url = `${window.location.protocol}//${window.location.host}${window.location.pathname}?groupId=${groupId}`;\n window.history.pushState({ path: url }, '', url);\n }\n }\n\n private handleGameJoined(player: unknown) {\n this.player = player;\n }\n\n private handleUserJoined(players: any) {\n this.players = players;\n }\n\n private handleUserLeft(players: any) {\n this.players = players;\n }\n\n private playCard(card: any) {\n this.$gameHub.invoke(HUB_ACTIONS.PLAY_CARD, String(card));\n }\n\n private handleCardPlayed(card: any) {\n this.messages.push(card);\n }\n\n private showCards() {\n this.$gameHub.invoke(HUB_ACTIONS.SHOW_CARDS);\n }\n\n private handleCardsShown() {\n this.isCardsRevealed = true;\n }\n\n private startNewGame() {\n this.$gameHub.invoke(HUB_ACTIONS.START_NEW_GAME);\n }\n\n private handleNewGameStarted() {\n EventBus.$emit(Events.NEW_GAME_STARTED);\n this.gamesPlayed.push(this.messages);\n this.messages = [];\n this.isCardsRevealed = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Game.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Game.vue?vue&type=template&id=6aff7fcc&\"\nimport script from \"./Game.vue?vue&type=script&lang=ts&\"\nexport * from \"./Game.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Game.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\nimport Game from './views/Game.vue';\n\nVue.use(Router);\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'home',\n component: Game,\n },\n ],\n});\n","import Vue from 'vue';\nimport { HubConnectionBuilder } from '@aspnet/signalr';\nimport vuetify from './plugins/vuetify';\nimport App from './App.vue';\nimport router from './router';\n\nVue.config.productionTip = false;\n\nconst HUBS = {\n GAME: '/gamehub',\n};\n\nconst gameHub = new HubConnectionBuilder().withUrl(HUBS.GAME).build();\ngameHub.start();\n\nVue.prototype.$gameHub = gameHub;\n\nnew Vue({\n vuetify,\n router,\n render: (h) => h(App),\n}).$mount('#app');\n"],"sourceRoot":""}