{"version":3,"sources":["webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/MatchStartGameDialog.vue?1a6c","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/MatchGameIntegrationButton.vue?ccd9","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/MatchGameIntegrationButton.vue","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/MatchGameIntegrationButton.vue?5f0f","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/MatchGameIntegrationButton.vue?59fb","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/index.ts","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChatMessage.vue?74df","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/MatchTeamPlayersListMobile.vue?fb27","webpack:///./src/renderer/modules/match/components/MatchTeam/MatchTeam.vue?6951","webpack:///./node_modules/vuetify-loader/lib/runtime/installDirectives.js","webpack:///./src/renderer/modules/match/views/Match/Match.vue?a9c6","webpack:///./src/renderer/modules/match/views/FFAMatch/FFAMatch.vue?3fa6","webpack:///./src/renderer/modules/match/views/FFAMatch/FFAMatch.vue","webpack:///./src/renderer/modules/match/views/FFAMatch/FFAMatch.vue?6db9","webpack:///./src/renderer/modules/match/views/FFAMatch/FFAMatch.vue?2675","webpack:///./src/renderer/modules/match/views/FFAMatch/index.ts","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/MatchCoreRulesDialog.vue?2f6d","webpack:///./src/renderer/modules/shared/components/UserAvatar/UserAvatar.vue?6cb8","webpack:///./src/renderer/modules/shared/components/UserAvatar/UserAvatar.vue?21af","webpack:///./src/renderer/modules/shared/components/UserAvatar/UserAvatar.vue","webpack:///./src/renderer/modules/shared/components/UserAvatar/UserAvatar.vue?dfd8","webpack:///./src/renderer/modules/shared/components/UserAvatar/UserAvatar.vue?3d25","webpack:///./src/renderer/modules/shared/components/UserAvatar/index.ts","webpack:///./src/renderer/modules/shared/components/ConfirmDialog/ConfirmDialog.vue?4b70","webpack:///./src/renderer/modules/shared/components/ConfirmDialog/ConfirmDialog.vue","webpack:///./src/renderer/modules/shared/components/ConfirmDialog/ConfirmDialog.vue?b3b6","webpack:///./src/renderer/modules/shared/components/ConfirmDialog/ConfirmDialog.vue?9564","webpack:///./src/renderer/modules/shared/components/ConfirmDialog/index.ts","webpack:///./src/renderer/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue?e292","webpack:///./src/renderer/modules/match/components/MatchRules/MatchRules.vue?a949","webpack:///./src/renderer/modules/match/components/MatchRules/MatchRules.vue","webpack:///./src/renderer/modules/match/components/MatchRules/MatchRules.vue?945d","webpack:///./src/renderer/modules/match/components/MatchRules/MatchRules.vue?fcad","webpack:///./src/renderer/modules/match/components/MatchRules/index.ts","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/MatchSystemMessage.vue?0da4","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/MatchSubmitResult.vue?3033","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/MatchSubmitResult.vue","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/MatchSubmitResult.vue?85d7","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/MatchSubmitResult.vue?43e3","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/index.ts","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationButton/MatchGameIntegrationButton.vue?f8a2","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?87f4","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?0633","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?fb95","webpack:///./src/renderer/modules/shared/components/TeamAvatar/index.ts","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChat.vue?0d35","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChatMessage.vue?dd94","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChatMessage.vue","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChatMessage.vue?e228","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChatMessage.vue?17fd","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChat.vue","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChat.vue?a825","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChat.vue?539d","webpack:///./src/renderer/modules/match/components/MatchChat/index.ts","webpack:///./src/renderer/modules/match/components/MatchTeam/MatchTeam.vue?7d72","webpack:///./src/renderer/modules/match/components/MatchTeam/MatchTeam.vue","webpack:///./src/renderer/modules/match/components/MatchTeam/MatchTeam.vue?4259","webpack:///./src/renderer/modules/match/components/MatchTeam/MatchTeam.vue?caca","webpack:///./src/renderer/modules/match/components/MatchTeam/index.ts","webpack:///./src/renderer/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue?b650","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/MatchGameIntegrationStatusBar.vue?c0b1","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/RemindManualSubmitResultDialog.vue?1eb2","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/RemindManualSubmitResultDialog.vue","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/RemindManualSubmitResultDialog.vue?42fb","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/RemindManualSubmitResultDialog.vue?2160","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/index.ts","webpack:///./src/renderer/modules/match/components/RemindManualSubmitResultDialog/RemindManualSubmitResultDialog.vue?c93f","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?e5d6","webpack:///./src/renderer/modules/match/views/Match/Match.vue?0731","webpack:///./src/renderer/modules/match/views/Match/Match.vue","webpack:///./src/renderer/modules/match/views/Match/Match.vue?9e63","webpack:///./src/renderer/modules/match/views/Match/Match.vue?8a0f","webpack:///./src/renderer/modules/match/views/Match/index.ts","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/MatchGameIntegrationStatusBar.vue?ea6c","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/MatchGameIntegrationStatusBar.vue","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/MatchGameIntegrationStatusBar.vue?5de3","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/MatchGameIntegrationStatusBar.vue?79ca","webpack:///./src/renderer/modules/match/components/MatchGameIntegrationStatusBar/index.ts","webpack:///./src/renderer/utils/avatar.ts","webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/MatchStartGameDialog.vue?8cbe","webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/MatchStartGameDialog.vue","webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/MatchStartGameDialog.vue?d2c9","webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/MatchStartGameDialog.vue?f6e6","webpack:///./src/renderer/modules/match/components/MatchStartGameDialog/index.ts","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/MatchCoreRulesDialog.vue?3cbb","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/MatchCoreRulesDialog.vue","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/MatchCoreRulesDialog.vue?c1f9","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/MatchCoreRulesDialog.vue?ce78","webpack:///./src/renderer/modules/match/components/MatchCoreRulesDialog/index.ts","webpack:///./src/renderer/modules/match/components/MatchSubmitResult/MatchSubmitResult.vue?c078","webpack:///./src/renderer/modules/match/components/MatchChat/MatchChat.vue?a5f8","webpack:///./src/renderer/modules/match/views/FFAMatch/FFAMatch.vue?ca0f","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/FFAMatchTeamMobile.vue?d86f","webpack:///./src/renderer/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue?35c2","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/MatchTeamPlayersListMobile.vue?fc1c","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/MatchTeamPlayersListMobile.vue","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/MatchTeamPlayersListMobile.vue?d1a2","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/MatchTeamPlayersListMobile.vue?0f5a","webpack:///./src/renderer/modules/match/components/MatchTeamPlayersListMobile/index.ts","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/FFAMatchTeamMobile.vue?70bf","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/FFAMatchTeamMobile.vue","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/FFAMatchTeamMobile.vue?5c91","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/FFAMatchTeamMobile.vue?931b","webpack:///./src/renderer/modules/match/components/FFAMatchTeamMobile/index.ts","webpack:///./src/renderer/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue","webpack:///./src/renderer/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue?f5ff","webpack:///./src/renderer/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue?3f6c","webpack:///./src/renderer/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue?473f","webpack:///./src/renderer/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue","webpack:///./src/renderer/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue?a7d3","webpack:///./src/renderer/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue?d7fd","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/MatchIntegrationResultPreview.vue?5007","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/MatchIntegrationResultPreview.vue","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/MatchIntegrationResultPreview.vue?275d","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/MatchIntegrationResultPreview.vue?f3cd","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/index.ts","webpack:///./src/renderer/modules/match/components/MatchIntegrationResultPreview/MatchIntegrationResultPreview.vue?69d9","webpack:///./src/renderer/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue?ffa9","webpack:///./src/renderer/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue","webpack:///./src/renderer/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue?0cc8","webpack:///./src/renderer/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue?86d9","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/MatchSystemMessage.vue?8bc9","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/MatchSystemMessage.vue","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/MatchSystemMessage.vue?6b23","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/MatchSystemMessage.vue?6510","webpack:///./src/renderer/modules/match/components/MatchSystemMessage/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","key","fn","ref","on","_g","staticClass","connectStatus","_v","_s","model","value","callback","$$v","isOpen","expression","userInfo","$event","$t","staticRenderFns","matchModule","$store","integrationModule","isLoading","isRequested","match","matchId","connectionStatus","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDialog","VIcon","VMenu","VSpacer","module","exports","directives","options","extendOptions","i","$vuetify","breakpoint","mobile","matchGame","teams","myTeam","checkIns","checkInEndTimeLeft","isWaitingState","isScoreSubmittable","isDisputedState","_e","winnerString","proxy","_f","checkInEndTime","isDraftVisible","leftTeam","rightTeam","isCaptain","isFooterVisible","showMatchCoreRulesDialog","isReadyState","isTeamReady","isAllCheckedIn","isStartGameDialogVisible","matchSubmitButtonText","isMatchStateInProgress","isResultSubmittedState","isPlayingState","onSubmitResultClicked","domProps","tournament","name","gameRound","relatedTournament","groupNumber","back","myTeamCheckIns","_l","team","hasTeamReady","matchTeamId","logo","isSubmitResultDialogVisible","isMatchIntegrationResultPreviewVisible","isCheckInDialogVisible","updateMatchGameState","scheduleCheckInDuration","capacityMinPlayersPerTeam","setReady","isSubmitResultConfirmDialogVisible","onConfirmOverwriteResult","isManageRosterDialogVisible","matchGameId","isRemindManualSubmitResultDialogVisible","game","draftSessionId","draftTeamNumber","userModule","realtimeConnectionCancellationToken","now","tickTimer","joinTimer","isPlaying","isAutoGetGameEvidence","start","state","onTick","realtimeConnection","$toast","error","console","onPlayerCheckIn","onPlayerCheckInAll","onMatchTeamReady","onMatchTeamReadyAll","onDraftSessionCreated","onMatchGameRosterUpdated","onLolJoinCustomGame","setInterval","onIsPlayingStateChanged","stage","setting","stageFormat","FreeForAll","$router","push","cancel","off","clearInterval","clearTimeout","setJoiningCustomGame","stop","memberId","checkIn","find","member","isCheckedIn","userId","Ready","fetchMatchGame","getMessage","readyTeams","fetchMatch","getTime","Waiting","checkInStartTime","updateCheckInEndTimeLeft","matchGameResults","length","timeLeft","Math","round","hr","floor","min","sec","toString","padStart","captainReady","setMatchCoreRulesDialogVisible","data","removedMembers","lobby","setLeagueLobby","memberIds","map","teamOneMatchTeamId","role","Captain","position","indexOf","setTimeout","joinCustomGame","filter","every","params","tournamentId","mobileFooterVisible","setMatchFooterVisible","some","Initial","Playing","ResultSubmitted","Disputed","Completed","InProgress","winnerIds","matchGameResult","isFinal","result","Win","winnerTeamNames","matchTeam","join","HTMLDivElement","components","DraftSessionDialog","MatchCheckInDialog","MatchTeam","MatchSubmitResult","MatchSystemMessage","MatchGameIntegrationStatusBar","MatchChat","MatchStartGameDialog","MatchGameIntegrationButton","TeamAvatar","MatchIntegrationResultPreview","ConfirmDialog","AppButton","MatchCoreRulesDialog","ManageRosterDialog","RemindManualSubmitResultDialog","DraftSessionWildRift","MatchSummaryMobile","VAvatar","VBadge","VChip","VCol","VContainer","VFooter","VProgressCircular","VRow","style","width","src","$emit","imageUrl","border","default","isModalVisible","title","content","onConfirmClicked","onCancelClicked","type","Boolean","required","detailRules","close","_k","keyCode","visible","preventDefault","submitForm","isValid","useScoreInput","disableResultInput","matchTeams","validScore","score","$set","_n","isTeamAWinner","isMobile","uploadedEvidence","file","index","currentGameRound","getMemberName","createTime","size","filesSelected","fileRecords","authModule","v","fileRecordsForUpload","getMatchEvidence","modalVisible","getMatchGameEvidence","response","status","Ok","payload","warning","dismissable","nickname","resultRequest","Lose","submitMatchGameResults","res","success","icon","uploadSuccessResult","uploadFailResult","fileRecord","submitMatchGameEvidence","fileName","fileRecordsNewlySelected","validFileRecords","concat","uploadFiles","document","addEventListener","onPaste","removeEventListener","event","clipboardData","item","items","canUpload","getAsFile","userResult","HTMLFormElement","String","VAlert","VBtnToggle","VForm","VImg","VList","VListItem","VListItemAction","VListItemAvatar","VListItemContent","VListItemSubtitle","VListItemTitle","VTextField","VToolbar","VToolbarTitle","class","noGutters","teamLogo","color","teamNameInitial","teamName","substring","toUpperCase","message","Date","isAdmin","getTeamNameByMatchTeamId","rawName","active","isChatActive","disabledText","onSubmit","focus","blur","chatMessage","compact","isSystemMessage","fromMe","isSelf","avatar","time","primary","isLeftSided","secondary","timer","UserAvatar","messages","currentPage","hasMorePage","entries","observer","reverse","isIntersecting","fetchChatMessages","$nextTick","goTo","container","ev","relatedTarget","classList","contains","chatContent","onChatContentScroll","bindEventListeners","onMatchChat","matchChatMessage","unshift","scrollTop","scrollHeight","trim","chatInput","send","page","getChatMessages","oldScrollHeight","matchGameState","isTeamNotReady","Object","HTMLInputElement","MatchChatMessage","Intersect","location","staticStyle","gameAccountNickname","VChipGroup","gameName","gameList","g","text","gameTypes","gameType","code","bestof","totalGameRound","leftCheckIns","rightCheckIns","onMatchGameChanged","replace","leftResult","sort","a","b","rightResult","leftScore","rightScore","visibleMatchGameState","updateStatusInformation","isElectron","includes","VSlideYTransition","VSystemBar","getAvatar","avatarInitial","initials","shift","pop","checkInDuration","minTeamMember","isUnderstood","MatchRules","VCheckbox","isVisible","loading","isMatchCoreRulesDialogVisible","getGameStateText","_t","opponentNum","openTeamDialog","selfTeam","selectedTeam","isTeamDialogVisible","player","getTournamentTeam","tournamentTeam","Array","VAppBar","self","substr","ok","ready","isDialogVisible","gameState","teamId","FFAMatchTeamMobile","MatchTeamPlayersListMobile","Number","DraftSessionLeague","DraftSession","resultEvidence","matchResult","isWinner","matchEvidence","currentGameMode","ARAM","isSoloGame","evidence","log","matchEvidenceDataURL","info","createResultRequestPayload","isUserWinner","isUserTeamA","currentUserTeam","userResultEvidence","gameMode","checkAllowCheckIn","isCheckingIn","isAllowCheckIn","onClose","rules","offsetHeight","_b","appendMessage","leagueLobby","MatchGameState","password","joinCustomGameRoom","updateSystemInformation","isSupportGameIntegration","leagueMap","joinCustomGameFailed","isJoiningCustomGame","VTooltip"],"mappings":"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","file":"js/match-room.983f9386.js","sourcesContent":["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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchStartGameDialog.vue?vue&type=style&index=0&id=486d72e1&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchStartGameDialog.vue?vue&type=style&index=0&id=486d72e1&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"transition\":\"scale-transition\",\"origin\":\"bottom right\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"integration-status-btn\",attrs:{\"color\":_vm.connectStatus ? 'success' : 'error',\"text\":\"\",\"fixed\":\"\",\"dark\":\"\",\"fab\":\"\",\"bottom\":\"\",\"right\":\"\",\"depressed\":\"\"}},on),[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(_vm._s(_vm.connectStatus ? 'mdi-wifi-check' : 'mdi-wifi-alert'))])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-dialog',{attrs:{\"max-width\":\"590\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Game Integration Status\")]),_c('v-card-text',[_vm._v(\" Status: \"+_vm._s(_vm.connectStatus)+\" \")]),_c('v-card-text',[_vm._v(_vm._s(_vm.userInfo))]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchAssistanceRequestDialog.Cancel'))+\" \")])],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\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { MatchAPI, ResponseStatus } from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport matchStore from '../../match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\n\r\n@Component\r\nexport default class MatchGameIntegrationButton extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n isOpen: boolean = false\r\n isLoading: boolean = false\r\n isRequested: boolean = false\r\n\r\n get matchId() {\r\n return this.matchModule.match!.matchId\r\n }\r\n\r\n get connectStatus() {\r\n return this.integrationModule.connectionStatus\r\n }\r\n\r\n get userInfo() {\r\n return this.integrationModule.userInfo\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchGameIntegrationButton.vue?vue&type=template&id=09a74a0b&scoped=true&\"\nimport script from \"./MatchGameIntegrationButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchGameIntegrationButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchGameIntegrationButton.vue?vue&type=style&index=0&id=09a74a0b&lang=scss&scoped=true&\"\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 \"09a74a0b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon,VMenu,VSpacer})\n","import MatchGameIntegrationButton from './MatchGameIntegrationButton.vue'\r\nexport default MatchGameIntegrationButton\r\nexport { MatchGameIntegrationButton }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChatMessage.vue?vue&type=style&index=0&id=01514eb4&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChatMessage.vue?vue&type=style&index=0&id=01514eb4&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeamPlayersListMobile.vue?vue&type=style&index=0&id=3509d384&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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeamPlayersListMobile.vue?vue&type=style&index=0&id=3509d384&scoped=true&lang=css&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeam.vue?vue&type=style&index=0&id=2ab3d61d&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeam.vue?vue&type=style&index=0&id=2ab3d61d&lang=scss&scoped=true&\"","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installDirectives (component, directives) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.directives = component.exports.options.directives\n }\n\n options.directives = options.directives || {}\n\n for (var i in directives) {\n options.directives[i] = options.directives[i] || directives[i]\n }\n}\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./Match.vue?vue&type=style&index=0&id=422426fa&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./Match.vue?vue&type=style&index=0&id=422426fa&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{ref:\"match-content\",staticClass:\"match-layout pa-0\",attrs:{\"fluid\":\"\"}},[(!_vm.$vuetify.breakpoint.mobile)?[(_vm.isElectron)?_c('MatchGameIntegrationStatusBar'):_vm._e(),_c('v-row',{staticClass:\"flex-grow-0\",attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"match-header\"},[(_vm.tournament)?_c('div',{staticClass:\"text-center tournament-name\",domProps:{\"textContent\":_vm._s(_vm.tournament.name)}}):_vm._e(),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"text-center round-group offset-md-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.Round'))+\" \"+_vm._s(_vm.matchGame.gameRound)+\" \"),(_vm.match.relatedTournament)?[_vm._v(\" - \"+_vm._s(_vm.$t('Match.Group'))+\" \"+_vm._s(_vm.match.relatedTournament.groupNumber)+\" \")]:_vm._e()],2)]),_c('v-col',{staticClass:\"text-uppercase\",attrs:{\"cols\":\"1\"}},[_c('v-btn',{staticClass:\"title font-weight-bold ml-2\",attrs:{\"x-large\":\"\",\"color\":\"white\",\"outlined\":\"\",\"block\":\"\"},on:{\"click\":_vm.back}},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"left\":\"\",\"x-large\":\"\"}},[_vm._v(\" mdi-arrow-left-bold \")]),_vm._v(\" \"+_vm._s(_vm.$t('Match.Back'))+\" \")],1)],1)],1)],1)],1),_c('v-row',{staticClass:\"match-content\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"match-opponent left-opponent\",attrs:{\"cols\":\"3\"}},[(_vm.myTeam)?_c('MatchTeam',{attrs:{\"location\":\"left\",\"check-ins\":_vm.myTeamCheckIns,\"team-name\":_vm.myTeam.name}}):_vm._e()],1),_c('v-col',{staticClass:\"match-info\",attrs:{\"cols\":\"6\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-uppercase\",attrs:{\"cols\":\"12\"}},[(_vm.isLoading)?[_c('div',{staticClass:\"text-center mt-10\"},[_c('v-progress-circular',{staticClass:\"mt-10\",attrs:{\"indeterminate\":\"\"}})],1)]:(_vm.isWaitingState)?[_c('div',{staticClass:\"text-center mt-2 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.CheckInTimeRemaining'))+\" \")]),_c('div',{staticClass:\"match-checkin-counter text-center mt-2\"},[_vm._v(\" \"+_vm._s(_vm.checkInEndTimeLeft)+\" \")])]:(_vm.isInitialState)?[_c('div',{staticClass:\"headline text-center mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.WaitingForOpponent'))+\" \")])]:(_vm.isReadyState)?[_c('div',{staticClass:\"display-1 text-center mt-10\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.WaitingForCaptainToStartGame'))+\" \")])]:(_vm.isStateInProgress)?[_c('div',{staticClass:\"display-1 text-center mt-4\"},[(_vm.isPlayingState)?[_vm._v(\" \"+_vm._s(_vm.$t('Match.MatchInProgress'))+\" \"),(!_vm.isScoreSubmittable)?_c('div',{staticClass:\"caption mt-7\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.RemindTeamLeaderUploadMatchResultMessage'))+\" \")]):_vm._e()]:_vm._e()],2)]:(_vm.isCompletedState)?[_c('div',{staticClass:\"display-1 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.GameCompleted'))+\" \")])]:_vm._e()],2)],1)],1),_c('div',{staticClass:\"essentials\"},[_c('v-container',{staticClass:\"essentials-content\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('MatchSystemMessage'),_c('MatchChat',{attrs:{\"teams\":{ leftTeam: null, rightTeam: null, teams: _vm.teams },\"disabled\":!_vm.isCaptain,\"disabledText\":_vm.$t('MatchChat.FFAChatDisabledCaptainOnly')}})],1)],1),_c('v-row',{staticClass:\"buttons mt-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('AppButton',{attrs:{\"label\":_vm.$t('Match.CoreRules'),\"icon\":\"mdi-script-text-outline\",\"theme\":\"transparent\",\"buttonType\":\"match\"},on:{\"click\":_vm.showMatchCoreRulesDialog}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"4\"}},[(_vm.draftSessionId)?_c('AppButton',{staticClass:\"mx-4\",attrs:{\"label\":_vm.$t('DraftSession.BanPickButton'),\"icon\":\"mdi-cancel\",\"theme\":\"transparent\",\"buttonType\":\"match\"},on:{\"click\":function($event){_vm.isDraftVisible = true}}}):_vm._e()],1),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"4\"}},[(_vm.isReadyState || _vm.isWaitingState)?_c('AppButton',{attrs:{\"theme\":\"blue\",\"label\":_vm.$t('Match.StartGame'),\"icon\":\"mdi-flag-checkered\",\"disabled\":!_vm.isCaptain ||\n _vm.isTeamReady ||\n !_vm.isAllCheckedIn ||\n _vm.isWaitingState,\"buttonType\":\"match\"},on:{\"click\":function($event){_vm.isStartGameDialogVisible = true}}}):_c('AppButton',{staticClass:\"text-uppercase\",attrs:{\"theme\":\"purple\",\"label\":_vm.matchSubmitButtonText,\"icon\":\"mdi-upload-multiple\",\"disabled\":!_vm.isMatchStateInProgress ||\n (!_vm.isResultSubmittedState && !_vm.isPlayingState),\"buttonType\":\"match\"},on:{\"click\":_vm.onSubmitResultClicked}})],1)],1)],1)],1)],1),_c('v-col',{staticClass:\"match-opponent ffa-opponents\",attrs:{\"cols\":\"3\"}},[_c('v-container',{staticClass:\"ffa-container\"},_vm._l((_vm.teams),function(team){return _c('v-badge',{key:(\"opponent-\" + (team.matchTeamId)),staticClass:\"ma-2\",attrs:{\"avatar\":\"\",\"overlap\":\"\",\"bottom\":\"\",\"offset-x\":\"15\",\"offset-y\":\"15\",\"color\":_vm.hasTeamReady(team.matchTeamId) ? \"green\" : \"red\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [_c('v-avatar',[(_vm.hasTeamReady(team.matchTeamId))?_c('v-icon',[_vm._v(\"mdi-check-bold\")]):_c('v-icon',[_vm._v(\"mdi-close-thick\")])],1)]},proxy:true}],null,true)},[_c('TeamAvatar',{attrs:{\"teamLogo\":team.logo,\"teamName\":team.name,\"size\":\"62\",\"color\":\"secondary\",\"no-gutters\":\"\"}})],1)}),1)],1)],1)]:[(_vm.matchGame)?_c('div',{staticClass:\"match-content mobile d-flex flex-column\"},[_c('div',{staticClass:\"text-center my-0\"},[_c('MatchSummaryMobile',{attrs:{\"match-game\":_vm.matchGame,\"teams\":_vm.teams,\"self-team\":_vm.myTeam,\"checkIns\":_vm.matchGame.checkIns},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(_vm.checkInEndTimeLeft && _vm.isWaitingState)?_c('div',{staticClass:\"heading font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.checkInEndTimeLeft)+\" \")]):(_vm.isStateInProgress)?[(!_vm.isScoreSubmittable || _vm.isDisputedState)?_c('div',{staticClass:\"text-center\"},[(_vm.isPlayingState)?[(!_vm.isScoreSubmittable)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.RemindTeamLeaderUploadMatchResultMessage'))+\" \")]):_vm._e()]:[(_vm.isDisputedState)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.ScoreIncorrectMessage'))+\" \")]):_vm._e()]],2):_vm._e()]:(_vm.isCompletedState)?[_c('div',{staticClass:\"text-center\"},[(_vm.score)?[(_vm.winnerString)?_c('div',{staticClass:\"mt-2\"},[_vm._v(\" \"+_vm._s(_vm.winnerString)+\" \"+_vm._s(_vm.$t('Match.Wins'))+\" \")]):_vm._e()]:[_vm._v(\" \"+_vm._s(_vm.$t('Match.GameCompleted'))+\" \")]],2)]:_vm._e()]},proxy:true},{key:\"configuration\",fn:function(){return [(_vm.matchGame)?_c('div',[_c('v-chip',{attrs:{\"color\":\"transparent\",\"small\":\"\"}},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\" mdi-calendar-month \")])],1),(_vm.matchGame)?_c('div',{staticClass:\"font-weight-bold black--text\"},[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.matchGame.checkInEndTime,'LLL'))+\" \")]):_vm._e()],1)],1):_vm._e()]},proxy:true},{key:\"message\",fn:function(){return [_c('MatchSystemMessage')]},proxy:true}],null,false,97597591)},[(_vm.draftSessionId)?_c('div',{staticClass:\"mt-2\"},[_c('v-btn',{attrs:{\"outlined\":\"\",\"block\":\"\"},on:{\"click\":function($event){_vm.isDraftVisible = true}}},[_vm._v(_vm._s(_vm.$t('DraftSession.BanPickButton')))])],1):_vm._e()])],1),_c('div',{staticClass:\"black mt-0 flex-grow-1\",attrs:{\"no-gutters\":\"\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('MatchChat',{attrs:{\"reverse\":\"\",\"compact\":\"\",\"teams\":{ leftTeam: null, rightTeam: null, teams: _vm.teams },\"disabled\":!_vm.isCaptain,\"disabledText\":_vm.$t('MatchChat.FFAChatDisabledCaptainOnly')},on:{\"chatfocus\":function($event){_vm.isFooterVisible = false},\"chatblur\":function($event){_vm.isFooterVisible = true}}})],1)])]):_vm._e(),(_vm.isFooterVisible)?_c('v-footer',{staticClass:\"font-weight-medium px-0\",attrs:{\"fixed\":\"\",\"color\":\"black\"}},[_c('v-col',{staticClass:\"black py-0\",attrs:{\"cols\":\"6\"}},[_c('AppButton',{attrs:{\"buttonType\":\"tournament\",\"size\":\"full-width\",\"theme\":\"transparent\",\"label\":_vm.$t('Match.CoreRules'),\"icon\":\"mdi-script-text-outline\"},on:{\"click\":_vm.showMatchCoreRulesDialog}})],1),_c('v-col',{staticClass:\"black py-0\",attrs:{\"cols\":\"6\"}},[(_vm.isReadyState || _vm.isWaitingState)?_c('AppButton',{attrs:{\"buttonType\":\"tournament\",\"theme\":\"blue\",\"size\":\"full-width\",\"label\":_vm.$t('Match.StartGame'),\"icon\":\"mdi-flag-checkered\",\"disabled\":_vm.isWaitingState || !_vm.isCaptain || _vm.isTeamReady || !_vm.isAllCheckedIn},on:{\"click\":function($event){_vm.isStartGameDialogVisible = true}}}):_c('AppButton',{staticClass:\"text-uppercase\",attrs:{\"buttonType\":\"tournament\",\"theme\":\"blue\",\"size\":\"full-width\",\"label\":_vm.matchSubmitButtonText,\"icon\":\"mdi-upload-multiple\",\"disabled\":!_vm.isMatchStateInProgress ||\n (!_vm.isResultSubmittedState && !_vm.isPlayingState)},on:{\"click\":_vm.onSubmitResultClicked}})],1)],1):_vm._e()],_c('MatchSubmitResult',{attrs:{\"visible\":_vm.isSubmitResultDialogVisible,\"title\":_vm.$t('Match.SubmitFile'),\"disable-result-input\":\"\"},on:{\"update:visible\":function($event){_vm.isSubmitResultDialogVisible=$event}}}),_c('MatchIntegrationResultPreview',{attrs:{\"visible\":_vm.isMatchIntegrationResultPreviewVisible},on:{\"update:visible\":function($event){_vm.isMatchIntegrationResultPreviewVisible=$event}}}),_c('MatchCheckInDialog',{attrs:{\"is-visible\":_vm.isCheckInDialogVisible},on:{\"update:isVisible\":function($event){_vm.isCheckInDialogVisible=$event},\"update:is-visible\":function($event){_vm.isCheckInDialogVisible=$event},\"close\":_vm.updateMatchGameState}}),(_vm.tournament)?_c('MatchStartGameDialog',{attrs:{\"is-visible\":_vm.isStartGameDialogVisible,\"checkInDuration\":_vm.tournament.scheduleCheckInDuration * 60,\"minTeamMember\":_vm.tournament.capacityMinPlayersPerTeam},on:{\"update:isVisible\":function($event){_vm.isStartGameDialogVisible=$event},\"update:is-visible\":function($event){_vm.isStartGameDialogVisible=$event},\"confirm\":_vm.setReady,\"cancel\":function($event){_vm.isStartGameDialogVisible = false}}}):_vm._e(),_c('ConfirmDialog',{attrs:{\"is-visible\":_vm.isSubmitResultConfirmDialogVisible,\"title\":(\"\" + (_vm.$t('Match.Warning'))),\"content\":(\"\" + (_vm.$t('Match.ConfirmOverwriteResult')))},on:{\"update:isVisible\":function($event){_vm.isSubmitResultConfirmDialogVisible=$event},\"update:is-visible\":function($event){_vm.isSubmitResultConfirmDialogVisible=$event},\"confirm\":_vm.onConfirmOverwriteResult,\"cancel\":function($event){_vm.isSubmitResultConfirmDialogVisible = false}}}),_c('MatchCoreRulesDialog'),(_vm.matchGame)?_c('ManageRosterDialog',{attrs:{\"visible\":_vm.isManageRosterDialogVisible,\"match-game-id\":_vm.matchGame.matchGameId},on:{\"update:visible\":function($event){_vm.isManageRosterDialogVisible=$event}}}):_vm._e(),(_vm.tournament)?_c('RemindManualSubmitResultDialog',{attrs:{\"is-visible\":_vm.isRemindManualSubmitResultDialogVisible,\"game\":_vm.tournament.game},on:{\"update:isVisible\":function($event){_vm.isRemindManualSubmitResultDialogVisible=$event},\"update:is-visible\":function($event){_vm.isRemindManualSubmitResultDialogVisible=$event}}}):_vm._e(),(_vm.draftSessionId)?_c('DraftSessionDialog',{attrs:{\"game\":_vm.tournament.game,\"draft-session-id\":_vm.draftSessionId,\"draft-team-number\":_vm.draftTeamNumber,\"visible\":_vm.isDraftVisible},on:{\"update:visible\":function($event){_vm.isDraftVisible=$event}}}):_vm._e()],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\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\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\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch, Ref } from 'vue-property-decorator'\r\nimport MatchTeam from '@/modules/match/components/MatchTeam'\r\nimport MatchCoreRulesDialog from '@/modules/match/components/MatchCoreRulesDialog'\r\nimport MatchStartGameDialog from '@/modules/match/components/MatchStartGameDialog'\r\n\r\nimport RemindManualSubmitResultDialog from '@/modules/match/components/RemindManualSubmitResultDialog'\r\nimport MatchSubmitResult from '@/modules/match/components/MatchSubmitResult'\r\nimport MatchIntegrationResultPreview from '@/modules/match/components/MatchIntegrationResultPreview'\r\nimport MatchSystemMessage from '@/modules/match/components/MatchSystemMessage'\r\nimport MatchGameIntegrationStatusBar from '@/modules/match/components/MatchGameIntegrationStatusBar'\r\nimport MatchChat from '@/modules/match/components/MatchChat'\r\nimport AppButton from '@/modules/shared/components/AppButton'\r\nimport {\r\n CheckInEntity,\r\n CheckInRoleType,\r\n GameResult,\r\n LeagueLobby,\r\n MatchAPI,\r\n MatchGameState,\r\n MatchState\r\n} from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { now } from '@/utils/time'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport MatchCheckInDialog from '@/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue'\r\nimport MatchGameIntegrationButton from '@/modules/match/components/MatchGameIntegrationButton'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport ManageRosterDialog from '@/modules/match/components/ManageRosterDialog'\r\nimport LeagueIntegration from '@/utils/integration/lol'\r\nimport { isElectron } from '@/utils/electron'\r\nimport DraftSessionWildRift from '@/modules/draft/components/DraftSessionWildRift/DraftSessionWildRift.vue'\r\nimport DraftSessionDialog from '@/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue'\r\nimport MatchSummaryMobile from '@/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue'\r\nimport { StageFormatType } from '@/api/stage'\r\n\r\nimport TeamAvatar from '@/modules/shared/components/TeamAvatar'\r\n\r\ninterface MatchGameRosterUpdatedResponse {\r\n addedMembers: string[]\r\n removedMembers: string[]\r\n}\r\n\r\n@Component({\r\n components: {\r\n DraftSessionDialog,\r\n MatchCheckInDialog,\r\n MatchTeam,\r\n MatchSubmitResult,\r\n MatchSystemMessage,\r\n MatchGameIntegrationStatusBar,\r\n MatchChat,\r\n MatchStartGameDialog,\r\n MatchGameIntegrationButton,\r\n TeamAvatar,\r\n\r\n MatchIntegrationResultPreview,\r\n ConfirmDialog,\r\n AppButton,\r\n MatchCoreRulesDialog,\r\n ManageRosterDialog,\r\n RemindManualSubmitResultDialog,\r\n DraftSessionWildRift,\r\n MatchSummaryMobile\r\n }\r\n})\r\nexport default class FFAMatch extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n isCheckInDialogVisible: boolean = false\r\n isSubmitResultDialogVisible: boolean = false\r\n isSubmitResultConfirmDialogVisible: boolean = false\r\n isStartGameDialogVisible: boolean = false\r\n isManageRosterDialogVisible: boolean = false\r\n isMatchIntegrationResultPreviewVisible: boolean = false\r\n isRemindManualSubmitResultDialogVisible: boolean = false\r\n checkInEndTimeLeft: string = ''\r\n now: number = 0\r\n tickTimer: NodeJS.Timeout | null = null\r\n joinTimer: NodeJS.Timeout | null = null\r\n isDraftVisible: boolean = false\r\n\r\n @Ref('match-content') readonly matchContent!: HTMLDivElement\r\n\r\n get isFooterVisible() {\r\n return this.matchModule.mobileFooterVisible\r\n }\r\n\r\n set isFooterVisible(value: boolean) {\r\n this.matchModule.setMatchFooterVisible(value)\r\n }\r\n\r\n /* Watchers */\r\n @Watch('isWaitingState')\r\n onIsWaitingStateChanged(isPlaying: boolean) {\r\n if (!isPlaying) {\r\n this.isManageRosterDialogVisible = false\r\n }\r\n }\r\n\r\n @Watch('isPlayingState')\r\n async onIsPlayingStateChanged(isPlaying: boolean) {\r\n // not integrate if anything is missing or not support auto get game evidence\r\n if (\r\n !this.tournament ||\r\n !this.matchGame ||\r\n !isPlaying ||\r\n !this.match ||\r\n !this.match.isAutoGetGameEvidence\r\n )\r\n return\r\n if (isPlaying) {\r\n await LeagueIntegration.start(this.matchGame.matchGameId)\r\n }\r\n }\r\n\r\n @Watch('currentState')\r\n onStateChanged(state: string) {\r\n // update all time related stuff when the state change\r\n this.onTick()\r\n }\r\n\r\n /* Match room store */\r\n get match() {\r\n return this.matchModule.match\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get matchGameResults() {\r\n return this.matchModule.matchGameResults\r\n }\r\n\r\n get tournament() {\r\n return this.matchModule.tournament\r\n }\r\n\r\n get stage() {\r\n return this.matchModule.stage\r\n }\r\n\r\n get myTeam() {\r\n return this.matchGame!.teams.find(\r\n team => team.matchTeamId === this.matchTeamId\r\n )\r\n }\r\n\r\n get teams() {\r\n return this.matchGame!.teams\r\n }\r\n\r\n get myTeamCheckIns(): CheckInEntity[] {\r\n if (!this.myTeam) {\r\n return []\r\n }\r\n\r\n return this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === this.myTeam!.matchTeamId\r\n )\r\n }\r\n\r\n get isLoading() {\r\n return !this.matchGame\r\n }\r\n\r\n get isAllCheckedIn() {\r\n if (!this.matchGame) return false\r\n return !this.matchGame.checkIns.some(data => !data.isCheckedIn)\r\n }\r\n\r\n /* Match Game State Getters */\r\n get isInitialState() {\r\n return this.matchGame!.state === MatchGameState.Initial\r\n }\r\n\r\n get isWaitingState() {\r\n return this.matchGame!.state === MatchGameState.Waiting\r\n }\r\n get isReadyState() {\r\n return this.matchGame!.state === MatchGameState.Ready\r\n }\r\n get isPlayingState() {\r\n return this.matchGame!.state === MatchGameState.Playing\r\n }\r\n get isResultSubmittedState() {\r\n return this.matchGame!.state === MatchGameState.ResultSubmitted\r\n }\r\n get isDisputedState() {\r\n return this.matchGame!.state === MatchGameState.Disputed\r\n }\r\n get isCompletedState() {\r\n return this.matchGame!.state === MatchGameState.Completed\r\n }\r\n\r\n get isStateInProgress() {\r\n return (\r\n this.matchGame!.state === MatchGameState.ResultSubmitted ||\r\n this.matchGame!.state === MatchGameState.Playing ||\r\n this.matchGame!.state === MatchGameState.Disputed\r\n )\r\n }\r\n\r\n get matchSubmitButtonText() {\r\n return this.$t('Match.SubmitFile')\r\n }\r\n\r\n /* Match State */\r\n get isMatchStateCompleted() {\r\n return this.match!.state === MatchState.Completed\r\n }\r\n\r\n get isMatchStateInProgress() {\r\n return this.match!.state === MatchState.InProgress\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get winnerString() {\r\n if (!this.matchGame) {\r\n return ''\r\n }\r\n\r\n const winnerIds = this.matchGameResults\r\n .filter(matchGameResult => matchGameResult.isFinal)\r\n .filter(matchGameResult => matchGameResult.result === GameResult.Win)\r\n .map(matchGameResult => matchGameResult.matchTeamId)\r\n\r\n const winnerTeamNames = []\r\n\r\n for (const matchTeamId of winnerIds) {\r\n const matchTeam = this.matchGame.teams.find(\r\n matchTeam => matchTeam.matchTeamId === matchTeamId\r\n )\r\n\r\n if (matchTeam) {\r\n winnerTeamNames.push(matchTeam.name)\r\n }\r\n }\r\n\r\n return winnerTeamNames.join(', ')\r\n }\r\n\r\n get isScoreSubmittable() {\r\n return (\r\n !!this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.role === CheckInRoleType.Captain\r\n ).find(checkIn => checkIn.member.memberId === this.userId) &&\r\n this.isTeamReady\r\n )\r\n }\r\n\r\n get isCaptain() {\r\n return !!this.matchGame!.checkIns.find(\r\n checkIn =>\r\n checkIn.role === CheckInRoleType.Captain &&\r\n checkIn.member.memberId === this.userId\r\n )\r\n }\r\n\r\n get matchTeamId() {\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n if (!checkIn) {\r\n return ''\r\n }\r\n\r\n return checkIn.matchTeamId\r\n }\r\n\r\n get isTeamReady() {\r\n return !!this.matchGame!.readyTeams.find(team => team === this.matchTeamId)\r\n }\r\n\r\n /* Hooks */\r\n async created() {\r\n this.isCheckInDialogVisible = false\r\n\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('Match.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('playerCheckIn', this.onPlayerCheckIn)\r\n this.realtimeConnection.on('playerCheckInAll', this.onPlayerCheckInAll)\r\n this.realtimeConnection.on('matchTeamReady', this.onMatchTeamReady)\r\n this.realtimeConnection.on('matchTeamReadyAll', this.onMatchTeamReadyAll)\r\n this.realtimeConnection.on(\r\n 'draftSessionCreated',\r\n this.onDraftSessionCreated\r\n )\r\n this.realtimeConnection.on(\r\n 'matchGameRosterUpdated',\r\n this.onMatchGameRosterUpdated\r\n )\r\n this.realtimeConnection.on('lol:joinCustomGame', this.onLolJoinCustomGame)\r\n\r\n // timer to check the time passed the check in start time periodically\r\n this.tickTimer = setInterval(this.onTick, 500)\r\n await this.onTick()\r\n\r\n if (this.isPlayingState) {\r\n await this.onIsPlayingStateChanged(true)\r\n }\r\n }\r\n\r\n mounted() {\r\n if (\r\n this.stage &&\r\n this.stage.setting.stageFormat &&\r\n this.stage.setting.stageFormat !== StageFormatType.FreeForAll\r\n ) {\r\n this.$router.push({\r\n name: 'Match'\r\n })\r\n }\r\n }\r\n\r\n async beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('playerCheckIn', this.onPlayerCheckIn)\r\n this.realtimeConnection.off('playerCheckInAll', this.onPlayerCheckInAll)\r\n this.realtimeConnection.off('matchTeamReady', this.onMatchTeamReady)\r\n this.realtimeConnection.off('matchTeamReadyAll', this.onMatchTeamReadyAll)\r\n this.realtimeConnection.off(\r\n 'draftSessionCreated',\r\n this.onDraftSessionCreated\r\n )\r\n this.realtimeConnection.off(\r\n 'matchGameRosterUpdated',\r\n this.onMatchGameRosterUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'lol:joinCustomGame',\r\n this.onLolJoinCustomGame\r\n )\r\n }\r\n\r\n if (this.tickTimer) {\r\n clearInterval(this.tickTimer)\r\n }\r\n\r\n if (this.joinTimer) {\r\n clearTimeout(this.joinTimer)\r\n }\r\n\r\n await this.integrationModule.setJoiningCustomGame(false)\r\n await LeagueIntegration.stop()\r\n }\r\n\r\n /* Methods */\r\n async onPlayerCheckIn(memberId: string) {\r\n // update check in state\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === memberId\r\n )\r\n\r\n if (checkIn) {\r\n checkIn.isCheckedIn = true\r\n\r\n if (checkIn.member.memberId === this.userId) {\r\n this.isCheckInDialogVisible = false\r\n }\r\n } else {\r\n await this.updateMatchGameState()\r\n }\r\n }\r\n\r\n async onPlayerCheckInAll() {\r\n await this.updateMatchGameState()\r\n if (this.matchGame!.state === MatchGameState.Ready && this.isCaptain)\r\n this.isStartGameDialogVisible = true\r\n }\r\n\r\n async updateMatchGameState() {\r\n // update match game if everyone is checked in\r\n try {\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('Match.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async onMatchTeamReady(matchTeamId: string) {\r\n // update ready state\r\n this.matchGame!.readyTeams.push(matchTeamId)\r\n }\r\n\r\n async onMatchTeamReadyAll(draftSessionId: string) {\r\n await this.updateMatchGameState()\r\n await this.matchModule.fetchMatch(this.match!.matchId)\r\n\r\n if (draftSessionId) {\r\n this.isDraftVisible = true\r\n }\r\n }\r\n\r\n async onDraftSessionCreated(draftSessionId: string) {\r\n await this.updateMatchGameState()\r\n await this.matchModule.fetchMatch(this.match!.matchId)\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n\r\n if (draftSessionId) {\r\n this.isDraftVisible = true\r\n }\r\n }\r\n\r\n async onTick() {\r\n this.now = now().getTime() / 1000\r\n\r\n if (!this.matchGame) {\r\n return\r\n }\r\n\r\n if (this.matchGame.state !== MatchGameState.Waiting) {\r\n return\r\n }\r\n\r\n if (\r\n this.matchGame.checkInStartTime <= this.now &&\r\n this.matchGame.checkInEndTime >= this.now\r\n ) {\r\n // check whether we are checked in\r\n const checkIn = this.matchGame.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n this.isCheckInDialogVisible = !!(checkIn && !checkIn.isCheckedIn)\r\n\r\n this.updateCheckInEndTimeLeft()\r\n }\r\n }\r\n\r\n onSubmitResultClicked() {\r\n if (this.matchGameResults && this.matchGameResults.length > 0) {\r\n // ask if overwrite result\r\n this.isSubmitResultConfirmDialogVisible = true\r\n } else {\r\n this.isSubmitResultDialogVisible = true\r\n }\r\n }\r\n\r\n onConfirmOverwriteResult() {\r\n this.isSubmitResultConfirmDialogVisible = false\r\n this.isSubmitResultDialogVisible = true\r\n }\r\n\r\n updateCheckInEndTimeLeft() {\r\n if (!this.matchGame) {\r\n return\r\n }\r\n\r\n const timeLeft = Math.round(this.matchGame.checkInEndTime - this.now)\r\n\r\n if (timeLeft <= 0) {\r\n this.isCheckInDialogVisible = false\r\n }\r\n\r\n const hr = Math.floor(timeLeft / 60 / 60)\r\n const min = Math.floor(timeLeft / 60) - hr * 60\r\n const sec = timeLeft % 60\r\n\r\n this.checkInEndTimeLeft = `${hr\r\n .toString()\r\n .padStart(2, '0')}:${min\r\n .toString()\r\n .padStart(2, '0')}:${sec.toString().padStart(2, '0')}`\r\n }\r\n\r\n async setReady() {\r\n this.isStartGameDialogVisible = false\r\n try {\r\n await MatchAPI.captainReady(this.matchGame!.matchGameId)\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('Match.FailConnectServerMessage'))\r\n }\r\n console.error(err)\r\n }\r\n }\r\n\r\n showMatchCoreRulesDialog() {\r\n return this.matchModule.setMatchCoreRulesDialogVisible(true)\r\n }\r\n\r\n async onMatchGameRosterUpdated(data: MatchGameRosterUpdatedResponse) {\r\n if (data.removedMembers.find(memberId => memberId === this.userId)) {\r\n await this.$router.push('/')\r\n await this.$toast.error(\r\n this.$t('Match.CaptainRemoveTeamMemberFromRoster')\r\n )\r\n } else {\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n }\r\n }\r\n\r\n async onLolJoinCustomGame(lobby: LeagueLobby) {\r\n await this.matchModule.setLeagueLobby(lobby)\r\n\r\n // find the position of mine\r\n const memberIds = this.matchGame!.checkIns.map(\r\n checkIn => checkIn.member.memberId\r\n )\r\n\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n // find which team it is\r\n const matchTeamId = checkIn!.matchTeamId\r\n const teamOneMatchTeamId = this.matchGame!.teams[0].matchTeamId\r\n\r\n // do not join for the one who is creating custom game\r\n if (\r\n teamOneMatchTeamId === matchTeamId &&\r\n checkIn!.role === CheckInRoleType.Captain\r\n ) {\r\n return\r\n }\r\n\r\n // show loading message\r\n await this.integrationModule.setJoiningCustomGame(true)\r\n\r\n const position = memberIds.indexOf(this.userId)\r\n\r\n this.joinTimer = setTimeout(async () => {\r\n await this.integrationModule.joinCustomGame({\r\n lobby,\r\n team: teamOneMatchTeamId === matchTeamId ? 'one' : 'two'\r\n })\r\n }, position * 1000)\r\n }\r\n\r\n get draftSessionId() {\r\n if (!this.matchGame) {\r\n return null\r\n }\r\n\r\n return this.matchGame.draftSessionId\r\n }\r\n\r\n get draftTeamNumber() {\r\n if (!this.match || !this.matchGame) {\r\n return 0\r\n }\r\n\r\n const checkIn = this.matchGame.checkIns.find(\r\n checkIn =>\r\n checkIn.member.memberId === this.userModule.memberId &&\r\n checkIn.role === CheckInRoleType.Captain\r\n )\r\n\r\n if (!checkIn) {\r\n return 0\r\n }\r\n\r\n const team = this.matchGame.teams.find(\r\n team => team.matchTeamId === checkIn.matchTeamId\r\n )!\r\n return this.matchGame.teams.indexOf(team) + 1\r\n }\r\n\r\n hasTeamReady(matchTeamId: string) {\r\n if (!this.matchTeamId || !this.matchGame) {\r\n return false\r\n }\r\n\r\n return this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === matchTeamId\r\n ).every(data => data.isCheckedIn)\r\n }\r\n\r\n async back() {\r\n if (this.match && this.match.relatedTournament) {\r\n await this.$router.push({\r\n name: 'TournamentDetailsBracket',\r\n params: {\r\n tournamentId: this.match.relatedTournament.tournamentId\r\n }\r\n })\r\n } else {\r\n await this.$router.push({\r\n name: 'Landing'\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FFAMatch.vue?vue&type=template&id=b4b6ac6a&scoped=true&\"\nimport script from \"./FFAMatch.vue?vue&type=script&lang=ts&\"\nexport * from \"./FFAMatch.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FFAMatch.vue?vue&type=style&index=0&id=b4b6ac6a&lang=scss&scoped=true&\"\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 \"b4b6ac6a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAvatar,VBadge,VBtn,VChip,VCol,VContainer,VFooter,VIcon,VProgressCircular,VRow})\n","import FFAMatch from './FFAMatch.vue'\r\nexport default FFAMatch\r\nexport { FFAMatch }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCoreRulesDialog.vue?vue&type=style&index=0&id=26622e06&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCoreRulesDialog.vue?vue&type=style&index=0&id=26622e06&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./UserAvatar.vue?vue&type=style&index=0&id=058a5d22&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./UserAvatar.vue?vue&type=style&index=0&id=058a5d22&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-avatar',{staticClass:\"avatar\",style:(_vm.cssRules),attrs:{\"size\":_vm.width}},[_c('img',{attrs:{\"src\":_vm.src},on:{\"click\":function($event){return _vm.$emit('click')}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport getAvatar from '@/utils/avatar'\r\n\r\n@Component\r\nexport default class UserAvatar extends Vue {\r\n @Prop({ default: '' }) readonly nickname!: string\r\n @Prop({ default: '' }) readonly imageUrl!: string\r\n @Prop({ default: 96 }) readonly width!: number\r\n @Prop({ default: true }) readonly border!: boolean\r\n\r\n /* Computed Properties */\r\n get src() {\r\n return this.imageUrl ? this.imageUrl : getAvatar()\r\n }\r\n\r\n get cssRules() {\r\n return {\r\n '--border': this.border ? '1.5px solid white' : 'none'\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./UserAvatar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./UserAvatar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserAvatar.vue?vue&type=template&id=058a5d22&scoped=true&\"\nimport script from \"./UserAvatar.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserAvatar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserAvatar.vue?vue&type=style&index=0&id=058a5d22&lang=scss&scoped=true&\"\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 \"058a5d22\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\ninstallComponents(component, {VAvatar})\n","import UserAvatar from './UserAvatar.vue'\r\n\r\nexport { UserAvatar }\r\nexport default UserAvatar\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":(_vm.width + \"rem\"),\"persistent\":\"\"},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.title))]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.content)+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.onConfirmClicked}},[_vm._v(\" \"+_vm._s(_vm.$t('ConfirmDialog.Confirm'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":_vm.onCancelClicked}},[_vm._v(\" \"+_vm._s(_vm.$t('ConfirmDialog.Cancel'))+\" \")])],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\r\nimport { Vue, Component, Prop, PropSync } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\n\r\n@Component\r\nexport default class ConfirmDialog extends Vue {\r\n @PropSync('isVisible', { type: Boolean, default: false })\r\n isModalVisible!: boolean\r\n @Prop({ default: 'Confirm' })\r\n title!: string\r\n @Prop({ required: true })\r\n content!: string\r\n\r\n @Prop({ default: '21' }) width!: string\r\n\r\n /* Methods */\r\n onConfirmClicked() {\r\n this.$emit('confirm')\r\n }\r\n\r\n onCancelClicked() {\r\n this.$emit('cancel')\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./ConfirmDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./ConfirmDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=6bb1469c&scoped=true&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmDialog.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 \"6bb1469c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VSpacer})\n","import ConfirmDialog from './ConfirmDialog.vue'\r\n\r\nexport default ConfirmDialog\r\nexport { ConfirmDialog }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCheckInDialog.vue?vue&type=style&index=0&id=3dc295f0&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCheckInDialog.vue?vue&type=style&index=0&id=3dc295f0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.tournament && _vm.tournament.detailRules)?_c('quill-delta',[_vm._v(\" \"+_vm._s(_vm.tournament.detailRules)+\" \")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport { TournamentEntity, TournamentAPI } from '@/api/tournament'\r\nimport { TranslateResult } from 'vue-i18n'\r\n\r\n@Component\r\nexport default class MatchRule extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n\r\n /* Vuex State */\r\n get tournament(): TournamentEntity | null {\r\n return this.matchModule.tournament\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchRules.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchRules.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchRules.vue?vue&type=template&id=138048aa&scoped=true&\"\nimport script from \"./MatchRules.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchRules.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 \"138048aa\",\n null\n \n)\n\nexport default component.exports","import MatchRules from './MatchRules.vue'\r\n\r\nexport { MatchRules }\r\nexport default MatchRules\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSystemMessage.vue?vue&type=style&index=0&id=e5c742ba&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSystemMessage.vue?vue&type=style&index=0&id=e5c742ba&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"1000px\",\"overlay-opacity\":\"0.95\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},on:{\"click:outside\":_vm.close,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close($event)}},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"dark\",\"dark\":\"\"}},[_c('v-toolbar-title',[_c('v-icon',[_vm._v(\"mdi-clipboard-check-multiple-outline\")]),_vm._v(\" \"+_vm._s(_vm.title ? _vm.title : _vm.$t('MatchSubmitResult.SubmitMatchResult'))+\" \")],1),_c('v-spacer'),(_vm.$vuetify.breakpoint.mobile)?_c('v-btn',{attrs:{\"icon\":\"\",\"x-large\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1):_vm._e()],1),_c('v-container',[(_vm.integrationConnected)?_c('v-alert',{attrs:{\"text\":\"\",\"color\":\"warning\",\"icon\":\"mdi-alert-box-outline\"}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.GameClientIntegrationActiveLine1'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.GameClientIntegrationActiveLine2'))+\" \")]):_c('v-alert',{attrs:{\"text\":\"\",\"color\":\"warning\",\"icon\":\"mdi-alert-box-outline\"}},[(!_vm.isCaptain)?_c('span',[_vm._v(_vm._s(_vm.$t('MatchSubmitResult.AdditionalFilesHints1'))+\" \"),_c('br')]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.AdditionalFilesHints2'))+\" \")]),_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[(_vm.useScoreInput && !_vm.disableResultInput)?_c('v-row',[(_vm.matchTeams[0])?_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"type\":\"number\",\"label\":((_vm.$t('MatchSubmitResult.InputGameScoreFor')) + \" \" + (_vm.matchTeams[0].name)),\"rules\":_vm.validScore,\"outlined\":\"\",\"required\":\"\"},model:{value:(_vm.score[0]),callback:function ($$v) {_vm.$set(_vm.score, 0, _vm._n($$v))},expression:\"score[0]\"}})],1):_vm._e(),(_vm.matchTeams[1])?_c('v-col',{staticClass:\"pb-0\"},[_c('v-text-field',{attrs:{\"type\":\"number\",\"label\":((_vm.$t('MatchSubmitResult.InputGameScoreFor')) + \" \" + (_vm.matchTeams[1].name)),\"rules\":_vm.validScore,\"outlined\":\"\",\"required\":\"\"},model:{value:(_vm.score[1]),callback:function ($$v) {_vm.$set(_vm.score, 1, _vm._n($$v))},expression:\"score[1]\"}})],1):_vm._e()],1):_vm._e(),(!_vm.useScoreInput && !_vm.disableResultInput)?_c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.matchTeams[0].name))])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-btn-toggle',{attrs:{\"mandatory\":\"\"},model:{value:(_vm.isTeamAWinner),callback:function ($$v) {_vm.isTeamAWinner=$$v},expression:\"isTeamAWinner\"}},[_c('v-btn',{staticClass:\"success--text title font-weight-bold\",attrs:{\"block\":!_vm.isMobile,\"x-large\":\"\",\"value\":true,\"disabled\":!_vm.isCaptain}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"success\"}},[_vm._v(\"mdi-trophy\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.Win'))+\" \")],1),_c('v-btn',{staticClass:\"error--text title font-weight-bold\",attrs:{\"block\":!_vm.isMobile,\"x-large\":\"\",\"value\":false,\"disabled\":!_vm.isCaptain}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.Lose'))+\" \"),_c('v-icon',{attrs:{\"right\":\"\",\"color\":\"error\"}},[_vm._v(\"mdi-trophy-broken\")])],1)],1)],1)],1),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.matchTeams[1].name))])]),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-btn-toggle',{attrs:{\"mandatory\":\"\"},model:{value:(_vm.isTeamAWinner),callback:function ($$v) {_vm.isTeamAWinner=$$v},expression:\"isTeamAWinner\"}},[_c('v-btn',{staticClass:\"success--text title font-weight-bold\",attrs:{\"x-large\":\"\",\"block\":!_vm.isMobile,\"value\":false,\"disabled\":!_vm.isCaptain}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"success\"}},[_vm._v(\"mdi-trophy\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.Win'))+\" \")],1),_c('v-btn',{staticClass:\"error--text title font-weight-bold\",attrs:{\"x-large\":\"\",\"block\":!_vm.isMobile,\"value\":true,\"disabled\":!_vm.isCaptain}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchSubmitResult.Lose'))+\" \"),_c('v-icon',{attrs:{\"right\":\"\",\"color\":\"error\"}},[_vm._v(\"mdi-trophy-broken\")])],1)],1)],1)],1)],1):_vm._e(),_c('v-container',{staticClass:\"pt-0\"},[(_vm.uploadedEvidence.length > 0)?_c('v-list',_vm._l((_vm.uploadedEvidence),function(file,index){return _c('v-list-item',{key:(\"match-evidence-file-\" + index)},[_c('v-list-item-avatar',{attrs:{\"tile\":\"\",\"width\":\"60\",\"height\":\"40\"}},[_c('v-img',{attrs:{\"src\":file.file}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('MatchSubmitResult.Game'))+\" #\"+_vm._s(_vm.currentGameRound)+\" \"+_vm._s(_vm.$t('MatchSubmitResult.Evidence'))+\" (\"+_vm._s(index + 1)+\")\")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.getMemberName(file.matchTeamId, file.memberId))+\" \"+_vm._s(_vm.$t('MatchSubmitResult.Uploaded'))+\" \"+_vm._s(_vm._f(\"moment\")(file.createTime,'from'))+\" \"),_c('small',[_vm._v(\"@ \"+_vm._s(_vm._f(\"moment\")(file.createTime,'hh:mm:ss')))])])],1),_c('v-list-item-action',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"grey lighten-1\"}},[_vm._v(\"mdi-information\")])],1)],1)],1)}),1):_vm._e(),_c('vue-file-agent',{ref:\"fileAgent\",attrs:{\"theme\":\"list\",\"multiple\":\"\",\"meta\":\"\",\"accept\":\"image/png,image/jpg,image/jpeg,application/zip, application/octet-stream, application/x-zip-compressed, multipart/x-zip,application/x-rar-compressed, application/octet-stream\",\"maxSize\":'20MB',\"maxFiles\":_vm.isCaptain ? 6 : 3,\"helpText\":_vm.$t('MatchSubmitResult.DragAndDropImageMessage'),\"errorText\":{\n type: _vm.$t('MatchSubmitResult.InvalidFileTypeMessage'),\n size: _vm.$t('MatchSubmitResult.FileSizeWarning')\n }},on:{\"select\":function($event){return _vm.filesSelected($event)}},model:{value:(_vm.fileRecords),callback:function ($$v) {_vm.fileRecords=$$v},expression:\"fileRecords\"}})],1),(_vm.isCaptain && !_vm.disableResultInput)?_c('v-btn',{staticClass:\"mt-2\",attrs:{\"type\":\"submit\",\"block\":\"\",\"x-large\":\"\",\"color\":\"warning\"}},[_vm._v(_vm._s(_vm.$t('MatchSubmitResult.SubmitScore')))]):_vm._e()],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\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\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\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\r\nimport {\r\n Component,\r\n Prop,\r\n PropSync,\r\n Ref,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport {\r\n CheckInRoleType,\r\n GameResult,\r\n MatchAPI,\r\n MatchGameEvidenceEntity,\r\n ResponseStatus,\r\n SubmitMatchResultRequest\r\n} from '@/api/match'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport ServerError from '@/utils/server_error'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport authStore from '@/modules/auth/auth.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport { FileRecord } from 'vue-file-agent'\r\nimport { AxiosRequestConfig } from 'axios'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport LeagueIntegration from '@/utils/integration/lol'\r\n\r\ninterface VueFileAgentComponent {\r\n upload(url: string, headers: object, filesData: FileRecord[]): Promise\r\n deleteUpload(\r\n url: string,\r\n headers: object,\r\n fileData: FileRecord,\r\n uploadData?: any\r\n ): Promise\r\n}\r\n\r\n@Component\r\nexport default class MatchSubmitResult extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n authModule = getModule(authStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n @PropSync('visible', { type: Boolean, default: false }) modalVisible!: boolean\r\n\r\n @Ref('fileAgent') readonly fileAgent!: VueFileAgentComponent\r\n @Ref('form') readonly form!: HTMLFormElement\r\n\r\n @Prop({ type: Boolean, default: false }) readonly useScoreInput!: boolean\r\n @Prop({ type: Boolean, default: false }) readonly disableResultInput!: boolean\r\n\r\n @Watch('modalVisible')\r\n onModalVisible(visible: boolean) {\r\n if (!visible) {\r\n this.score = [0, 0]\r\n this.fileRecordsForUpload = []\r\n return\r\n }\r\n\r\n if (this.matchGameResults.length >= 2) {\r\n this.score = [\r\n this.matchGameResults.find(\r\n matchGameResult =>\r\n matchGameResult.matchTeamId === this.matchTeams[0].matchTeamId\r\n )!.score,\r\n this.matchGameResults.find(\r\n matchGameResult =>\r\n matchGameResult.matchTeamId === this.matchTeams[1].matchTeamId\r\n )!.score\r\n ]\r\n }\r\n\r\n this.getMatchEvidence()\r\n }\r\n\r\n validScore: Function[] = [\r\n (v: string | number) =>\r\n typeof v !== 'string' ||\r\n this.$t('MatchSubmitResult.InputValidScoreNumberMessage')\r\n ]\r\n isValid: boolean = false\r\n score: number[] = [0, 0]\r\n fileRecords: FileRecord[] = []\r\n fileRecordsForUpload: FileRecord[] = []\r\n uploadedEvidence: MatchGameEvidenceEntity[] = []\r\n\r\n @Prop({ type: String, default: '' }) readonly title!: string\r\n\r\n // Win-Lose\r\n isTeamAWinner: boolean = true\r\n\r\n /* Vuex Getters */\r\n get matchTeams() {\r\n return this.matchModule.matchGame!.teams\r\n }\r\n\r\n get currentGameRound() {\r\n return this.matchModule!.matchGame!.gameRound\r\n }\r\n\r\n get matchGameResults() {\r\n return this.matchModule.matchGameResults\r\n }\r\n\r\n get userId() {\r\n return this.authModule.userId\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get isCaptain() {\r\n return !!this.matchGame!.checkIns.find(\r\n checkIn =>\r\n checkIn.role === CheckInRoleType.Captain &&\r\n checkIn.member.memberId === this.userId\r\n )\r\n }\r\n\r\n close() {\r\n this.modalVisible = false\r\n this.score = [0, 0]\r\n this.fileRecords = []\r\n this.fileRecordsForUpload = []\r\n }\r\n\r\n get isInvalidScore() {\r\n return this.score[0] === this.score[1] || !this.isValid\r\n }\r\n\r\n async getMatchEvidence() {\r\n try {\r\n const response = await MatchAPI.getMatchGameEvidence(\r\n this.matchModule.matchGame!.matchGameId\r\n )\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.uploadedEvidence = response.data.payload!\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.warning(err.getMessage(), {\r\n dismissable: true\r\n })\r\n } else {\r\n this.$toast.error(this.$t('MatchSubmitResult.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n getMemberName(matchTeamId: string, memberId: string) {\r\n if (!this.matchGame || !this.matchGame.checkIns) return 'N/A'\r\n const checkIn = this.matchGame.checkIns.find(\r\n checkIn =>\r\n checkIn.matchTeamId === matchTeamId &&\r\n checkIn.member.memberId === memberId\r\n )\r\n if (!checkIn) return 'N/A'\r\n return checkIn.member.nickname\r\n }\r\n\r\n async submitForm() {\r\n try {\r\n const resultRequest: SubmitMatchResultRequest[] = [\r\n {\r\n matchTeamId: this.matchTeams[0].matchTeamId,\r\n score: this.isTeamAWinner ? 1 : 0,\r\n result: this.isTeamAWinner ? GameResult.Win : GameResult.Lose\r\n },\r\n {\r\n matchTeamId: this.matchTeams[1].matchTeamId,\r\n score: this.isTeamAWinner ? 0 : 1,\r\n result: this.isTeamAWinner ? GameResult.Lose : GameResult.Win\r\n }\r\n ]\r\n const res = await MatchAPI.submitMatchGameResults(\r\n this.matchModule.matchGame!.matchGameId,\r\n resultRequest\r\n )\r\n if (res.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t('MatchSubmitResult.ResultUploadSuccessMessage'),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-check'\r\n }\r\n )\r\n\r\n // stop lol stuff\r\n await LeagueIntegration.stop()\r\n\r\n this.close()\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.warning(err.getMessage(), {\r\n dismissable: true,\r\n icon: 'mdi-account-check-outline'\r\n })\r\n } else {\r\n this.$toast.error(this.$t('MatchSubmitResult.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async uploadFiles() {\r\n let uploadSuccessResult: string[] = []\r\n let uploadFailResult: string[] = []\r\n\r\n // upload files\r\n for (const fileRecord of this.fileRecordsForUpload) {\r\n const result = await MatchAPI.submitMatchGameEvidence(\r\n this.matchModule.matchGame!.matchGameId,\r\n fileRecord.file\r\n )\r\n if (result.data.status === ResponseStatus.Ok) {\r\n uploadSuccessResult.push(\r\n this.$t('MatchSubmitResult.FileUploadSuccessMessage', {\r\n fileName: fileRecord.name()\r\n })\r\n )\r\n await this.getMatchEvidence()\r\n this.fileRecords = []\r\n this.fileRecordsForUpload = []\r\n } else {\r\n uploadFailResult.push(\r\n this.$t('MatchSubmitResult.FailToUploadMessage', {\r\n fileName: fileRecord.name()\r\n })\r\n )\r\n }\r\n }\r\n\r\n // show messages\r\n if (!uploadFailResult.length) {\r\n this.$toast.success(uploadSuccessResult.join('
'))\r\n } else if (!uploadSuccessResult.length) {\r\n this.$toast.error(uploadFailResult.join('
'))\r\n } else {\r\n this.$toast.warning(\r\n uploadSuccessResult.join('
') +\r\n '
' +\r\n uploadFailResult.join('
')\r\n )\r\n }\r\n\r\n this.fileRecordsForUpload = []\r\n }\r\n\r\n async filesSelected(fileRecordsNewlySelected: any) {\r\n var validFileRecords = fileRecordsNewlySelected.filter(\r\n (fileRecord: any) => !fileRecord.error\r\n )\r\n this.fileRecordsForUpload = this.fileRecordsForUpload.concat(\r\n validFileRecords\r\n )\r\n\r\n if (this.fileRecordsForUpload.length) {\r\n await this.uploadFiles()\r\n }\r\n }\r\n\r\n async created() {\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchSubmitResult.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('advanceToNextGame', this.close)\r\n this.realtimeConnection.on('matchComplete', this.close)\r\n this.realtimeConnection.on('matchRemoved', this.close)\r\n\r\n document.addEventListener('paste', this.onPaste)\r\n }\r\n\r\n async beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('advanceToNextGame', this.close)\r\n this.realtimeConnection.off('matchComplete', this.close)\r\n this.realtimeConnection.off('matchRemoved', this.close)\r\n }\r\n\r\n document.removeEventListener('paste', this.onPaste)\r\n }\r\n\r\n canUpload(type: string) {\r\n return type.match(/^(image)\\/.*$/) !== null\r\n }\r\n\r\n async onPaste(event: ClipboardEvent) {\r\n if (\r\n !this.modalVisible ||\r\n !event.clipboardData ||\r\n this.uploadedEvidence.length >= 3\r\n ) {\r\n return\r\n }\r\n\r\n let item = null\r\n\r\n for (let i = 0; i < event.clipboardData.items.length; i++) {\r\n if (this.canUpload(event.clipboardData.items[i].type)) {\r\n item = event.clipboardData.items[i]\r\n break\r\n }\r\n }\r\n\r\n if (!item) {\r\n this.$toast.error(this.$t('MatchSubmitResult.FailImageOnly'))\r\n return\r\n }\r\n\r\n const file = item.getAsFile() as File\r\n\r\n if (!file) {\r\n return\r\n }\r\n\r\n this.$toast.warning(\r\n this.$t('MatchSubmitResult.FileUploadFromClipboardInProgress')\r\n )\r\n\r\n try {\r\n const result = await MatchAPI.submitMatchGameEvidence(\r\n this.matchModule.matchGame!.matchGameId,\r\n file\r\n )\r\n if (result.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t('MatchSubmitResult.FileUploadFromClipboardSuccessMessage')\r\n )\r\n await this.getMatchEvidence()\r\n this.fileRecords = []\r\n this.fileRecordsForUpload = []\r\n } else {\r\n this.$toast.error(\r\n this.$t('MatchSubmitResult.FailToUploadFromClipboardMessage')\r\n )\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(this.$t('MatchSubmitResult.FailConnectServerMessage'))\r\n }\r\n\r\n console.error(err)\r\n }\r\n }\r\n\r\n // Integration & match result\r\n get integrationMatchResult() {\r\n return this.integrationModule.userResult\r\n }\r\n\r\n get integrationConnected() {\r\n return this.integrationModule.connectionStatus\r\n }\r\n\r\n get isMobile() {\r\n return this.$vuetify.breakpoint.mobile\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSubmitResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSubmitResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchSubmitResult.vue?vue&type=template&id=4aa67dcb&scoped=true&\"\nimport script from \"./MatchSubmitResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchSubmitResult.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchSubmitResult.vue?vue&type=style&index=0&id=4aa67dcb&lang=scss&scoped=true&\"\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 \"4aa67dcb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VBtnToggle,VCard,VCol,VContainer,VDialog,VForm,VIcon,VImg,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VRow,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","import MatchSubmitResult from './MatchSubmitResult.vue'\r\n\r\nexport { MatchSubmitResult }\r\nexport default MatchSubmitResult\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationButton.vue?vue&type=style&index=0&id=09a74a0b&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationButton.vue?vue&type=style&index=0&id=09a74a0b&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"avatar-container\",class:{ 'pa-0': _vm.noGutters }},[(_vm.hasValidImage)?_c('v-img',{staticClass:\"team-logo mx-auto\",attrs:{\"height\":_vm.size,\"width\":_vm.size,\"position\":\"center\",\"src\":_vm.teamLogo}}):_c('v-avatar',{staticClass:\"mx-auto team-name\",attrs:{\"color\":_vm.color,\"height\":_vm.size,\"width\":_vm.size},domProps:{\"textContent\":_vm._s(_vm.teamNameInitial)}})],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\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class TeamAvatar extends Vue {\r\n @Prop({ type: String, required: true }) teamLogo!: string\r\n @Prop({ type: String, required: true }) teamName!: string\r\n @Prop({ type: String, default: '5rem' }) size!: string\r\n @Prop({ type: String, default: 'primary' }) color!: string\r\n @Prop({ type: Boolean, default: false }) noGutters!: boolean\r\n\r\n /* Methods */\r\n get hasValidImage() {\r\n return !!this.teamLogo.length\r\n }\r\n\r\n get teamNameInitial() {\r\n return this.teamName.substring(0, 1).toUpperCase()\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamAvatar.vue?vue&type=template&id=6991e535&scoped=true&\"\nimport script from \"./TeamAvatar.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamAvatar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"\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 \"6991e535\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VAvatar,VContainer,VImg})\n","import TeamAvatar from './TeamAvatar.vue'\r\nexport default TeamAvatar\r\nexport { TeamAvatar }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"chat-room d-flex flex-column\"},[_c('div',{staticClass:\"content-container px-0 py-0 px-lg-2 py-lg-4 flex-grow-1\"},[_c('v-container',{ref:\"content\",staticClass:\"content\"},[_vm._l((_vm.messages),function(message,index){return _c('MatchChatMessage',{key:(\"match-room-chat-\" + index),attrs:{\"is-self\":message.member.memberId === _vm.userId,\"member\":message.member,\"message\":message.message,\"time\":new Date(message.createTime * 1000),\"is-admin\":message.isAdmin,\"is-left-sided\":_vm.teams.leftTeam && message.matchTeamId === _vm.teams.leftTeam.matchTeamId,\"team-name\":_vm.getTeamNameByMatchTeamId(message.matchTeamId)}})}),_c('div',{directives:[{name:\"intersect\",rawName:\"v-intersect\",value:(_vm.onIntersect),expression:\"onIntersect\"}],staticClass:\"text-center\"},[(_vm.isLoading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"32\",\"width\":\"1\"}}):_vm._e()],1)],2)],1),_c('div',{staticClass:\"footer px-1 py-1\",class:{ active: _vm.isChatActive }},[(_vm.disabled)?_c('div',{staticClass:\"chat-disabled\"},[_vm._v(\" \"+_vm._s(_vm.disabledText ? _vm.disabledText : _vm.$t('Match.ChatRoomDisabled'))+\" \")]):(_vm.disableChat)?_c('div',{staticClass:\"chat-disabled animated\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.WaitingForCaptainToStartGame'))+\" \")]):_c('v-form',{staticClass:\"d-flex flex-grow-1\",attrs:{\"action\":\"javascript:void(0)\"},on:{\"submit\":_vm.onSubmit}},[_c('v-text-field',{ref:\"chatInput\",staticClass:\"ml-2 send-message-txt font-weight-bold mt-2\",attrs:{\"dense\":\"\",\"hide-details\":\"\",\"autocomplete\":\"off\",\"maxlength\":\"100\",\"color\":\"black--text\"},on:{\"focus\":_vm.focus,\"blur\":_vm.blur},model:{value:(_vm.chatMessage),callback:function ($$v) {_vm.chatMessage=$$v},expression:\"chatMessage\"}}),_c('v-btn',{staticClass:\"send-btn\",attrs:{\"light\":\"\",\"depressed\":\"\",\"outlined\":\"\",\"large\":\"\",\"type\":\"submit\",\"icon\":_vm.compact},on:{\"blur\":_vm.blur}},[_c('v-icon',{attrs:{\"left\":!_vm.compact}},[_vm._v(\"mdi-send\")]),(!_vm.compact)?_c('span',[_vm._v(_vm._s(_vm.$t('MatchChat.Send')))]):_vm._e()],1)],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 _c('div',[(!_vm.isSystemMessage)?_c('div',{staticClass:\"d-flex message-container\",class:{ fromMe: _vm.isSelf }},[_c('div',{staticClass:\"chat-avatar py-2\"},[_c('v-avatar',{staticClass:\"ma-2\",attrs:{\"size\":\"38\",\"color\":\"primary\"}},[_c('v-img',{attrs:{\"src\":_vm.member.avatar\n ? _vm.member.avatar\n : 'https://cdn.vsarena.gg/avatar/004.png'}})],1)],1),_c('div',{staticClass:\"chat-message\",class:{ 'd-flex flex-column align-end text-right': _vm.isSelf }},[_c('div',{staticClass:\"caption grey--text\"},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.isSelf ? _vm.$t('MatchChatMessage.You') : _vm.nickname)}}),(_vm.teamName)?_c('span',[_vm._v(\". \"+_vm._s(_vm.teamName)+\" \")]):_vm._e(),_vm._v(\" .\"+_vm._s(_vm._f(\"moment\")(_vm.time,'from', this.now))+\" \"),(_vm.isAdmin)?_c('span',{staticClass:\"red--text\"},[_vm._v(\" . \"),_c('v-icon',{attrs:{\"x-small\":\"\",\"color\":\"red\"}},[_vm._v(\" mdi-account-tie \")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchChatMessage.Admin'))+\" \")],1):_vm._e()]),_c('div',{staticClass:\"rounded px-2 py-1 d-inline-block chat-content-item\",class:{\n fromMe: _vm.isSelf,\n error: _vm.isAdmin,\n primary: _vm.isLeftSided,\n secondary: !_vm.isLeftSided\n }},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])])]):_c('div',[_c('div',{staticClass:\"chat-message my-2 text-center\"},[_c('div',{staticClass:\"red px-2 py-1 rounded-xl d-inline-block align-center justify-center\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-bell\")]),_vm._v(\" \"+_vm._s(_vm.message)+\" \")],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\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\r\nimport { MemberSnippetEntity } from '@/api/member'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\nimport { Component, Prop, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar\r\n }\r\n})\r\nexport default class MatchChatMessage extends Vue {\r\n @Prop({ default: null }) readonly member!: MemberSnippetEntity | null\r\n @Prop({ required: true }) readonly message!: string\r\n @Prop({ required: true }) readonly time!: Date\r\n @Prop({ default: false }) readonly isAdmin!: boolean\r\n @Prop({ default: false }) readonly isLeftSided!: boolean\r\n @Prop({ default: false }) readonly isSelf!: boolean\r\n @Prop({ default: '' }) readonly teamName!: boolean\r\n\r\n now: Date = new Date()\r\n timer: NodeJS.Timer | null = null\r\n\r\n get color(): string {\r\n if (this.isAdmin) {\r\n return 'red darken-3'\r\n }\r\n\r\n return this.isSelf ? 'primary' : 'white'\r\n }\r\n\r\n get isSystemMessage(): boolean {\r\n if (!this.member) return false\r\n return this.member.memberId === '00000000000000000000000000000000'\r\n }\r\n\r\n get nickname() {\r\n if (!this.member) return ''\r\n return this.member.nickname\r\n }\r\n\r\n mounted() {\r\n this.timer = setInterval(() => {\r\n this.now = new Date()\r\n }, 60 * 1000)\r\n }\r\n\r\n beforeDestroy() {\r\n if (this.timer) {\r\n clearInterval(this.timer)\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChatMessage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChatMessage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchChatMessage.vue?vue&type=template&id=01514eb4&scoped=true&\"\nimport script from \"./MatchChatMessage.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchChatMessage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchChatMessage.vue?vue&type=style&index=0&id=01514eb4&lang=scss&scoped=true&\"\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 \"01514eb4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VAvatar,VIcon,VImg})\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\r\nimport { Component, Emit, Prop, Ref, Vue, Watch } from 'vue-property-decorator'\r\nimport MatchChatMessage from './MatchChatMessage.vue'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport {\r\n MatchChatMessageEntity,\r\n MatchGameState,\r\n MatchTeamEntity\r\n} from '@/api/match'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\n\r\n@Component({\r\n components: {\r\n MatchChatMessage\r\n }\r\n})\r\nexport default class MatchChat extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n messages: MatchChatMessageEntity[] = []\r\n chatMessage: string = ''\r\n\r\n // chat history loading\r\n currentPage: number = 0\r\n hasMorePage: boolean = true\r\n isLoading: boolean = false\r\n isChatActive: boolean = false\r\n\r\n @Prop({ type: Object, required: true }) readonly teams!: {\r\n leftTeam: MatchTeamEntity | null\r\n rightTeam: MatchTeamEntity | null\r\n teams: MatchTeamEntity[]\r\n }\r\n\r\n @Prop({ type: Boolean, default: false }) readonly reverse!: boolean\r\n @Prop({ type: Boolean, default: false }) readonly compact!: boolean\r\n\r\n @Prop({ type: Boolean, default: false }) readonly disabled!: boolean\r\n @Prop({ type: String, default: '' }) readonly disabledText!: string\r\n\r\n @Ref('content') readonly chatContent!: HTMLDivElement\r\n @Ref('chatInput') readonly chatInput!: HTMLInputElement\r\n\r\n onIntersect(entries: any, observer: any) {\r\n if (!this.reverse) return\r\n\r\n // More information about these options\r\n // is located here: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\r\n if (entries[0].isIntersecting) {\r\n this.fetchChatMessages(this.currentPage + 1)\r\n }\r\n }\r\n\r\n @Emit('chatfocus')\r\n focus() {\r\n this.$nextTick(() => {\r\n this.$vuetify.goTo('.chat-room', {\r\n container: '.match-layout-background'\r\n })\r\n })\r\n this.isChatActive = true\r\n }\r\n\r\n blur(ev: any) {\r\n if (ev.relatedTarget && ev.relatedTarget.classList.contains('send-btn')) {\r\n this.isChatActive = true\r\n return\r\n }\r\n this.isChatActive = false\r\n this.$emit('chatblur')\r\n }\r\n\r\n get userId(): string {\r\n return this.userModule.userId\r\n }\r\n\r\n get matchId(): string {\r\n if (!this.matchModule.match) {\r\n return ''\r\n }\r\n\r\n return this.matchModule.match!.matchId\r\n }\r\n\r\n get matchGameState(): MatchGameState {\r\n if (!this.matchModule.matchGame) {\r\n return MatchGameState.Initial\r\n }\r\n\r\n return this.matchModule.matchGame.state\r\n }\r\n\r\n get disableChat() {\r\n if (this.matchGameState !== MatchGameState.Ready) {\r\n return false\r\n }\r\n\r\n // what is my team id?\r\n const matchTeamId = this.matchModule\r\n .matchGame!.checkIns.filter(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n .map(checkIn => checkIn.matchTeamId)[0]\r\n\r\n if (!matchTeamId) {\r\n return false\r\n }\r\n\r\n let isTeamNotReady = !this.matchModule.matchGame!.readyTeams.find(\r\n team => matchTeamId === team\r\n )\r\n\r\n if (isTeamNotReady) {\r\n this.$emit('chatblur')\r\n }\r\n\r\n return isTeamNotReady\r\n }\r\n\r\n @Watch('matchId')\r\n async onMatchIdChanged() {\r\n this.messages = []\r\n this.chatMessage = ''\r\n\r\n // chat history loading\r\n this.currentPage = 0\r\n this.hasMorePage = true\r\n this.isLoading = false\r\n\r\n await this.fetchChatMessages(1)\r\n\r\n this.chatContent.removeEventListener('scroll', this.onChatContentScroll)\r\n this.bindEventListeners()\r\n }\r\n\r\n async created() {\r\n await this.fetchChatMessages(1)\r\n this.bindEventListeners()\r\n\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchChat.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('matchChat', this.onMatchChat)\r\n }\r\n\r\n beforeDestroy() {\r\n if (this.chatContent) {\r\n this.chatContent.removeEventListener('scroll', this.onChatContentScroll)\r\n }\r\n\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('matchChat', this.onMatchChat)\r\n }\r\n }\r\n\r\n bindEventListeners() {\r\n setTimeout(() => {\r\n this.chatContent.addEventListener('scroll', this.onChatContentScroll)\r\n }, 1000) // Delay to make sure all things are loaded\r\n }\r\n\r\n onMatchChat(matchChatMessage: MatchChatMessageEntity) {\r\n if (this.reverse) {\r\n this.messages.unshift(matchChatMessage)\r\n\r\n this.$nextTick(() => {\r\n this.chatContent.scrollTop = 0\r\n })\r\n } else {\r\n this.messages.push(matchChatMessage)\r\n\r\n this.$nextTick(() => {\r\n this.chatContent.scrollTop = this.chatContent.scrollHeight\r\n })\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (this.chatMessage.trim().length === 0 || !this.realtimeConnection) {\r\n return\r\n }\r\n\r\n this.chatInput.focus()\r\n\r\n this.realtimeConnection.send('SendMatchChatMessage', {\r\n matchId: this.matchModule.match!.matchId,\r\n message: this.chatMessage\r\n })\r\n\r\n this.$vuetify.goTo('.content-container', {\r\n container: '.match-layout-background'\r\n })\r\n\r\n this.chatMessage = ''\r\n }\r\n\r\n onChatContentScroll() {\r\n if (this.chatContent.scrollTop > 150 || this.reverse) {\r\n return\r\n }\r\n\r\n this.fetchChatMessages(this.currentPage + 1)\r\n }\r\n\r\n getTeamNameByMatchTeamId(matchTeamId: string) {\r\n if (!this.teams.teams) return null\r\n\r\n var team = this.teams.teams.find(team => team.matchTeamId === matchTeamId)\r\n return team ? team.name : ''\r\n }\r\n\r\n async fetchChatMessages(page: number) {\r\n if (this.isLoading || this.currentPage >= page || !this.hasMorePage) {\r\n return\r\n }\r\n\r\n this.isLoading = true\r\n\r\n try {\r\n this.currentPage = page\r\n\r\n const data = await this.matchModule.getChatMessages(this.currentPage)\r\n this.hasMorePage = data!.hasMorePage\r\n if (!this.reverse) {\r\n this.messages = [...data!.items.reverse(), ...this.messages]\r\n } else {\r\n this.messages = [...this.messages, ...data!.items]\r\n }\r\n\r\n if (this.chatContent) {\r\n const oldScrollHeight = this.chatContent.scrollHeight\r\n\r\n this.$nextTick(() => {\r\n this.chatContent.scrollTop +=\r\n this.chatContent.scrollHeight - oldScrollHeight\r\n })\r\n }\r\n } catch (err) {\r\n this.hasMorePage = false\r\n } finally {\r\n this.isLoading = false\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChat.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChat.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchChat.vue?vue&type=template&id=31057f40&scoped=true&\"\nimport script from \"./MatchChat.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchChat.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchChat.vue?vue&type=style&index=0&id=31057f40&lang=scss&scoped=true&\"\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 \"31057f40\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VContainer,VForm,VIcon,VProgressCircular,VTextField})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Intersect from 'vuetify/lib/directives/intersect'\ninstallDirectives(component, {Intersect})\n","import MatchChatRoom from './MatchChat.vue'\r\n\r\nexport { MatchChatRoom }\r\nexport default MatchChatRoom\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"team-list\",class:(\"team-list-\" + _vm.location)},[_c('div',{staticClass:\"team-banner\",class:(\"team-banner-\" + _vm.location)},[_c('v-container',{staticClass:\"pa-0\"},[_c('v-row',{staticClass:\"team-name-side align-end\"},[_c('v-col',{staticClass:\"team-name text-center pb-3 font-weight-bold\",domProps:{\"textContent\":_vm._s(_vm.teamName)}})],1)],1)],1),_vm._l((_vm.checkIns),function(checkIn){return _c('div',{key:(\"check-in-\" + (checkIn.member.memberId)),staticClass:\"team-player\",class:(\"team-player-\" + _vm.location + \" team-player-\" + _vm.location + \"-checked-in-\" + (checkIn.isCheckedIn))},[_c('v-container',{staticClass:\"pa-0\",staticStyle:{\"height\":\"100%\"}},[_c('v-row',{staticStyle:{\"height\":\"100%\"}},[(_vm.location === 'right')?_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"1\"}},[_c('div',{staticClass:\"team-player-status\",class:(\"team-player-\" + _vm.location + \"-status team-player-\" + _vm.location + \"-status-\" + (checkIn.isCheckedIn))})]):_vm._e(),(_vm.location === 'left')?_c('v-col',{attrs:{\"cols\":\"3\"}},[(checkIn.isCheckedIn)?[_c('UserAvatar',{staticClass:\"ml-6\",attrs:{\"width\":48,\"imageUrl\":checkIn.member.avatar}})]:[_c('v-progress-circular',{staticClass:\"ml-6\",attrs:{\"indeterminate\":\"\",\"color\":\"grey\",\"size\":\"50\"}})]],2):_vm._e(),(_vm.location === 'left')?_c('v-col',{attrs:{\"cols\":\"8\"}},[(checkIn.isCheckedIn)?_c('div',[_c('div',{staticClass:\"check-in-light\",class:(\"check-in-light-\" + _vm.location + \" check-in-light-checked-in-\" + (checkIn.isCheckedIn))}),_c('div',[_vm._v(\" \"+_vm._s(checkIn.member.nickname)+\" \")]),_c('div',{staticClass:\"grey--text caption\",domProps:{\"textContent\":_vm._s(checkIn.gameAccountNickname)}}),_c('v-chip-group',[(checkIn.role === 'Captain')?_c('v-chip',{attrs:{\"x-small\":\"\",\"color\":_vm.location === 'left' ? '#793CC7' : '#3399ff',\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Leader'))+\" \")]):_vm._e(),_c('v-chip',{attrs:{\"x-small\":\"\",\"color\":_vm.location === 'left' ? '#793CC7' : '#3399ff',\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Starter'))+\" \")])],1)],1):_c('div',{staticClass:\"fill-height\"},[_c('div',{staticClass:\"check-in-light\",class:(\"check-in-light-\" + _vm.location)}),_c('div',{staticClass:\"font-weight-bold title-2 grey--text text-uppercase pt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.WaitingForCheckIn'))+\" \")])])]):_vm._e(),(_vm.location === 'right')?_c('v-col',{attrs:{\"cols\":\"8\"}},[(checkIn.isCheckedIn)?_c('div',[_c('div',{staticClass:\"check-in-light\",class:(\"check-in-light-\" + _vm.location + \" check-in-light-checked-in-\" + (checkIn.isCheckedIn))}),_c('div',{staticClass:\"text-right\",domProps:{\"textContent\":_vm._s(checkIn.member.nickname)}}),_c('div',{staticClass:\"text-right grey--text caption\",domProps:{\"textContent\":_vm._s(checkIn.gameAccountNickname)}}),_c('v-chip-group',{staticClass:\"float-right\"},[_c('v-chip',{class:{\n 'mr-0': checkIn.role !== 'Captain'\n },attrs:{\"label\":\"\",\"x-small\":\"\",\"color\":_vm.location === 'left' ? '#793CC7' : '#1869FF'}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Starter'))+\" \")]),(checkIn.role === 'Captain')?_c('v-chip',{staticClass:\"mr-0\",attrs:{\"label\":\"\",\"x-small\":\"\",\"color\":_vm.location === 'left' ? '#793CC7' : '#1869FF'}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Leader'))+\" \")]):_vm._e()],1)],1):_c('div',{staticClass:\"grey--text fill-height\"},[_c('div',{staticClass:\"check-in-light\",class:(\"check-in-light-\" + _vm.location)}),_c('div',{staticClass:\"text-right font-weight-bold title-2 grey--text text-uppercase pt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.WaitingForCheckIn'))+\" \")])])]):_vm._e(),(_vm.location === 'right')?_c('v-col',{attrs:{\"cols\":\"3\"}},[(checkIn.isCheckedIn)?[_c('UserAvatar',{staticClass:\"mr-6\",attrs:{\"width\":48,\"imageUrl\":checkIn.member.avatar}})]:[_c('v-progress-circular',{staticClass:\"mr-6\",attrs:{\"indeterminate\":\"\",\"color\":\"grey\",\"size\":\"50\"}})]],2):_vm._e(),(_vm.location === 'left')?_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"1\"}},[_c('div',{staticClass:\"team-player-status\",class:(\"team-player-\" + _vm.location + \"-status team-player-\" + _vm.location + \"-status-\" + (checkIn.isCheckedIn))})]):_vm._e()],1)],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\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\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\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\nimport { CheckInEntity } from '@/api/match'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport { getModule } from 'vuex-module-decorators'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar\r\n }\r\n})\r\nexport default class MatchTeam extends Vue {\r\n @Prop({ required: true }) readonly location!: string\r\n @Prop({ required: true }) readonly checkIns!: CheckInEntity[]\r\n @Prop({ required: true }) readonly teamName!: string\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeam.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeam.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchTeam.vue?vue&type=template&id=2ab3d61d&scoped=true&\"\nimport script from \"./MatchTeam.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchTeam.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchTeam.vue?vue&type=style&index=0&id=2ab3d61d&lang=scss&scoped=true&\"\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 \"2ab3d61d\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VChipGroup } from 'vuetify/lib/components/VChipGroup';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VChip,VChipGroup,VCol,VContainer,VProgressCircular,VRow})\n","import MatchTeam from './MatchTeam.vue'\r\n\r\nexport default MatchTeam\r\nexport { MatchTeam }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSummaryMobile.vue?vue&type=style&index=0&id=2469dc0b&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSummaryMobile.vue?vue&type=style&index=0&id=2469dc0b&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationStatusBar.vue?vue&type=style&index=0&id=0c4919f6&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationStatusBar.vue?vue&type=style&index=0&id=0c4919f6&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"590\"},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('RemindManualSubmitResultDialog.Title')))]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('RemindManualSubmitResultDialog.Description', { game: this.gameName }))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.isModalVisible = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('RemindManualSubmitResultDialog.Confirm'))+\" \")])],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\r\nimport { Component, Vue, Prop, PropSync, Emit } from 'vue-property-decorator'\r\nimport { getGameTypes } from '@/utils/gameType'\r\n\r\n@Component\r\nexport default class RemindManualSubmitResultDialog extends Vue {\r\n @PropSync('isVisible', { type: Boolean, default: false })\r\n isModalVisible!: boolean\r\n\r\n @Prop({ default: '' }) readonly game!: string\r\n\r\n /* Computed Properties */\r\n get gameName() {\r\n const game = this.gameList.find(g => g.game === this.game)\r\n if (!game) return ''\r\n return game.text\r\n }\r\n\r\n get gameList() {\r\n const gameTypes = getGameTypes()\r\n return gameTypes.map(gameType => ({\r\n game: gameType.code,\r\n text: gameType.name\r\n }))\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./RemindManualSubmitResultDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./RemindManualSubmitResultDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RemindManualSubmitResultDialog.vue?vue&type=template&id=7bcc03d7&scoped=true&\"\nimport script from \"./RemindManualSubmitResultDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RemindManualSubmitResultDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RemindManualSubmitResultDialog.vue?vue&type=style&index=0&id=7bcc03d7&lang=scss&scoped=true&\"\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 \"7bcc03d7\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VSpacer})\n","import RemindManualSubmitResultDialog from './RemindManualSubmitResultDialog.vue'\r\nexport default RemindManualSubmitResultDialog\r\nexport { RemindManualSubmitResultDialog }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./RemindManualSubmitResultDialog.vue?vue&type=style&index=0&id=7bcc03d7&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./RemindManualSubmitResultDialog.vue?vue&type=style&index=0&id=7bcc03d7&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{ref:\"match-content\",staticClass:\"match-layout pa-0\",attrs:{\"fluid\":\"\"}},[(!_vm.$vuetify.breakpoint.mobile)?[(_vm.isElectron)?_c('MatchGameIntegrationStatusBar'):_vm._e(),_c('v-row',{staticClass:\"flex-grow-0\",attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"match-header\"},[(_vm.tournament)?_c('div',{staticClass:\"text-center tournament-name\",domProps:{\"textContent\":_vm._s(_vm.tournament.name)}}):_vm._e(),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"text-center round-group offset-md-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.Round'))+\" \"+_vm._s(_vm.matchGame.gameRound)+\" \"),(_vm.match.relatedTournament)?[_vm._v(\" - \"+_vm._s(_vm.$t('Match.Group'))+\" \"+_vm._s(_vm.match.relatedTournament.groupNumber)+\" \")]:_vm._e()],2)]),_c('v-col',{staticClass:\"text-uppercase\",attrs:{\"cols\":\"1\"}},[_c('v-btn',{staticClass:\"title font-weight-bold ml-2\",attrs:{\"x-large\":\"\",\"color\":\"white\",\"outlined\":\"\",\"block\":\"\"},on:{\"click\":_vm.back}},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"left\":\"\",\"x-large\":\"\"}},[_vm._v(\" mdi-arrow-left-bold \")]),_vm._v(\" \"+_vm._s(_vm.$t('Match.Back'))+\" \")],1)],1)],1)],1)],1),_c('v-row',{staticClass:\"match-content\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"match-opponent left-opponent\",attrs:{\"cols\":\"3\"}},[(_vm.leftTeam)?_c('MatchTeam',{attrs:{\"location\":\"left\",\"check-ins\":_vm.leftCheckIns,\"team-name\":_vm.leftTeam.name}}):_vm._e()],1),_c('v-col',{staticClass:\"match-info\",attrs:{\"cols\":\"6\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',[_c('v-chip',{staticClass:\"ma-2 px-5 match-chip\"},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\" mdi-calendar-month \")])],1),(_vm.matchGame)?_c('div',{staticClass:\"subtitle-1\"},[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.matchGame.checkInEndTime,'LLL'))+\" \")]):_vm._e()],1)],1),_c('v-col',[_c('v-chip',{staticClass:\"ma-2 px-5 match-chip\"},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\" mdi-sword-cross \")])],1),(_vm.match.totalGameRound)?_c('div',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.BestOf', { bestof: _vm.match.totalGameRound }))+\" \")]):_vm._e()],1)],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-uppercase\",attrs:{\"cols\":\"12\"}},[(_vm.isLoading)?[_c('div',{staticClass:\"text-center mt-10\"},[_c('v-progress-circular',{staticClass:\"mt-10\",attrs:{\"indeterminate\":\"\"}})],1)]:(_vm.isWaitingState)?[_c('div',{staticClass:\"text-center mt-2 mb-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.CheckInTimeRemaining'))+\" \")]),_c('div',{staticClass:\"match-checkin-counter text-center mt-2\"},[_vm._v(\" \"+_vm._s(_vm.checkInEndTimeLeft)+\" \")])]:(_vm.isInitialState)?[_c('div',{staticClass:\"headline text-center mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.WaitingForOpponent'))+\" \")])]:(_vm.isReadyState)?[_c('div',{staticClass:\"display-1 text-center mt-10\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.WaitingForCaptainToStartGame'))+\" \")])]:(_vm.isStateInProgress)?[_c('div',{staticClass:\"display-1 text-center mt-4\"},[(_vm.isPlayingState)?[_vm._v(\" \"+_vm._s(_vm.$t('Match.MatchInProgress'))+\" \"),(!_vm.isScoreSubmittable)?_c('div',{staticClass:\"caption mt-7\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.RemindTeamLeaderUploadMatchResultMessage'))+\" \")]):_vm._e()]:[(_vm.isResultSubmittedState)?[_vm._v(_vm._s(_vm.$t('Match.MatchScoreSubmitted')))]:[_vm._v(_vm._s(_vm.$t('Match.MatchDisputed')))],_c('div',{staticClass:\"match-score\",domProps:{\"textContent\":_vm._s(_vm.score)}}),(_vm.isDisputedState)?_c('div',{staticClass:\"caption mt-7\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.ScoreIncorrectMessage'))+\" \")]):_vm._e()]],2)]:(_vm.isCompletedState)?[_c('div',{staticClass:\"display-1 text-center\"},[(_vm.score)?[(_vm.winnerString)?_c('div',{staticClass:\"display-1 mt-2\"},[_vm._v(\" \"+_vm._s(_vm.winnerString)+\" \"+_vm._s(_vm.$t('Match.Wins'))+\" \")]):_vm._e(),_c('div',{staticClass:\"display-3 mt-2\",domProps:{\"textContent\":_vm._s(_vm.score)}})]:[_vm._v(\" \"+_vm._s(_vm.$t('Match.GameCompleted'))+\" \")]],2)]:_vm._e()],2)],1)],1),_c('div',{staticClass:\"essentials\"},[_c('v-container',{staticClass:\"essentials-content\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('MatchSystemMessage'),_c('MatchChat',{attrs:{\"teams\":{ leftTeam: _vm.leftTeam, rightTeam: _vm.rightTeam }}})],1)],1),_c('v-row',{staticClass:\"buttons mt-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('AppButton',{attrs:{\"label\":_vm.$t('Match.CoreRules'),\"icon\":\"mdi-script-text-outline\",\"theme\":\"transparent\",\"buttonType\":\"match\"},on:{\"click\":_vm.showMatchCoreRulesDialog}})],1),_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"4\"}},[(_vm.draftSessionId)?_c('AppButton',{staticClass:\"mx-4\",attrs:{\"label\":_vm.$t('DraftSession.BanPickButton'),\"icon\":\"mdi-cancel\",\"theme\":\"transparent\",\"buttonType\":\"match\"},on:{\"click\":function($event){_vm.isDraftVisible = true}}}):_vm._e()],1),_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"4\"}},[(_vm.isReadyState || _vm.isWaitingState)?_c('AppButton',{attrs:{\"theme\":\"blue\",\"label\":_vm.$t('Match.StartGame'),\"icon\":\"mdi-flag-checkered\",\"disabled\":!_vm.isCaptain ||\n _vm.isTeamReady ||\n !_vm.isAllCheckedIn ||\n _vm.isWaitingState,\"buttonType\":\"match\"},on:{\"click\":function($event){_vm.isStartGameDialogVisible = true}}}):_c('AppButton',{staticClass:\"text-uppercase\",attrs:{\"theme\":\"purple\",\"label\":_vm.matchSubmitButtonText,\"icon\":\"mdi-upload-multiple\",\"disabled\":!_vm.isMatchStateInProgress ||\n (!_vm.isResultSubmittedState && !_vm.isPlayingState),\"buttonType\":\"match\"},on:{\"click\":_vm.onSubmitResultClicked}})],1)],1)],1)],1)],1),_c('v-col',{staticClass:\"match-opponent right opponent\",attrs:{\"cols\":\"3\"}},[(_vm.rightTeam)?_c('MatchTeam',{attrs:{\"location\":\"right\",\"check-ins\":_vm.rightCheckIns,\"team-name\":_vm.rightTeam.name}}):_vm._e()],1)],1)]:[(_vm.matchGame)?_c('div',{staticClass:\"match-content mobile d-flex flex-column\"},[_c('div',{staticClass:\"text-center my-0\"},[_c('MatchSummaryMobile',{attrs:{\"match-game\":_vm.matchGame,\"leftTeam\":_vm.leftTeam,\"rightTeam\":_vm.rightTeam,\"checkIns\":_vm.matchGame.checkIns,\"self-team\":_vm.myTeam},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(_vm.checkInEndTimeLeft && _vm.isWaitingState)?_c('div',{staticClass:\"heading font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.checkInEndTimeLeft)+\" \")]):(_vm.isStateInProgress)?[(!_vm.isScoreSubmittable || _vm.isDisputedState)?_c('div',{staticClass:\"text-center\"},[(_vm.isPlayingState)?[(!_vm.isScoreSubmittable)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.RemindTeamLeaderUploadMatchResultMessage'))+\" \")]):_vm._e()]:[(_vm.isDisputedState)?_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('Match.ScoreIncorrectMessage'))+\" \")]):_vm._e()]],2):_vm._e()]:(_vm.isCompletedState)?[_c('div',{staticClass:\"text-center\"},[(_vm.score)?[(_vm.winnerString)?_c('div',{staticClass:\"mt-2\"},[_vm._v(\" \"+_vm._s(_vm.winnerString)+\" \"+_vm._s(_vm.$t('Match.Wins'))+\" \")]):_vm._e()]:[_vm._v(\" \"+_vm._s(_vm.$t('Match.GameCompleted'))+\" \")]],2)]:_vm._e()]},proxy:true},{key:\"configuration\",fn:function(){return [(_vm.matchGame)?_c('div',[_c('v-chip',{attrs:{\"color\":\"transparent\",\"small\":\"\"}},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\" mdi-calendar-month \")])],1),(_vm.matchGame)?_c('div',{staticClass:\"font-weight-bold black--text\"},[_vm._v(\" \"+_vm._s(_vm._f(\"moment\")(_vm.matchGame.checkInEndTime,'LLL'))+\" \")]):_vm._e()],1)],1):_vm._e()]},proxy:true},{key:\"badge\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Match.BestOf', { bestof: _vm.match.totalGameRound }))+\" \")]},proxy:true},{key:\"score\",fn:function(){return [_c('div',{staticClass:\"match-score mobile mt-3 text-center\",domProps:{\"textContent\":_vm._s(_vm.score)}})]},proxy:true},{key:\"message\",fn:function(){return [_c('MatchSystemMessage')]},proxy:true}],null,false,2420304009)},[(_vm.draftSessionId)?_c('div',{staticClass:\"mt-2\"},[_c('v-btn',{attrs:{\"outlined\":\"\",\"block\":\"\"},on:{\"click\":function($event){_vm.isDraftVisible = true}}},[_vm._v(_vm._s(_vm.$t('DraftSession.BanPickButton')))])],1):_vm._e()])],1),_c('div',{staticClass:\"black mt-0 flex-grow-1\",attrs:{\"no-gutters\":\"\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('MatchChat',{attrs:{\"reverse\":\"\",\"compact\":\"\",\"teams\":{ leftTeam: _vm.leftTeam, rightTeam: _vm.rightTeam }},on:{\"chatfocus\":function($event){_vm.isFooterVisible = false},\"chatblur\":function($event){_vm.isFooterVisible = true}}})],1)])]):_vm._e(),(_vm.isFooterVisible)?_c('v-footer',{staticClass:\"font-weight-medium px-0\",attrs:{\"fixed\":\"\",\"color\":\"black\"}},[_c('v-col',{staticClass:\"black py-0\",attrs:{\"cols\":\"6\"}},[_c('AppButton',{attrs:{\"buttonType\":\"tournament\",\"size\":\"full-width\",\"theme\":\"transparent\",\"label\":_vm.$t('Match.CoreRules'),\"icon\":\"mdi-script-text-outline\"},on:{\"click\":_vm.showMatchCoreRulesDialog}})],1),_c('v-col',{staticClass:\"black py-0\",attrs:{\"cols\":\"6\"}},[(_vm.isReadyState || _vm.isWaitingState)?_c('AppButton',{attrs:{\"buttonType\":\"tournament\",\"theme\":\"blue\",\"size\":\"full-width\",\"label\":_vm.$t('Match.StartGame'),\"icon\":\"mdi-flag-checkered\",\"disabled\":_vm.isWaitingState || !_vm.isCaptain || _vm.isTeamReady || !_vm.isAllCheckedIn},on:{\"click\":function($event){_vm.isStartGameDialogVisible = true}}}):_c('AppButton',{staticClass:\"text-uppercase\",attrs:{\"buttonType\":\"tournament\",\"theme\":\"blue\",\"size\":\"full-width\",\"label\":_vm.matchSubmitButtonText,\"icon\":\"mdi-upload-multiple\",\"disabled\":!_vm.isMatchStateInProgress ||\n (!_vm.isResultSubmittedState && !_vm.isPlayingState)},on:{\"click\":_vm.onSubmitResultClicked}})],1)],1):_vm._e()],_c('MatchSubmitResult',{attrs:{\"visible\":_vm.isSubmitResultDialogVisible},on:{\"update:visible\":function($event){_vm.isSubmitResultDialogVisible=$event}}}),_c('MatchIntegrationResultPreview',{attrs:{\"visible\":_vm.isMatchIntegrationResultPreviewVisible},on:{\"update:visible\":function($event){_vm.isMatchIntegrationResultPreviewVisible=$event}}}),_c('MatchCheckInDialog',{attrs:{\"is-visible\":_vm.isCheckInDialogVisible},on:{\"update:isVisible\":function($event){_vm.isCheckInDialogVisible=$event},\"update:is-visible\":function($event){_vm.isCheckInDialogVisible=$event},\"close\":_vm.updateMatchGameState}}),(_vm.tournament)?_c('MatchStartGameDialog',{attrs:{\"is-visible\":_vm.isStartGameDialogVisible,\"checkInDuration\":_vm.tournament.scheduleCheckInDuration * 60,\"minTeamMember\":_vm.tournament.capacityMinPlayersPerTeam},on:{\"update:isVisible\":function($event){_vm.isStartGameDialogVisible=$event},\"update:is-visible\":function($event){_vm.isStartGameDialogVisible=$event},\"confirm\":_vm.setReady,\"cancel\":function($event){_vm.isStartGameDialogVisible = false}}}):_vm._e(),_c('ConfirmDialog',{attrs:{\"is-visible\":_vm.isSubmitResultConfirmDialogVisible,\"title\":(\"\" + (_vm.$t('Match.Warning'))),\"content\":(\"\" + (_vm.$t('Match.ConfirmOverwriteResult')))},on:{\"update:isVisible\":function($event){_vm.isSubmitResultConfirmDialogVisible=$event},\"update:is-visible\":function($event){_vm.isSubmitResultConfirmDialogVisible=$event},\"confirm\":_vm.onConfirmOverwriteResult,\"cancel\":function($event){_vm.isSubmitResultConfirmDialogVisible = false}}}),_c('MatchCoreRulesDialog'),(_vm.matchGame)?_c('ManageRosterDialog',{attrs:{\"visible\":_vm.isManageRosterDialogVisible,\"match-game-id\":_vm.matchGame.matchGameId},on:{\"update:visible\":function($event){_vm.isManageRosterDialogVisible=$event}}}):_vm._e(),(_vm.tournament)?_c('RemindManualSubmitResultDialog',{attrs:{\"is-visible\":_vm.isRemindManualSubmitResultDialogVisible,\"game\":_vm.tournament.game},on:{\"update:isVisible\":function($event){_vm.isRemindManualSubmitResultDialogVisible=$event},\"update:is-visible\":function($event){_vm.isRemindManualSubmitResultDialogVisible=$event}}}):_vm._e(),(_vm.draftSessionId && _vm.tournament)?_c('DraftSessionDialog',{attrs:{\"game\":_vm.tournament.game,\"draft-session-id\":_vm.draftSessionId,\"draft-team-number\":_vm.draftTeamNumber,\"visible\":_vm.isDraftVisible},on:{\"update:visible\":function($event){_vm.isDraftVisible=$event}}}):_vm._e()],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\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\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\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\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\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\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\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch, Ref, Prop } from 'vue-property-decorator'\r\nimport MatchTeam from '@/modules/match/components/MatchTeam'\r\nimport MatchCoreRulesDialog from '@/modules/match/components/MatchCoreRulesDialog'\r\nimport MatchStartGameDialog from '@/modules/match/components/MatchStartGameDialog'\r\n\r\nimport RemindManualSubmitResultDialog from '@/modules/match/components/RemindManualSubmitResultDialog'\r\nimport MatchSubmitResult from '@/modules/match/components/MatchSubmitResult'\r\nimport MatchIntegrationResultPreview from '@/modules/match/components/MatchIntegrationResultPreview'\r\nimport MatchSystemMessage from '@/modules/match/components/MatchSystemMessage'\r\nimport MatchGameIntegrationStatusBar from '@/modules/match/components/MatchGameIntegrationStatusBar'\r\nimport MatchChat from '@/modules/match/components/MatchChat'\r\nimport AppButton from '@/modules/shared/components/AppButton'\r\nimport {\r\n CheckInEntity,\r\n CheckInRoleType,\r\n GameResult,\r\n LeagueLobby,\r\n MatchAPI,\r\n MatchGameState,\r\n MatchState\r\n} from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { now } from '@/utils/time'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport MatchCheckInDialog from '@/modules/match/components/MatchCheckInDialog/MatchCheckInDialog.vue'\r\nimport MatchGameIntegrationButton from '@/modules/match/components/MatchGameIntegrationButton'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport ManageRosterDialog from '@/modules/match/components/ManageRosterDialog'\r\nimport LeagueIntegration from '@/utils/integration/lol'\r\nimport { isElectron } from '@/utils/electron'\r\nimport DraftSessionWildRift from '@/modules/draft/components/DraftSessionWildRift/DraftSessionWildRift.vue'\r\nimport DraftSessionDialog from '@/modules/draft/components/DraftSessionDialog/DraftSessionDialog.vue'\r\nimport MatchSummaryMobile from '@/modules/match/components/MatchSummaryMobile/MatchSummaryMobile.vue'\r\nimport { StageFormatType } from '@/api/stage'\r\n\r\ninterface MatchGameRosterUpdatedResponse {\r\n addedMembers: string[]\r\n removedMembers: string[]\r\n}\r\n\r\n@Component({\r\n components: {\r\n DraftSessionDialog,\r\n MatchCheckInDialog,\r\n MatchTeam,\r\n MatchSubmitResult,\r\n MatchSystemMessage,\r\n MatchGameIntegrationStatusBar,\r\n MatchChat,\r\n MatchStartGameDialog,\r\n MatchGameIntegrationButton,\r\n\r\n MatchIntegrationResultPreview,\r\n ConfirmDialog,\r\n AppButton,\r\n MatchCoreRulesDialog,\r\n ManageRosterDialog,\r\n RemindManualSubmitResultDialog,\r\n DraftSessionWildRift,\r\n MatchSummaryMobile\r\n }\r\n})\r\nexport default class Match extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n isCheckInDialogVisible: boolean = false\r\n isSubmitResultDialogVisible: boolean = false\r\n isSubmitResultConfirmDialogVisible: boolean = false\r\n isStartGameDialogVisible: boolean = false\r\n isManageRosterDialogVisible: boolean = false\r\n isMatchIntegrationResultPreviewVisible: boolean = false\r\n isRemindManualSubmitResultDialogVisible: boolean = false\r\n checkInEndTimeLeft: string = ''\r\n now: number = 0\r\n tickTimer: NodeJS.Timeout | null = null\r\n joinTimer: NodeJS.Timeout | null = null\r\n isDraftVisible: boolean = false\r\n\r\n @Ref('match-content') readonly matchContent!: HTMLDivElement\r\n\r\n @Prop({ default: '' }) readonly game!: string\r\n\r\n get isFooterVisible() {\r\n return this.matchModule.mobileFooterVisible\r\n }\r\n\r\n set isFooterVisible(value: boolean) {\r\n this.matchModule.setMatchFooterVisible(value)\r\n }\r\n\r\n /* Watchers */\r\n @Watch('isWaitingState')\r\n onIsWaitingStateChanged(isPlaying: boolean) {\r\n if (!isPlaying) {\r\n this.isManageRosterDialogVisible = false\r\n }\r\n }\r\n\r\n @Watch('isPlayingState')\r\n async onIsPlayingStateChanged(isPlaying: boolean) {\r\n // not integrate if anything is missing or not support auto get game evidence\r\n if (\r\n !this.tournament ||\r\n !this.matchGame ||\r\n !isPlaying ||\r\n !this.match ||\r\n !this.match.isAutoGetGameEvidence\r\n )\r\n return\r\n if (isPlaying) {\r\n await LeagueIntegration.start(this.matchGame.matchGameId)\r\n }\r\n }\r\n\r\n @Watch('currentState')\r\n onStateChanged(state: string) {\r\n // update all time related stuff when the state change\r\n this.onTick()\r\n }\r\n\r\n mounted() {\r\n if (this.matchGame) {\r\n this.onMatchGameChanged()\r\n }\r\n }\r\n\r\n @Watch('matchGame')\r\n onMatchGameChanged() {\r\n if (this.matchGame!.teams!.length > 2) {\r\n this.$router.replace({\r\n name: 'FFAMatch'\r\n })\r\n }\r\n }\r\n\r\n /* Match room store */\r\n get match() {\r\n return this.matchModule.match\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get matchGameResults() {\r\n return this.matchModule.matchGameResults\r\n }\r\n\r\n get tournament() {\r\n return this.matchModule.tournament\r\n }\r\n\r\n get stage() {\r\n return this.matchModule.stage\r\n }\r\n\r\n get leftTeam() {\r\n return this.matchGame!.teams[0]\r\n }\r\n\r\n get rightTeam() {\r\n return this.matchGame!.teams[1]\r\n }\r\n\r\n get leftCheckIns(): CheckInEntity[] {\r\n if (!this.leftTeam) {\r\n return []\r\n }\r\n\r\n return this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === this.leftTeam.matchTeamId\r\n )\r\n }\r\n\r\n get rightCheckIns(): CheckInEntity[] {\r\n if (!this.rightTeam) {\r\n return []\r\n }\r\n\r\n return this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === this.rightTeam.matchTeamId\r\n )\r\n }\r\n\r\n get isLoading() {\r\n return !this.matchGame\r\n }\r\n\r\n get isAllCheckedIn() {\r\n if (!this.matchGame) return false\r\n return !this.matchGame.checkIns.some(data => !data.isCheckedIn)\r\n }\r\n\r\n /* Match Game State Getters */\r\n get isInitialState() {\r\n return this.matchGame!.state === MatchGameState.Initial\r\n }\r\n\r\n get isWaitingState() {\r\n return this.matchGame!.state === MatchGameState.Waiting\r\n }\r\n get isReadyState() {\r\n return this.matchGame!.state === MatchGameState.Ready\r\n }\r\n get isPlayingState() {\r\n return this.matchGame!.state === MatchGameState.Playing\r\n }\r\n get isResultSubmittedState() {\r\n return this.matchGame!.state === MatchGameState.ResultSubmitted\r\n }\r\n get isDisputedState() {\r\n return this.matchGame!.state === MatchGameState.Disputed\r\n }\r\n get isCompletedState() {\r\n return this.matchGame!.state === MatchGameState.Completed\r\n }\r\n\r\n get isStateInProgress() {\r\n return (\r\n this.matchGame!.state === MatchGameState.ResultSubmitted ||\r\n this.matchGame!.state === MatchGameState.Playing ||\r\n this.matchGame!.state === MatchGameState.Disputed\r\n )\r\n }\r\n\r\n get matchSubmitButtonText() {\r\n if (this.matchGameResults && this.matchGameResults.length > 0) {\r\n return this.$t('Match.ResubmitResult')\r\n }\r\n\r\n return this.$t('Match.SubmitResult')\r\n }\r\n\r\n /* Match State */\r\n get isMatchStateCompleted() {\r\n return this.match!.state === MatchState.Completed\r\n }\r\n\r\n get isMatchStateInProgress() {\r\n return this.match!.state === MatchState.InProgress\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n /*\r\n get currentState() {\r\n\r\n if (this.matchRoomGame!.state === MatchRoomGameState.InProgress) {\r\n if (\r\n !this.matchRoomGameResults ||\r\n this.matchRoomGameResults.length === 0\r\n ) {\r\n return 'in-progress'\r\n } else {\r\n return 'score-submitted'\r\n }\r\n } else if (this.matchRoomGame!.state === MatchRoomGameState.Completed) {\r\n return 'completed'\r\n } else if (!this.matchSchedule) {\r\n return 'loading'\r\n } else if (this.now < this.matchSchedule!.checkInStartTime) {\r\n return 'not-started'\r\n } else if (this.now < this.matchSchedule!.checkInEndTime) {\r\n return !this.leftTeam || !this.rightTeam\r\n ? 'waiting-previous-match'\r\n : 'checking-in'\r\n } else {\r\n return 'cancelled'\r\n }\r\n\r\n }\r\n */\r\n\r\n get score() {\r\n if (this.matchGameResults.length === 0) {\r\n return null\r\n }\r\n\r\n const leftResult = this.matchGameResults\r\n .sort((a, b) => (a.isFinal ? -1 : 1))\r\n .find(result => result.matchTeamId === this.leftTeam.matchTeamId)\r\n const rightResult = this.matchGameResults\r\n .sort((a, b) => (a.isFinal ? -1 : 1))\r\n .find(result => result.matchTeamId === this.rightTeam.matchTeamId)\r\n\r\n let leftScore = '?'\r\n let rightScore = '?'\r\n\r\n if (leftResult) {\r\n leftScore = leftResult.score.toString()\r\n }\r\n\r\n if (rightResult) {\r\n rightScore = rightResult.score.toString()\r\n }\r\n\r\n return `${leftScore} : ${rightScore}`\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get winnerString() {\r\n if (!this.matchGame) {\r\n return ''\r\n }\r\n\r\n const winnerIds = this.matchGameResults\r\n .filter(matchGameResult => matchGameResult.isFinal)\r\n .filter(matchGameResult => matchGameResult.result === GameResult.Win)\r\n .map(matchGameResult => matchGameResult.matchTeamId)\r\n\r\n const winnerTeamNames = []\r\n\r\n for (const matchTeamId of winnerIds) {\r\n const matchTeam = this.matchGame.teams.find(\r\n matchTeam => matchTeam.matchTeamId === matchTeamId\r\n )\r\n\r\n if (matchTeam) {\r\n winnerTeamNames.push(matchTeam.name)\r\n }\r\n }\r\n\r\n return winnerTeamNames.join(', ')\r\n }\r\n\r\n get isScoreSubmittable() {\r\n return (\r\n !!this.matchGame!.checkIns.filter(\r\n checkIn => checkIn.role === CheckInRoleType.Captain\r\n ).find(checkIn => checkIn.member.memberId === this.userId) &&\r\n this.isTeamReady\r\n )\r\n }\r\n\r\n get isCaptain() {\r\n return !!this.matchGame!.checkIns.find(\r\n checkIn =>\r\n checkIn.role === CheckInRoleType.Captain &&\r\n checkIn.member.memberId === this.userId\r\n )\r\n }\r\n\r\n get matchTeamId() {\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n if (!checkIn) {\r\n return ''\r\n }\r\n\r\n return checkIn.matchTeamId\r\n }\r\n\r\n get isTeamReady() {\r\n return !!this.matchGame!.readyTeams.find(team => team === this.matchTeamId)\r\n }\r\n\r\n /* Hooks */\r\n async created() {\r\n this.isCheckInDialogVisible = false\r\n\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('Match.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('playerCheckIn', this.onPlayerCheckIn)\r\n this.realtimeConnection.on('playerCheckInAll', this.onPlayerCheckInAll)\r\n this.realtimeConnection.on('matchTeamReady', this.onMatchTeamReady)\r\n this.realtimeConnection.on('matchTeamReadyAll', this.onMatchTeamReadyAll)\r\n this.realtimeConnection.on(\r\n 'draftSessionCreated',\r\n this.onDraftSessionCreated\r\n )\r\n this.realtimeConnection.on(\r\n 'matchGameRosterUpdated',\r\n this.onMatchGameRosterUpdated\r\n )\r\n this.realtimeConnection.on('lol:joinCustomGame', this.onLolJoinCustomGame)\r\n\r\n // timer to check the time passed the check in start time periodically\r\n this.tickTimer = setInterval(this.onTick, 500)\r\n await this.onTick()\r\n\r\n if (this.isPlayingState) {\r\n await this.onIsPlayingStateChanged(true)\r\n }\r\n }\r\n\r\n async beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('playerCheckIn', this.onPlayerCheckIn)\r\n this.realtimeConnection.off('playerCheckInAll', this.onPlayerCheckInAll)\r\n this.realtimeConnection.off('matchTeamReady', this.onMatchTeamReady)\r\n this.realtimeConnection.off('matchTeamReadyAll', this.onMatchTeamReadyAll)\r\n this.realtimeConnection.off(\r\n 'draftSessionCreated',\r\n this.onDraftSessionCreated\r\n )\r\n this.realtimeConnection.off(\r\n 'matchGameRosterUpdated',\r\n this.onMatchGameRosterUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'lol:joinCustomGame',\r\n this.onLolJoinCustomGame\r\n )\r\n }\r\n\r\n if (this.tickTimer) {\r\n clearInterval(this.tickTimer)\r\n }\r\n\r\n if (this.joinTimer) {\r\n clearTimeout(this.joinTimer)\r\n }\r\n\r\n await this.integrationModule.setJoiningCustomGame(false)\r\n await LeagueIntegration.stop()\r\n }\r\n\r\n /* Methods */\r\n async onPlayerCheckIn(memberId: string) {\r\n // update check in state\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === memberId\r\n )\r\n\r\n if (checkIn) {\r\n checkIn.isCheckedIn = true\r\n\r\n if (checkIn.member.memberId === this.userId) {\r\n this.isCheckInDialogVisible = false\r\n }\r\n } else {\r\n await this.updateMatchGameState()\r\n }\r\n }\r\n\r\n async onPlayerCheckInAll() {\r\n await this.updateMatchGameState()\r\n if (this.matchGame!.state === MatchGameState.Ready && this.isCaptain)\r\n this.isStartGameDialogVisible = true\r\n }\r\n\r\n async updateMatchGameState() {\r\n // update match game if everyone is checked in\r\n try {\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('Match.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async onMatchTeamReady(matchTeamId: string) {\r\n // update ready state\r\n this.matchGame!.readyTeams.push(matchTeamId)\r\n }\r\n\r\n async onMatchTeamReadyAll(draftSessionId: string) {\r\n await this.updateMatchGameState()\r\n await this.matchModule.fetchMatch(this.match!.matchId)\r\n\r\n if (draftSessionId) {\r\n this.isDraftVisible = true\r\n }\r\n }\r\n\r\n async onDraftSessionCreated(draftSessionId: string) {\r\n await this.updateMatchGameState()\r\n await this.matchModule.fetchMatch(this.match!.matchId)\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n\r\n if (draftSessionId) {\r\n this.isDraftVisible = true\r\n }\r\n }\r\n\r\n async onTick() {\r\n this.now = now().getTime() / 1000\r\n\r\n if (!this.matchGame) {\r\n return\r\n }\r\n\r\n if (this.matchGame.state !== MatchGameState.Waiting) {\r\n return\r\n }\r\n\r\n if (\r\n this.matchGame.checkInStartTime <= this.now &&\r\n this.matchGame.checkInEndTime >= this.now\r\n ) {\r\n // check whether we are checked in\r\n const checkIn = this.matchGame.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n this.isCheckInDialogVisible = !!(checkIn && !checkIn.isCheckedIn)\r\n\r\n this.updateCheckInEndTimeLeft()\r\n }\r\n }\r\n\r\n onSubmitResultClicked() {\r\n if (this.matchGameResults && this.matchGameResults.length > 0) {\r\n // ask if overwrite result\r\n this.isSubmitResultConfirmDialogVisible = true\r\n } else {\r\n this.isSubmitResultDialogVisible = true\r\n }\r\n }\r\n\r\n onConfirmOverwriteResult() {\r\n this.isSubmitResultConfirmDialogVisible = false\r\n this.isSubmitResultDialogVisible = true\r\n }\r\n\r\n updateCheckInEndTimeLeft() {\r\n if (!this.matchGame) {\r\n return\r\n }\r\n\r\n const timeLeft = Math.round(this.matchGame.checkInEndTime - this.now)\r\n\r\n if (timeLeft <= 0) {\r\n this.isCheckInDialogVisible = false\r\n }\r\n\r\n const hr = Math.floor(timeLeft / 60 / 60)\r\n const min = Math.floor(timeLeft / 60) - hr * 60\r\n const sec = timeLeft % 60\r\n\r\n this.checkInEndTimeLeft = `${hr\r\n .toString()\r\n .padStart(2, '0')}:${min\r\n .toString()\r\n .padStart(2, '0')}:${sec.toString().padStart(2, '0')}`\r\n }\r\n\r\n async setReady() {\r\n this.isStartGameDialogVisible = false\r\n try {\r\n await MatchAPI.captainReady(this.matchGame!.matchGameId)\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('Match.FailConnectServerMessage'))\r\n }\r\n console.error(err)\r\n }\r\n }\r\n\r\n showMatchCoreRulesDialog() {\r\n return this.matchModule.setMatchCoreRulesDialogVisible(true)\r\n }\r\n\r\n async onMatchGameRosterUpdated(data: MatchGameRosterUpdatedResponse) {\r\n if (data.removedMembers.find(memberId => memberId === this.userId)) {\r\n await this.$router.push('/')\r\n await this.$toast.error(\r\n this.$t('Match.CaptainRemoveTeamMemberFromRoster')\r\n )\r\n } else {\r\n await this.matchModule.fetchMatchGame(this.matchGame!.matchGameId)\r\n }\r\n }\r\n\r\n async onLolJoinCustomGame(lobby: LeagueLobby) {\r\n await this.matchModule.setLeagueLobby(lobby)\r\n\r\n // find the position of mine\r\n const memberIds = this.matchGame!.checkIns.map(\r\n checkIn => checkIn.member.memberId\r\n )\r\n\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n // find which team it is\r\n const matchTeamId = checkIn!.matchTeamId\r\n const teamOneMatchTeamId = this.matchGame!.teams[0].matchTeamId\r\n\r\n // do not join for the one who is creating custom game\r\n if (\r\n teamOneMatchTeamId === matchTeamId &&\r\n checkIn!.role === CheckInRoleType.Captain\r\n ) {\r\n return\r\n }\r\n\r\n // show loading message\r\n await this.integrationModule.setJoiningCustomGame(true)\r\n\r\n const position = memberIds.indexOf(this.userId)\r\n\r\n this.joinTimer = setTimeout(async () => {\r\n await this.integrationModule.joinCustomGame({\r\n lobby,\r\n team: teamOneMatchTeamId === matchTeamId ? 'one' : 'two'\r\n })\r\n }, position * 1000)\r\n }\r\n\r\n get draftSessionId() {\r\n if (!this.matchGame) {\r\n return null\r\n }\r\n\r\n return this.matchGame.draftSessionId\r\n }\r\n\r\n get draftTeamNumber() {\r\n if (!this.match || !this.matchGame) {\r\n return 0\r\n }\r\n\r\n const checkIn = this.matchGame.checkIns.find(\r\n checkIn =>\r\n checkIn.member.memberId === this.userModule.memberId &&\r\n checkIn.role === CheckInRoleType.Captain\r\n )\r\n\r\n if (!checkIn) {\r\n return 0\r\n }\r\n\r\n const team = this.matchGame.teams.find(\r\n team => team.matchTeamId === checkIn.matchTeamId\r\n )!\r\n return this.matchGame.teams.indexOf(team) + 1\r\n }\r\n\r\n async back() {\r\n if (this.match && this.match.relatedTournament) {\r\n await this.$router.push({\r\n name: 'TournamentDetailsBracket',\r\n params: {\r\n tournamentId: this.match.relatedTournament.tournamentId\r\n }\r\n })\r\n } else {\r\n await this.$router.push({\r\n name: 'Landing'\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./Match.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./Match.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Match.vue?vue&type=template&id=422426fa&scoped=true&\"\nimport script from \"./Match.vue?vue&type=script&lang=ts&\"\nexport * from \"./Match.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Match.vue?vue&type=style&index=0&id=422426fa&lang=scss&scoped=true&\"\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 \"422426fa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAvatar,VBtn,VChip,VCol,VContainer,VFooter,VIcon,VProgressCircular,VRow})\n","import Match from './Match.vue'\r\n\r\nexport { Match }\r\nexport default Match\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-slide-y-transition',[(_vm.isVisible)?_c('v-system-bar',{staticClass:\"integration-status-bar\",attrs:{\"color\":_vm.color}},[_c('v-spacer'),_c('span',{staticClass:\"white--text\"},[_c('v-icon',{staticClass:\"px-1\"},[_vm._v(_vm._s(_vm.icon))]),_vm._v(_vm._s(_vm.message))],1),_c('v-spacer')],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport matchStore from '../../match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport { MatchGameState } from '@/api/match'\r\nimport { isElectron } from '@/utils/electron'\r\n\r\n@Component\r\nexport default class MatchGameIntegrationStatusBar extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n isOpen: boolean = false\r\n isLoading: boolean = false\r\n isRequested: boolean = false\r\n\r\n color: string = 'grey'\r\n message: string = ''\r\n icon: string = ''\r\n visibleMatchGameState: MatchGameState[] = [MatchGameState.Playing]\r\n\r\n /* Getters */\r\n get connectStatus() {\r\n return this.integrationModule.connectionStatus\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get match() {\r\n return this.matchModule.match\r\n }\r\n\r\n get isVisible() {\r\n return (\r\n this.match &&\r\n this.match.isAutoGetGameEvidence &&\r\n this.matchGame &&\r\n this.visibleMatchGameState.includes(this.matchGame.state)\r\n )\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n /* Watchers */\r\n @Watch('connectStatus')\r\n onConnectStatusUpdated() {\r\n this.updateStatusInformation()\r\n }\r\n\r\n /* Hooks */\r\n mounted() {\r\n this.updateStatusInformation()\r\n }\r\n\r\n /* Methods */\r\n updateStatusInformation() {\r\n if (!this.isElectron) {\r\n this.color = 'orange darken-1'\r\n this.icon = 'mdi-microsoft-windows'\r\n this.message = this.$t(\r\n 'MatchGameIntegrationStatusBar.DownloadVersusArenaClient'\r\n )\r\n return\r\n }\r\n if (this.connectStatus) {\r\n this.color = 'green'\r\n this.message = this.$t('MatchGameIntegrationStatusBar.ConnectedMessage')\r\n this.icon = 'mdi-check-network'\r\n } else {\r\n this.color = 'red'\r\n this.message = this.$t(\r\n 'MatchGameIntegrationStatusBar.NotConnectedMessage'\r\n )\r\n this.icon = 'mdi-close-network'\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationStatusBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchGameIntegrationStatusBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchGameIntegrationStatusBar.vue?vue&type=template&id=0c4919f6&scoped=true&\"\nimport script from \"./MatchGameIntegrationStatusBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchGameIntegrationStatusBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchGameIntegrationStatusBar.vue?vue&type=style&index=0&id=0c4919f6&lang=scss&scoped=true&\"\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 \"0c4919f6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSlideYTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSystemBar } from 'vuetify/lib/components/VSystemBar';\ninstallComponents(component, {VIcon,VSlideYTransition,VSpacer,VSystemBar})\n","import MatchGameIntegrationStatusBar from './MatchGameIntegrationStatusBar.vue'\r\nexport default MatchGameIntegrationStatusBar\r\nexport { MatchGameIntegrationStatusBar }\r\n","export default function getAvatar() {\r\n return '/img/member-avatar.svg'\r\n}\r\n\r\nexport function avatarInitial(name: string) {\r\n let initials = name.match(/\\b\\w/g) || []\r\n return ((initials.shift() || '') + (initials.pop() || '')).toUpperCase()\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '40%',\"persistent\":\"\",\"overlay-opacity\":\"0.9\"},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('v-card',{class:{ 'px-8 py-5': !_vm.$vuetify.breakpoint.mobile }},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t('MatchStartGameDialog.StartGame'))+\" \")]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('MatchStartGameDialog.Instruction'))+\" : \"),_c('ol',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('MatchStartGameDialog.StartGameInstructionPoint1', { checkInDuration: _vm.checkInDuration }))+\" \")]),_c('li',[_vm._v(_vm._s(_vm.$t('MatchStartGameDialog.StartGameInstructionPoint2')))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('MatchStartGameDialog.StartGameInstructionPoint3', { minTeamMember: _vm.minTeamMember }))+\" \")])])]),_c('v-card-actions',{staticClass:\"d-flex flex-column\"},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('MatchStartGameDialog.Understand')},model:{value:(_vm.isUnderstood),callback:function ($$v) {_vm.isUnderstood=$$v},expression:\"isUnderstood\"}}),_c('div',[_c('v-btn',{attrs:{\"color\":\"error darken-1\",\"text\":\"\",\"x-large\":_vm.$vuetify.breakpoint.mobile},on:{\"click\":_vm.onCancelClicked}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchStartGameDialog.Cancel'))+\" \")]),_c('v-btn',{staticClass:\"font-weight-bold\",attrs:{\"color\":\"green darken-1\",\"text\":\"\",\"disabled\":!_vm.isUnderstood,\"x-large\":_vm.$vuetify.breakpoint.mobile},on:{\"click\":_vm.onConfirmClicked}},[_vm._v(\" \"+_vm._s(_vm.$t('Match.StartGame'))+\" \")])],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\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\r\nimport { Vue, Component, Prop, PropSync, Emit } from 'vue-property-decorator'\r\nimport { MatchAPI } from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport MatchRules from '@/modules/match/components/MatchRules'\r\n\r\n@Component({\r\n components: {\r\n MatchRules\r\n }\r\n})\r\nexport default class MatchStartGameDialog extends Vue {\r\n @PropSync('isVisible', { type: Boolean, default: false })\r\n isModalVisible!: boolean\r\n @Prop({ required: true }) readonly checkInDuration!: number\r\n @Prop({ required: true }) readonly minTeamMember!: number\r\n\r\n isUnderstood: boolean = false\r\n\r\n /* Methods */\r\n onConfirmClicked() {\r\n this.$emit('confirm')\r\n this.isUnderstood = false\r\n }\r\n\r\n onCancelClicked() {\r\n this.$emit('cancel')\r\n this.isUnderstood = false\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchStartGameDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchStartGameDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchStartGameDialog.vue?vue&type=template&id=486d72e1&scoped=true&\"\nimport script from \"./MatchStartGameDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchStartGameDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchStartGameDialog.vue?vue&type=style&index=0&id=486d72e1&lang=scss&scoped=true&\"\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 \"486d72e1\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VDialog})\n","import MatchStartGameDialog from './MatchStartGameDialog.vue'\r\n\r\nexport default MatchStartGameDialog\r\nexport { MatchStartGameDialog }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"1200px\",\"persistent\":\"\",\"overlay-opacity\":\"0.95\",\"overlay-color\":\"#000\",\"fullscreen\":\"\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',{attrs:{\"loading\":_vm.loading,\"color\":\"black\"}},[_c('div',{staticClass:\"core-rules-title py-5 px-8\",class:{ mobile: _vm.$vuetify.breakpoint.mobile }},[_vm._v(\" \"+_vm._s(_vm.$t('MatchCoreRulesDialog.CoreRules'))+\" \")]),_c('div',{staticClass:\"rules py-2 px-8\"},[_c('MatchRules')],1),_c('div',{staticClass:\"button-side pt-4 pb-6\"},[_c('AppButton',{attrs:{\"label\":this.$t('MatchCoreRulesDialog.Confirm'),\"theme\":\"transparent\",\"buttonType\":\"match\"},on:{\"click\":_vm.close}})],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\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport MatchRules from '@/modules/match/components/MatchRules'\r\nimport AppButton from '@/modules/shared/components/AppButton'\r\n\r\n@Component({\r\n components: {\r\n MatchRules,\r\n AppButton\r\n }\r\n})\r\nexport default class extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n loading: boolean = false\r\n\r\n get isVisible() {\r\n return this.matchModule.isMatchCoreRulesDialogVisible\r\n }\r\n\r\n async close() {\r\n this.matchModule.setMatchCoreRulesDialogVisible(false)\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCoreRulesDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCoreRulesDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchCoreRulesDialog.vue?vue&type=template&id=26622e06&scoped=true&\"\nimport script from \"./MatchCoreRulesDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchCoreRulesDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchCoreRulesDialog.vue?vue&type=style&index=0&id=26622e06&lang=scss&scoped=true&\"\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 \"26622e06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VCard,VDialog})\n","import MatchCoreRulesDialog from './MatchCoreRulesDialog.vue'\r\n\r\nexport { MatchCoreRulesDialog }\r\nexport default MatchCoreRulesDialog\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSubmitResult.vue?vue&type=style&index=0&id=4aa67dcb&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSubmitResult.vue?vue&type=style&index=0&id=4aa67dcb&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChat.vue?vue&type=style&index=0&id=31057f40&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchChat.vue?vue&type=style&index=0&id=31057f40&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatch.vue?vue&type=style&index=0&id=b4b6ac6a&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatch.vue?vue&type=style&index=0&id=b4b6ac6a&lang=scss&scoped=true&\"","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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatchTeamMobile.vue?vue&type=style&index=0&id=cc8154ec&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatchTeamMobile.vue?vue&type=style&index=0&id=cc8154ec&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"purple darken-3\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"d-flex flex-column pa-0\",attrs:{\"cols\":\"12\"}},[(_vm.gameState)?_c('div',{staticClass:\"caption\"},[_vm._v(_vm._s(_vm.getGameStateText))]):_vm._e(),_vm._t(\"header\")],2)],1),_c('v-row',{staticClass:\"grey darken-4\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"d-flex flex-column pt-0 px-0\",attrs:{\"cols\":\"12\"}},[_vm._t(\"message\")],2)],1),_c('v-row',{staticClass:\"grey darken-4 mt-0\",attrs:{\"align\":\"center\"}},[(_vm.opponentNum <= 2)?[_c('v-col',{staticClass:\"pa-0 ma-0\",attrs:{\"cols\":\"4\"}},[(_vm.leftTeam)?[_c('v-container',{staticClass:\"pa-1\"},[_c('v-card',{attrs:{\"flat\":\"\",\"color\":\"transparent\"},on:{\"click\":function($event){return _vm.openTeamDialog(_vm.leftTeam)}}},[_c('TeamAvatar',{attrs:{\"teamLogo\":_vm.leftTeam.logo,\"teamName\":_vm.leftTeam.name,\"size\":\"3rem\",\"color\":\"secondary\",\"no-gutters\":\"\"}}),_c('div',{staticClass:\"team-name caption\"},[_vm._v(_vm._s(_vm.leftTeam.name))])],1)],1)]:_vm._e()],2),_c('v-col',{staticClass:\"pa-0 ma-0\",attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"primary rounded\"},[_vm._t(\"badge\")],2),_vm._t(\"default\"),_vm._t(\"score\")],2),_c('v-col',{staticClass:\"pa-0 ma-0\",attrs:{\"cols\":\"4\"}},[(_vm.rightTeam)?[_c('v-container',{staticClass:\"pa-1\"},[_c('v-card',{attrs:{\"flat\":\"\",\"color\":\"transparent\"},on:{\"click\":function($event){return _vm.openTeamDialog(_vm.rightTeam)}}},[_c('TeamAvatar',{attrs:{\"teamLogo\":_vm.rightTeam.logo,\"teamName\":_vm.rightTeam.name,\"size\":\"3rem\",\"color\":\"secondary\",\"no-gutters\":\"\"}}),_c('div',{staticClass:\"team-name caption\"},[_vm._v(_vm._s(_vm.rightTeam.name))])],1)],1)]:_vm._e()],2)]:[_c('v-col',{staticClass:\"pa-1 ma-0 d-flex\"},[(_vm.selfTeam)?_c('FFAMatchTeamMobile',{attrs:{\"team\":_vm.selfTeam,\"self\":true,\"ready\":_vm.isTeamReady(_vm.selfTeam.matchTeamId)}}):_vm._e(),_c('div',{staticClass:\"other-teams\"},_vm._l((_vm.teams.filter(\n function (team) { return !_vm.selfTeam || team.matchTeamId !== _vm.selfTeam.matchTeamId; }\n )),function(team){return _c('FFAMatchTeamMobile',{key:(\"ffa-team-\" + (team.matchTeamId)),attrs:{\"team\":team,\"ready\":_vm.isTeamReady(team.matchTeamId)}})}),1)],1)]],2),(_vm.selectedTeam)?_c('MatchTeamPlayersListMobile',{attrs:{\"team\":_vm.selectedTeam,\"checkIns\":_vm.checkIns,\"visible\":_vm.isTeamDialogVisible},on:{\"close\":function($event){_vm.selectedTeam = null},\"update:visible\":function($event){_vm.isTeamDialogVisible=$event}}}):_vm._e()],1)}\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-dialog',{staticClass:\"elevation-0\",attrs:{\"scrollable\":\"\",\"max-width\":\"75rem\",\"overlay-opacity\":\"0.9\"},on:{\"click:outside\":_vm.close},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"text-center\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"grey darken-4\",attrs:{\"cols\":\"12\"}},[_c('TeamAvatar',{attrs:{\"teamLogo\":_vm.team.logo,\"teamName\":_vm.team.name,\"size\":\"6rem\",\"color\":\"secondary\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.team.name))])],1)],1),_c('v-row',{staticClass:\"mt-0\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-app-bar',{attrs:{\"color\":\"primary\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account-multiple\")]),_c('span',{staticClass:\"title font-weight-bold\"},[_vm._v(_vm._s(_vm.$t('AutomatedTournament.PlayerList')))])],1),_c('v-card',[_c('v-list',{attrs:{\"two-line\":\"\"}},_vm._l((_vm.teamPlayers),function(player){return _c('v-list-item',{key:(\"teamlist-player-\" + (player.member.memberId))},[_c('v-list-item-avatar',[_c('UserAvatar',{attrs:{\"imageUrl\":player.member.avatar,\"nickname\":player.member.nickname,\"width\":\"48\"}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(player.member.nickname)+\" \")]),_c('v-list-item-subtitle',[_c('v-icon',{attrs:{\"right\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-tag-outline\")]),_vm._v(\" \"+_vm._s(player.gameAccountNickname)+\" \")],1)],1),_c('v-list-item-content',[_c('v-chip-group',[_c('v-chip',{attrs:{\"label\":\"\",\"x-small\":\"\",\"color\":\"secondary\"}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Starter'))+\" \")]),(player.role === 'Captain')?_c('v-chip',{attrs:{\"label\":\"\",\"x-small\":\"\",\"color\":\"orange darken-4\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-crown\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.Leader'))+\" \")],1):_vm._e()],1),_c('v-chip-group',[(player.isCheckedIn)?_c('v-chip',{attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"success\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.CheckInCompleted'))+\" \")],1):_vm._e(),(!player.isCheckedIn)?_c('v-chip',{attrs:{\"small\":\"\",\"label\":\"\",\"outlined\":\"\"}},[_c('v-avatar',[_c('v-progress-circular',{attrs:{\"color\":\"white\",\"indeterminate\":\"\",\"size\":\"16\",\"width\":\"2\"}})],1),_vm._v(\" \"+_vm._s(_vm.$t('MatchTeam.WaitingForCheckIn'))+\" \")],1):_vm._e()],1)],1)],1)}),1),_c('v-card-actions',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{attrs:{\"large\":\"\",\"outlined\":\"\",\"block\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t('InstantMatchTournamentInformationDialog.Close'))+\" \")],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\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\n\r\nimport { CheckInEntity, MatchTeamEntity } from '@/api/match'\r\nimport { TournamentAPI } from '@/api/tournament'\r\nimport { TournamentTeamEntity } from '@/api/tournamentTeam'\r\nimport TeamAvatar from '@/modules/shared/components/TeamAvatar'\r\nimport ServerError from '@/utils/server_error'\r\nimport { Vue, Component, Prop, PropSync, Watch } from 'vue-property-decorator'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\n\r\n@Component({\r\n components: {\r\n TeamAvatar,\r\n UserAvatar\r\n }\r\n})\r\nexport default class MatchTeamPlayersListMobile extends Vue {\r\n @PropSync('visible', { type: Boolean, required: true }) isVisible!: boolean\r\n\r\n @Prop({ type: Object, required: true }) readonly team!: MatchTeamEntity\r\n @Prop({ type: Array }) readonly checkIns!: CheckInEntity[]\r\n\r\n tournamentTeam!: TournamentTeamEntity\r\n\r\n @Watch('isVisible')\r\n onDialogVisibilityChanged(visible: boolean) {\r\n if (visible) {\r\n // this.fetchTournamentTeam()\r\n }\r\n }\r\n\r\n async fetchTournamentTeam() {\r\n if (!this.isVisible || !this.team) return\r\n\r\n try {\r\n const res = await TournamentAPI.getTournamentTeam('this.tournamentTeamId')\r\n let payload = res.data.payload\r\n if (payload) {\r\n this.tournamentTeam = payload\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n }\r\n\r\n console.error(err)\r\n }\r\n }\r\n\r\n get teamPlayers() {\r\n if (!this.team || !this.checkIns.length) return []\r\n\r\n return this.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === this.team.matchTeamId\r\n )\r\n }\r\n\r\n /* Methods */\r\n close() {\r\n this.$emit('close')\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeamPlayersListMobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchTeamPlayersListMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchTeamPlayersListMobile.vue?vue&type=template&id=3509d384&scoped=true&\"\nimport script from \"./MatchTeamPlayersListMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchTeamPlayersListMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchTeamPlayersListMobile.vue?vue&type=style&index=0&id=3509d384&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 \"3509d384\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VChipGroup } from 'vuetify/lib/components/VChipGroup';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAppBar,VAvatar,VBtn,VCard,VCardActions,VChip,VChipGroup,VCol,VContainer,VDialog,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VRow})\n","import MatchTeamPlayersListMobile from './MatchTeamPlayersListMobile.vue'\r\nexport default MatchTeamPlayersListMobile\r\nexport { MatchTeamPlayersListMobile }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ffa-team pa-1\",class:{ self: _vm.self }},[_c('v-avatar',{attrs:{\"size\":\"42\",\"color\":\"white\"}},[(_vm.team.logo)?_c('img',{attrs:{\"src\":_vm.team.logo}}):_c('span',{staticClass:\"black--text font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.team.name.substr(0, 1).toUpperCase())+\" \")])]),_c('div',{staticClass:\"status\",class:{ ok: _vm.ready }},[(_vm.ready)?_c('v-icon',{attrs:{\"color\":\"black\",\"x-small\":\"\"}},[_vm._v(\" mdi-check \")]):_c('v-icon',{attrs:{\"color\":\"white\",\"x-small\":\"\"}},[_vm._v(\" mdi-timer-sand \")])],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\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport { MatchTeamEntity } from '@/api/match'\r\n\r\n@Component\r\nexport default class FFAMatchTeamMobile extends Vue {\r\n @Prop({ type: Object }) readonly team!: MatchTeamEntity\r\n @Prop({ type: Boolean, default: false }) readonly self!: boolean\r\n @Prop({ type: Boolean, default: false }) readonly ready!: boolean\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatchTeamMobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./FFAMatchTeamMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FFAMatchTeamMobile.vue?vue&type=template&id=cc8154ec&scoped=true&\"\nimport script from \"./FFAMatchTeamMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./FFAMatchTeamMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FFAMatchTeamMobile.vue?vue&type=style&index=0&id=cc8154ec&lang=scss&scoped=true&\"\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 \"cc8154ec\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VAvatar,VIcon})\n","import FFAMatchTeamMobile from './FFAMatchTeamMobile.vue'\r\n\r\nexport { FFAMatchTeamMobile }\r\nexport default FFAMatchTeamMobile\r\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\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\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport TeamAvatar from '@/modules/shared/components/TeamAvatar'\r\nimport MatchTeamPlayersListMobile from '@/modules/match/components/MatchTeamPlayersListMobile'\r\nimport {\r\n CheckInEntity,\r\n MatchGameEntity,\r\n MatchGameState,\r\n MatchTeamEntity\r\n} from '@/api/match'\r\nimport FFAMatchTeamMobile from '@/modules/match/components/FFAMatchTeamMobile'\r\n\r\n@Component({\r\n components: {\r\n FFAMatchTeamMobile,\r\n TeamAvatar,\r\n MatchTeamPlayersListMobile\r\n }\r\n})\r\nexport default class MatchSummaryMobile extends Vue {\r\n @Prop({ type: Object }) readonly matchGame!: MatchGameEntity\r\n @Prop({ type: Object }) readonly leftTeam!: MatchTeamEntity | undefined\r\n @Prop({ type: Object }) readonly rightTeam!: MatchTeamEntity | undefined\r\n @Prop({ type: Array }) readonly teams!: MatchTeamEntity[] | undefined\r\n @Prop({ type: Object }) readonly selfTeam!: MatchTeamEntity\r\n @Prop({ type: Array }) readonly checkIns!: CheckInEntity[]\r\n\r\n isDialogVisible: boolean = false\r\n isTeamDialogVisible: boolean = false\r\n selectedTeam: MatchTeamEntity | null = null\r\n\r\n get gameState() {\r\n return this.matchGame.state\r\n }\r\n\r\n get getGameStateText() {\r\n switch (this.gameState) {\r\n case MatchGameState.Initial:\r\n return this.$t('Match.WaitingForOpponent')\r\n case MatchGameState.Waiting:\r\n return this.$t('Match.CheckInTimeRemaining')\r\n case MatchGameState.Ready:\r\n return this.$t('Match.WaitingForCaptainToStartGame')\r\n case MatchGameState.Playing:\r\n return this.$t('Match.MatchInProgress')\r\n case MatchGameState.ResultSubmitted:\r\n return this.$t('Match.MatchScoreSubmitted')\r\n case MatchGameState.Disputed:\r\n return this.$t('Match.MatchDisputed')\r\n case MatchGameState.Completed:\r\n return this.$t('Match.GameCompleted')\r\n default:\r\n return ''\r\n }\r\n }\r\n\r\n get opponentNum() {\r\n if (this.teams) {\r\n return this.teams.length\r\n } else {\r\n return 2\r\n }\r\n }\r\n\r\n openTeamDialog(team: MatchTeamEntity) {\r\n this.selectedTeam = team\r\n this.isTeamDialogVisible = true\r\n }\r\n\r\n isTeamReady(matchTeamId: string) {\r\n if (this.gameState === MatchGameState.Waiting) {\r\n const checkIns = this.matchGame.checkIns.filter(\r\n checkIn => checkIn.matchTeamId === matchTeamId\r\n )\r\n\r\n return !checkIns.find(checkIn => !checkIn.isCheckedIn)\r\n } else {\r\n return !!this.matchGame.readyTeams.find(teamId => teamId === matchTeamId)\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSummaryMobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSummaryMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchSummaryMobile.vue?vue&type=template&id=2469dc0b&scoped=true&\"\nimport script from \"./MatchSummaryMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchSummaryMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchSummaryMobile.vue?vue&type=style&index=0&id=2469dc0b&lang=scss&scoped=true&\"\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 \"2469dc0b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.draftSessionId)?_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"1000\",\"value\":_vm.isVisible,\"fullscreen\":_vm.$vuetify.breakpoint.mobile}},[_c('v-card',[(_vm.game === 'Lol')?_c('DraftSessionLeague',{attrs:{\"draft-session-id\":_vm.draftSessionId,\"team-number\":_vm.draftTeamNumber.toString(),\"full\":_vm.$vuetify.breakpoint.mobile},on:{\"close\":function($event){_vm.isVisible = false}}}):_c('DraftSessionWildRift',{attrs:{\"draft-session-id\":_vm.draftSessionId,\"team-number\":_vm.draftTeamNumber.toString(),\"full\":_vm.$vuetify.breakpoint.mobile},on:{\"close\":function($event){_vm.isVisible = false}}})],1)],1):_vm._e()}\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\r\nimport { Vue, Component, Prop, PropSync } from 'vue-property-decorator'\r\nimport DraftSessionLeague from '@/modules/draft/components/LeagueOfLegends/DraftSession'\r\nimport DraftSessionWildRift from '@/modules/draft/components/DraftSessionWildRift'\r\n\r\n@Component({\r\n components: { DraftSessionLeague, DraftSessionWildRift }\r\n})\r\nexport default class DraftSessionDialog extends Vue {\r\n @PropSync('visible', { type: Boolean, default: false })\r\n isVisible!: boolean\r\n\r\n @Prop({ type: String, default: null })\r\n draftSessionId!: string | null\r\n\r\n @Prop({ type: String, default: null })\r\n game!: string | null\r\n\r\n @Prop({ type: Number, default: 0 })\r\n draftTeamNumber!: number\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./DraftSessionDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./DraftSessionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DraftSessionDialog.vue?vue&type=template&id=a66fe93e&scoped=true&\"\nimport script from \"./DraftSessionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./DraftSessionDialog.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 \"a66fe93e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VCard,VDialog})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"max-width\":\"1000px\",\"persistent\":\"\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close($event)}},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_c('div',[_c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"primary\",\"dark\":\"\"}},[_c('v-toolbar-title',[_c('v-icon',[_vm._v(\"mdi-clipboard-check-multiple-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchIntegrationResultPreview.Title'))+\" \")],1)],1),(_vm.matchResult)?_c('v-container',[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\"},[(_vm.isWinner)?_c('h1',{staticClass:\"success--text\"},[_c('v-icon',{attrs:{\"x-large\":\"\",\"color\":\"success\"}},[_vm._v(\"mdi-trophy-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchIntegrationResultPreview.TeamWon'))+\" \")],1):_c('h1',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"x-large\":\"\",\"color\":\"red\"}},[_vm._v(\"mdi-trophy-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchIntegrationResultPreview.TeamLost'))+\" \")],1)])],1),(_vm.resultEvidence)?_c('v-row',[_c('v-col',[_c('v-img',{attrs:{\"src\":_vm.resultEvidence}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',[_c('v-btn',{staticClass:\"mt-2\",attrs:{\"type\":\"submit\",\"block\":\"\",\"x-large\":\"\",\"color\":\"warning\",\"disable\":!_vm.matchResult}},[_vm._v(\" \"+_vm._s(_vm.$t( 'MatchIntegrationResultPreview.ConfirmAndSubmitResultButton' ))+\" \")]),_c('v-btn',{staticClass:\"mt-10\",attrs:{\"text\":\"\",\"block\":\"\",\"color\":\"error\",\"disable\":!_vm.matchResult},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchIntegrationResultPreview.SubmitResultManual'))+\" \")])],1)],1)],1)],1):_vm._e()],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\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\r\nimport { Component, PropSync, Ref, Vue, Watch } from 'vue-property-decorator'\r\nimport {\r\n GameResult,\r\n MatchAPI,\r\n MatchGameEvidenceEntity,\r\n ResponseStatus,\r\n SubmitMatchResultRequest\r\n} from '@/api/match'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport ServerError from '@/utils/server_error'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport authStore from '@/modules/auth/auth.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport { AxiosRequestConfig } from 'axios'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport LeagueIntegration from '@/utils/integration/lol'\r\nimport { EndOfGameResult } from '@/modules/integration/types/EndOfGameResult'\r\nimport {\r\n AllLiveGameData,\r\n GameMode\r\n} from '@main/integrations/lcu/liveclient/types'\r\n\r\n@Component\r\nexport default class MatchIntegrationResultPreview extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n authModule = getModule(authStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n @PropSync('visible', { type: Boolean, default: false }) modalVisible!: boolean\r\n\r\n @Ref('form') readonly form!: HTMLFormElement\r\n\r\n resultRequest: SubmitMatchResultRequest[] = []\r\n resultEvidence: string = ''\r\n\r\n @Watch('modalVisible')\r\n onModalVisible(visible: boolean) {\r\n if (!visible) {\r\n this.score = [0, 0]\r\n return\r\n }\r\n\r\n if (this.matchGameResults.length >= 2) {\r\n this.score = [\r\n this.matchGameResults.find(\r\n matchGameResult =>\r\n matchGameResult.matchTeamId === this.matchTeams[0].matchTeamId\r\n )!.score,\r\n this.matchGameResults.find(\r\n matchGameResult =>\r\n matchGameResult.matchTeamId === this.matchTeams[1].matchTeamId\r\n )!.score\r\n ]\r\n }\r\n }\r\n\r\n validScore: Function[] = [\r\n (v: string | number) =>\r\n typeof v !== 'string' ||\r\n this.$t('MatchSubmitResult.InputValidScoreNumberMessage')\r\n ]\r\n isValid: boolean = false\r\n score: number[] = [0, 0]\r\n\r\n /* Vuex Getters */\r\n get isWinner() {\r\n return this.integrationModule.isWinner\r\n }\r\n\r\n get matchTeams() {\r\n return this.matchModule.matchGame!.teams\r\n }\r\n\r\n get currentGameRound() {\r\n return this.matchModule!.matchGame!.gameRound\r\n }\r\n\r\n get matchGameResults() {\r\n return this.matchModule.matchGameResults\r\n }\r\n\r\n get matchResult() {\r\n return this.integrationModule.userResult\r\n }\r\n\r\n get matchEvidence() {\r\n return this.integrationModule.userResultEvidence\r\n }\r\n\r\n get integrationConnected() {\r\n return this.integrationModule.connectionStatus\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get userId() {\r\n return this.authModule.userId\r\n }\r\n\r\n get currentUserTeam() {\r\n return this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n }\r\n\r\n get currentGameMode() {\r\n return this.integrationModule.gameMode\r\n }\r\n\r\n get isSoloGame() {\r\n return this.integrationModule.isSoloGame\r\n }\r\n\r\n close() {\r\n this.modalVisible = false\r\n this.score = [0, 0]\r\n }\r\n\r\n get isInvalidScore() {\r\n return this.score[0] === this.score[1] || !this.isValid\r\n }\r\n\r\n async submitForm() {\r\n if (this.isWinner === null) {\r\n this.$toast.error('No result winner found')\r\n return\r\n }\r\n\r\n // Only upload screenshots when ARAM solo where the special rule applies\r\n if (\r\n this.matchEvidence.length &&\r\n this.currentGameMode === GameMode.ARAM &&\r\n this.isSoloGame\r\n ) {\r\n for (const evidence of this.matchEvidence) {\r\n await MatchAPI.submitMatchGameEvidence(\r\n this.matchModule.matchGame!.matchGameId,\r\n evidence,\r\n true\r\n )\r\n }\r\n }\r\n\r\n try {\r\n const res = await MatchAPI.submitMatchGameResults(\r\n this.matchModule.matchGame!.matchGameId,\r\n this.resultRequest\r\n )\r\n if (res.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t('MatchSubmitResult.ResultUploadSuccessMessage'),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-check'\r\n }\r\n )\r\n\r\n // stop lol stuff\r\n await LeagueIntegration.stop()\r\n\r\n this.close()\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.warning(err.getMessage(), {\r\n dismissable: true,\r\n icon: 'mdi-account-check-outline'\r\n })\r\n } else {\r\n this.$toast.error(this.$t('MatchSubmitResult.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async created() {\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchSubmitResult.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('advanceToNextGame', this.close)\r\n this.realtimeConnection.on('matchComplete', this.close)\r\n this.realtimeConnection.on('matchRemoved', this.close)\r\n }\r\n\r\n async beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('advanceToNextGame', this.close)\r\n this.realtimeConnection.off('matchComplete', this.close)\r\n this.realtimeConnection.off('matchRemoved', this.close)\r\n }\r\n }\r\n\r\n // Integration & match result\r\n @Watch('matchEvidence')\r\n async onMatchEvidenceReceived(result: Blob[]) {\r\n console.log('Received match evidence!', result)\r\n this.resultEvidence = await this.integrationModule.matchEvidenceDataURL()\r\n }\r\n\r\n @Watch('matchResult')\r\n async onIntegrationMatchResultReceived(\r\n result: EndOfGameResult | AllLiveGameData\r\n ) {\r\n if (!result || this.isWinner === null) return null\r\n\r\n this.$toast.info('已收到比賽遊戲結果')\r\n console.log('Received result @ onIntegrationMatchResultReceived ', result)\r\n\r\n this.resultRequest = this.createResultRequestPayload(this.isWinner)\r\n\r\n // Upload the result without confirmation ASAP if Solo ARAM due to time critical\r\n if (\r\n this.currentGameMode &&\r\n this.currentGameMode === GameMode.ARAM &&\r\n this.isSoloGame\r\n ) {\r\n this.modalVisible = false\r\n await this.submitForm()\r\n } else {\r\n // Open modal dialog for confirmation\r\n this.modalVisible = true\r\n }\r\n }\r\n\r\n get GameMode() {\r\n return GameMode\r\n }\r\n\r\n createResultRequestPayload(isUserWinner: boolean = true) {\r\n const isUserTeamA =\r\n this.currentUserTeam!.matchTeamId === this.matchTeams[0].matchTeamId\r\n\r\n return [\r\n {\r\n matchTeamId: this.matchTeams[0].matchTeamId,\r\n score: isUserTeamA ? (isUserWinner ? 1 : 0) : isUserWinner ? 0 : 1,\r\n result: isUserTeamA\r\n ? isUserWinner\r\n ? GameResult.Win\r\n : GameResult.Lose\r\n : isUserWinner\r\n ? GameResult.Lose\r\n : GameResult.Win\r\n },\r\n {\r\n matchTeamId: this.matchTeams[1].matchTeamId,\r\n score: !isUserTeamA ? (isUserWinner ? 1 : 0) : isUserWinner ? 0 : 1,\r\n result: !isUserTeamA\r\n ? isUserWinner\r\n ? GameResult.Win\r\n : GameResult.Lose\r\n : isUserWinner\r\n ? GameResult.Lose\r\n : GameResult.Win\r\n }\r\n ]\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchIntegrationResultPreview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchIntegrationResultPreview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchIntegrationResultPreview.vue?vue&type=template&id=6f95ca40&scoped=true&\"\nimport script from \"./MatchIntegrationResultPreview.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchIntegrationResultPreview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchIntegrationResultPreview.vue?vue&type=style&index=0&id=6f95ca40&lang=scss&scoped=true&\"\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 \"6f95ca40\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCol,VContainer,VDialog,VForm,VIcon,VImg,VRow,VToolbar,VToolbarTitle})\n","import MatchIntegrationResultPreview from './MatchIntegrationResultPreview.vue'\r\nexport default MatchIntegrationResultPreview\r\nexport { MatchIntegrationResultPreview }\r\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchIntegrationResultPreview.vue?vue&type=style&index=0&id=6f95ca40&lang=scss&scoped=true&\"; 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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchIntegrationResultPreview.vue?vue&type=style&index=0&id=6f95ca40&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '40%',\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile,\"overlay-opacity\":\"0.9\"},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('v-card',{staticClass:\"px-8 py-5\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('MatchCheckInDialog.AreYouReady')))]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('MatchCheckInDialog.CheckInMessage'))+\" \")]),_c('v-card-text',{ref:\"rules\",staticClass:\"match-rules\",on:{\"scroll\":_vm.checkAllowCheckIn}},[_c('MatchRules')],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"font-weight-bold\",attrs:{\"color\":\"green darken-1\",\"x-large\":\"\",\"text\":\"\",\"loading\":_vm.isCheckingIn},on:{\"click\":_vm.checkIn}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-check-bold\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchCheckInDialog.CheckIn'))+\" \")],1),_c('v-btn',{staticClass:\"font-weight-bold\",attrs:{\"color\":\"red darken-1\",\"text\":\"\",\"x-large\":\"\",\"disabled\":_vm.isCheckingIn},on:{\"click\":function($event){return _vm.$router.push('/')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-exit-to-app\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchCheckInDialog.Leave'))+\" \")],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {\r\n Vue,\r\n Component,\r\n PropSync,\r\n Emit,\r\n Ref,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { MatchAPI } from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport MatchRules from '@/modules/match/components/MatchRules'\r\n\r\n@Component({\r\n components: {\r\n MatchRules\r\n }\r\n})\r\nexport default class MatchCheckInDialog extends Vue {\r\n @PropSync('isVisible', { type: Boolean, default: false })\r\n isModalVisible!: boolean\r\n\r\n matchModule = getModule(matchStore, this.$store)\r\n isCheckingIn: boolean = false\r\n isAllowCheckIn: boolean = false\r\n\r\n @Ref('rules')\r\n readonly rules!: HTMLDivElement\r\n\r\n @Emit('close')\r\n onClose() {\r\n return null\r\n }\r\n\r\n get tournament() {\r\n return this.matchModule.tournament\r\n }\r\n\r\n /* Watchers */\r\n @Watch('isModalVisible')\r\n onVisible(isVisible: boolean) {\r\n if (isVisible) {\r\n setTimeout(() => {\r\n this.checkAllowCheckIn()\r\n }, 500)\r\n } else {\r\n this.isCheckingIn = false\r\n }\r\n }\r\n\r\n /* Match room store */\r\n async checkIn() {\r\n if (!this.isModalVisible) {\r\n return\r\n }\r\n\r\n this.isCheckingIn = true\r\n\r\n try {\r\n await MatchAPI.checkIn(this.matchModule.matchGame!.matchGameId)\r\n this.isModalVisible = false\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('MatchCheckInDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.isCheckingIn = false\r\n this.onClose()\r\n }\r\n }\r\n\r\n checkAllowCheckIn() {\r\n if (\r\n this.rules.scrollTop >=\r\n this.rules.scrollHeight - this.rules.offsetHeight\r\n )\r\n this.isAllowCheckIn = true\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCheckInDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCheckInDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchCheckInDialog.vue?vue&type=template&id=3dc295f0&scoped=true&\"\nimport script from \"./MatchCheckInDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchCheckInDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchCheckInDialog.vue?vue&type=style&index=0&id=3dc295f0&lang=scss&scoped=true&\"\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 \"3dc295f0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-toolbar',{staticClass:\"match-system-message-bar text-center\",attrs:{\"flat\":\"\",\"dense\":\"\"}},[_c('v-spacer'),_c('v-toolbar-title',{staticClass:\"game-instruction\"},[(_vm.loading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"22\"}}):_c('v-icon',{staticClass:\"px-2\"},[_vm._v(_vm._s(_vm.icon))]),_vm._v(\" \"+_vm._s(_vm.message)+\" \")],1),_c('v-spacer'),(_vm.appendMessage)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({},'v-icon',attrs,false),on),[_vm._v(\"mdi-information\")])]}}],null,false,1112375998)},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.appendMessage))])]):_vm._e()],1),(_vm.match && _vm.match.leagueLobby && _vm.state === _vm.MatchGameState.Playing)?_c('v-card',{staticClass:\"pa-2 text-center room-info\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('MatchSystemMessage.CustomGameDetails')))]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('MatchSystemMessage.CustomGameName'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.match.leagueLobby.name)+\" \")]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t('MatchSystemMessage.CustomGamePassword'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.match.leagueLobby.password)+\" \")]),(_vm.connectStatus)?_c('v-btn',{attrs:{\"small\":\"\",\"depressed\":\"\"},on:{\"click\":_vm.joinCustomGameRoom}},[_c('v-icon',[_vm._v(\"mdi-format-letter-matches\")]),_vm._v(\" \"+_vm._s(_vm.$t('MatchSystemMessage.JoinMatchRoom'))+\" \")],1):_vm._e()],1):_vm._e()],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\n\n\n\n\n\n\r\nimport { Vue, Component, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { MatchGameState } from '@/api/match'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport { isElectron } from '@/utils/electron'\r\n\r\n@Component\r\nexport default class MatchSystemMessage extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n userModule = getModule(userStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n\r\n message: string = ''\r\n appendMessage: string = ''\r\n icon: string = ''\r\n loading: boolean = false\r\n\r\n /* Hooks */\r\n mounted() {\r\n if (!this.state) return\r\n this.updateSystemInformation()\r\n }\r\n\r\n /* Watchers */\r\n @Watch('state')\r\n onStateUpdated() {\r\n this.updateSystemInformation()\r\n }\r\n\r\n @Watch('connectStatus')\r\n onGameIntegrationConnectStatusUpdated() {\r\n this.updateSystemInformation()\r\n }\r\n\r\n @Watch('match')\r\n onMatchUpdated() {\r\n this.updateSystemInformation()\r\n }\r\n\r\n @Watch('isJoiningCustomGame')\r\n onIsJoiningCustomGameUpdated() {\r\n this.updateSystemInformation()\r\n }\r\n\r\n /* Getters */\r\n get match() {\r\n return this.matchModule.match\r\n }\r\n\r\n get matchGame() {\r\n return this.matchModule.matchGame\r\n }\r\n\r\n get state() {\r\n if (!this.matchGame) return MatchGameState.Initial\r\n return this.matchGame.state\r\n }\r\n\r\n get MatchGameState() {\r\n return MatchGameState\r\n }\r\n\r\n get isSupportGameIntegration() {\r\n if (!this.match) return false\r\n return this.match.isAutoGetGameEvidence\r\n }\r\n\r\n get connectStatus() {\r\n return this.integrationModule.connectionStatus\r\n }\r\n\r\n get gameIntegrationResult() {\r\n return this.integrationModule.userResult\r\n }\r\n\r\n get isJoiningCustomGame() {\r\n return this.integrationModule.isJoiningCustomGame\r\n }\r\n\r\n get joinCustomGameFailed() {\r\n return this.integrationModule.joinCustomGameFailed\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n /* Methods */\r\n updateSystemInformation() {\r\n this.loading = false\r\n switch (this.state) {\r\n case MatchGameState.Initial: // should not happen\r\n break\r\n case MatchGameState.Waiting:\r\n this.icon = 'mdi-account-clock'\r\n this.message = this.$t('MatchSystemMessage.WaitingStateMessage')\r\n this.appendMessage = this.$t(\r\n 'MatchSystemMessage.WaitingStateAppendMessage'\r\n )\r\n break\r\n case MatchGameState.Ready:\r\n this.icon = 'mdi-flag-checkered'\r\n this.message = this.$t('MatchSystemMessage.ReadyStateMessage')\r\n this.appendMessage = this.$t(\r\n 'MatchSystemMessage.ReadyStateAppendMessage'\r\n )\r\n break\r\n case MatchGameState.Playing:\r\n this.icon = 'mdi-gamepad-variant'\r\n this.appendMessage = ''\r\n if (!this.isSupportGameIntegration) {\r\n this.message = this.$t('MatchSystemMessage.PlayingStateMessage')\r\n } else {\r\n if (!this.isElectron) {\r\n this.message = this.$t('MatchSystemMessage.PlayingStateMessage')\r\n break\r\n }\r\n\r\n if (this.connectStatus) {\r\n if (this.match!.leagueMap !== null) {\r\n // check if joining\r\n if (this.joinCustomGameFailed) {\r\n this.message = this.$t(\r\n 'MatchSystemMessage.JoiningCustomGameFailedMessage'\r\n )\r\n } else if (this.isJoiningCustomGame) {\r\n this.loading = true\r\n this.message = this.$t(\r\n 'MatchSystemMessage.JoiningCustomGameMessage'\r\n )\r\n } else if (!this.match!.leagueLobby) {\r\n this.loading = true\r\n this.message = this.$t(\r\n 'MatchSystemMessage.WaitingCustomGameCreationMessage'\r\n )\r\n } else {\r\n this.message = this.$t(\r\n 'MatchSystemMessage.PlayingStateSupportIntegrationConnectedMessage'\r\n )\r\n }\r\n } else {\r\n this.message = this.$t(\r\n 'MatchSystemMessage.PlayingStateSupportIntegrationConnectedMessage'\r\n )\r\n }\r\n } else {\r\n this.message = this.$t(\r\n 'MatchSystemMessage.PlayingStateSupportIntegrationNotConnectedMessage'\r\n )\r\n }\r\n }\r\n break\r\n case MatchGameState.ResultSubmitted:\r\n this.icon = 'mdi-progress-check'\r\n this.message = this.$t('MatchSystemMessage.ResultSubmittedStateMessage')\r\n this.appendMessage = this.$t(\r\n 'MatchSystemMessage.ResultSubmittedStateAppendMessage'\r\n )\r\n break\r\n case MatchGameState.Disputed:\r\n this.icon = 'mdi-car-brake-alert'\r\n this.message = this.$t('MatchSystemMessage.DisputedStateMessage')\r\n this.appendMessage = ''\r\n break\r\n case MatchGameState.Completed:\r\n this.icon = 'mdi-check-circle'\r\n this.message = this.$t('MatchSystemMessage.CompletedStateMessage')\r\n this.appendMessage = this.$t(\r\n 'MatchSystemMessage.CompletedStateAppendMessage'\r\n )\r\n break\r\n default:\r\n this.icon = ''\r\n this.message = ''\r\n this.appendMessage = ''\r\n break\r\n }\r\n }\r\n\r\n async joinCustomGameRoom() {\r\n if (!this.matchModule.match || !this.matchModule.match.leagueLobby)\r\n return false\r\n\r\n if (!this.connectStatus) return false\r\n\r\n // find the position of mine\r\n const memberIds = this.matchGame!.checkIns.map(\r\n checkIn => checkIn.member.memberId\r\n )\r\n\r\n const checkIn = this.matchGame!.checkIns.find(\r\n checkIn => checkIn.member.memberId === this.userId\r\n )\r\n\r\n // find which team it is\r\n const matchTeamId = checkIn!.matchTeamId\r\n const teamOneMatchTeamId = this.matchGame!.teams[0].matchTeamId\r\n\r\n const result = await this.integrationModule.joinCustomGame({\r\n lobby: this.matchModule.match.leagueLobby,\r\n team: teamOneMatchTeamId === matchTeamId ? 'one' : 'two'\r\n })\r\n console.log('Join Game Result = ', result)\r\n return true\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSystemMessage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchSystemMessage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchSystemMessage.vue?vue&type=template&id=e5c742ba&scoped=true&\"\nimport script from \"./MatchSystemMessage.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchSystemMessage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchSystemMessage.vue?vue&type=style&index=0&id=e5c742ba&lang=scss&scoped=true&\"\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 \"e5c742ba\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VIcon,VProgressCircular,VSpacer,VToolbar,VToolbarTitle,VTooltip})\n","import MatchSystemMessage from './MatchSystemMessage.vue'\r\n\r\nexport { MatchSystemMessage }\r\nexport default MatchSystemMessage\r\n"],"sourceRoot":""}