{"version":3,"sources":["webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue?e1ad","webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue","webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue?5ca3","webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue?ace6","webpack:///./src/renderer/modules/tournament/components/TournamentChip/TournamentChip.vue?50dc","webpack:///./src/renderer/modules/tournament/components/TournamentChip/TournamentChip.vue","webpack:///./src/renderer/modules/tournament/components/TournamentChip/TournamentChip.vue?bdf3","webpack:///./src/renderer/modules/tournament/components/TournamentChip/TournamentChip.vue?6cb2","webpack:///./src/renderer/modules/tournament/components/TournamentChip/index.ts","webpack:///./src/renderer/modules/tournament/TournamentLayout.vue?5261","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/TournamentPlayers.vue?a731","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentActionDialog.vue?b47c","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/TeamLFGManagement.vue?bc16","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/LFGJoinActionDialog.vue?24d5","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue?0f4d","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/EditTournamentTeamMemberGameAccountDialog.vue?d956","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/TournamentTeamChangeCaptainDialog.vue?fe02","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/TournamentRegistration.vue?bbc9","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/TournamentRegistration.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/TournamentRegistration.vue?2c91","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/TournamentRegistration.vue?c0ee","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/index.ts","webpack:///./src/renderer/api/tournamentTeamPost.ts","webpack:///./src/renderer/modules/tournament/components/TournamentCustomForm/TournamentCustomForm.vue?d6e6","webpack:///./src/renderer/modules/tournament/components/TournamentCustomForm/TournamentCustomForm.vue","webpack:///./src/renderer/modules/tournament/components/TournamentCustomForm/TournamentCustomForm.vue?42a4","webpack:///./src/renderer/modules/tournament/components/TournamentCustomForm/TournamentCustomForm.vue?b1f0","webpack:///./src/renderer/modules/tournament/components/TournamentCustomForm/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TournamentLFGModal.vue?7ed8","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/TeamRegistrationComplete.vue?8c1c","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/TeamRegistrationComplete.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/TeamRegistrationComplete.vue?bd5e","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/TeamRegistrationComplete.vue?d778","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/index.ts","webpack:///./src/renderer/modules/tournament/TournamentLayout.vue?a409","webpack:///./src/renderer/modules/tournament/TournamentLayout.vue","webpack:///./src/renderer/modules/tournament/TournamentLayout.vue?c006","webpack:///./src/renderer/modules/tournament/TournamentLayout.vue?82fe","webpack:///./src/renderer/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue?7131","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/EditTournamentFormResponseDialog.vue?e2d7","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/EditTournamentGroupDialog.vue?135e","webpack:///./src/renderer/modules/tournament/components/TournamentChip/TournamentChip.vue?5547","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TournamentLFGModal.vue?63e3","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/DiscussionMessage/DiscussionMessage.vue?c7f8","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/DiscussionMessage/DiscussionMessage.vue","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/DiscussionMessage/DiscussionMessage.vue?75a0","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/DiscussionMessage/DiscussionMessage.vue?4522","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/DiscussionMessage/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/TeamLFGManagement.vue?c2fc","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/TeamLFGManagement.vue","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/TeamLFGManagement.vue?d24e","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/TeamLFGManagement.vue?ae59","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TeamLFGManagement/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/LFGJoinActionDialog.vue?641d","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/LFGJoinActionDialog.vue","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/LFGJoinActionDialog.vue?6c7c","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/LFGJoinActionDialog.vue?fc30","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/LFGJoinActionDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TournamentLFGModal.vue","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TournamentLFGModal.vue?1f43","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/TournamentLFGModal.vue?06c9","webpack:///./src/renderer/modules/tournament/components/TournamentLFGModal/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue?de82","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/TournamentPlayers.vue?a00d","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/TournamentPlayers.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/TournamentPlayers.vue?7df6","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/TournamentPlayers.vue?8921","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TournamentPlayers/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/TournamentTeamChangeCaptainDialog.vue?a14f","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/TournamentTeamChangeCaptainDialog.vue","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/TournamentTeamChangeCaptainDialog.vue?26cd","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/TournamentTeamChangeCaptainDialog.vue?9472","webpack:///./src/renderer/modules/tournament/components/TournamentTeamChangeCaptainDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/EditTournamentGroupDialog.vue?0f72","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/EditTournamentGroupDialog.vue","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/EditTournamentGroupDialog.vue?1fd4","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/EditTournamentGroupDialog.vue?9250","webpack:///./src/renderer/modules/tournament/components/EditTournamentGroupDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/EditTournamentTeamMemberGameAccountDialog.vue?d872","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/EditTournamentTeamMemberGameAccountDialog.vue","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/EditTournamentTeamMemberGameAccountDialog.vue?88a0","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/EditTournamentTeamMemberGameAccountDialog.vue?a627","webpack:///./src/renderer/modules/tournament/components/EditTournamentTeamMemberGameAccountDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/EditTournamentFormResponseDialog.vue?e583","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/EditTournamentFormResponseDialog.vue","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/EditTournamentFormResponseDialog.vue?51b2","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/EditTournamentFormResponseDialog.vue?bea4","webpack:///./src/renderer/modules/tournament/components/EditTournamentFormResponseDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue?dc82","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue?4619","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/TeamRegistration.vue?d889","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/TeamRegistration.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/TeamRegistration.vue?2701","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/TeamRegistration.vue?d3c3","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete/TeamRegistrationComplete.vue?92c7","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentActionDialog.vue?41f3","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentActionDialog.vue","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentActionDialog.vue?cf41","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentActionDialog.vue?951e","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/index.ts","webpack:///./src/renderer/modules/tournament/components/TournamentRegistrationClosedDialog/TournamentRegistrationClosedDialog.vue?491b","webpack:///./src/renderer/modules/tournament/components/TournamentRegistrationClosedDialog/TournamentRegistrationClosedDialog.vue","webpack:///./src/renderer/modules/tournament/components/TournamentRegistrationClosedDialog/TournamentRegistrationClosedDialog.vue?fb6c","webpack:///./src/renderer/modules/tournament/components/TournamentRegistrationClosedDialog/TournamentRegistrationClosedDialog.vue?ec33","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TournamentRegistration/TournamentRegistration.vue?1d76","webpack:///./src/renderer/modules/tournament/components/TournamentActionDialog/TeamRegistration/TeamRegistration.vue?eea8"],"names":["TournamentAction","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","displayInfoOnHover","displayInfo","attrs","directives","name","rawName","value","type","expression","logo","_v","_s","_l","prizeComponent","index","key","tournamentId","getPrizeComponentClass","_f","registrationStartTime","registrationEndTime","startTime","endTime","_e","regions","length","map","ri","$te","code","$t","join","hasEntryFee","entryFee","isFeaturedTournament","state","tournamentActionString","tournamentIconString","tournamentActionLoading","on","onTournamentSelected","_t","staticRenderFns","isTextVisible","tournamentModule","$store","setTimeout","test","prizePool","split","tournamentAction","ViewTournament","ViewRegistrationStatus","JoinTournament","joinedTournaments","tournament","includes","hideActionButton","$route","OpenRegistration","isUserJoinedTournament","required","Date","default","Initial","components","TournamentChip","AppButton","filters","date","component","VCol","VContainer","VFadeTransition","VIcon","VRow","label","toUpperCase","VChip","group","selectedGroup","$event","current","maxTeams","canSelectGroup","isSelectingGroup","perTeamRegistrationFee","registrationFee","$vuetify","breakpoint","mobile","hasGroup","onNext","isGroupsLoading","groups","fetchGroups","onSeedChanged","$emit","getTournamentGroups","res","data","payload","$toast","error","getMessage","selectedTournament","find","available","VBtn","VCardTitle","VCard","VDivider","VList","VListItem","VListItemAvatar","VListItemContent","VListItemSubtitle","VListItemTitle","VProgressCircular","VSlideXTransition","TournamentTeamPostAPI","page","filter","get","API_PREFIX","params","paramsSerializer","stringify","arrayFormat","tournamentTeamId","post","memberId","message","teamId","delete","put","ref","preventDefault","submitForm","model","callback","$$v","isValid","Object","keys","schema","theSchema","shouldHide","minLen","l","v","maxLen","msg","requiredArray","minLength","Array","isArray","rules","requiredEmail","requiredSel","requiredSelMult","max12","min6","validEmail","shouldHideForm","form","validate","submit","VFormBase","VForm","teamToken","copyTeamToken","teamTokenUrl","copyTeamTokenUrl","hideLfg","toLookForGroup","onClose","$router","push","$copyText","teamTokenTrimmed","teamTokenTextField","$el","then","e","info","teamTokenUrlTextField","replace","isElectron","window","location","origin","Boolean","VTextField","OpenMode","mdAndDown","detailLogo","game","scheduleRegistrationStartTime","scheduleRegistrationEndTime","scheduleStartTime","scheduleEndTime","prizePrizePool","isRequestedToJoin","loading","onJoinTournament","openLFGDialog","hideLFG","lookForGroup","tournamentBackground","isBackgroundImageError","fetchJoinedTournamentTeam","userModule","layoutModule","memberModule","tournamentOverlayIsVisible","realtimeConnectionCancellationToken","subscribeRealtimeEvents","realtime","addEventListener","resetSelectedTournament","resetSelectedTournamentTeams","resetSelectedTournamentTeam","cancel","unsubscribeRealtimeEvents","removeEventListener","fetchData","animateTournamentOverlay","hasDefaultTab","hasJoinedTournament","setSelectedTournament","resetTournamentData","setProgressBarVisible","isAutomated","console","isOpen","openMode","Dim","gsap","to","backgroundColor","borderTop","duration","opacity","height","ease","easeOut","requestLogin","setTournamentActionDialogVisible","visible","getMemberJoinedTournamentTeam","getStatusCode","realtimeConnection","send","onTournamentStateUpdated","onTournamentDataUpdated","off","oldState","undefined","tournamentActionDialogVisible","tournamentTeam","Registered","setTournamentRegistrationClosedDialogVisible","WaitingForCheckIn","CompleteRegistration","selectedTournamentTeam","showLFGModal","meta","defaultTab","players","player","role","RequestToJoin","hasLoggedIn","detailBanner","detailMobileBanner","capacityMaxPlayersPerTeam","TournamentRegistrationClosedDialog","TournamentBasicInformation","TournamentActionDialog","TournamentLFGModal","VImg","VSlideXReverseTransition","isVisible","close","indexOf","_k","keyCode","posts","popEditDialog","comment","createTime","member","nickname","avatar","submittingReply","submitReply","replyMessage","teamAvatarName","TournamentState","isTournamentTeamRegistered","setActionDialogVisible","popManageDialog","isPostOwner","isAbleToCancel","cancelRequestVisible","unpublishRequestVisible","userHasTeam","userIsCurrentTeamMember","manageDialogVisible","editDialogVisible","domProps","editMessage","closeEditDialog","submitEditTeamPost","requestJoinVisible","onJoinRequestConfirmed","onCancelRequestConfirmed","onUnpublishPostRequestConfirmed","commentTime","$moment","parseInt","time","fromNow","String","Number","UserAvatar","VCardSubtitle","VCardText","isProcessing","gameAccountNickname","rejectMember","approveMember","refreshSelectedRoster","getTournamentTeam","acceptJoinRequest","status","success","removeTeamMember","userId","VAlert","VCardActions","VDialog","VListItemAction","VSpacer","isModalVisible","back","setIsVisible","step","detailRules","onIGNCompleted","setFormResponse","onJoinDetailReviewed","i","steps","from","_","formResponse","fetchTournamentCustomFormSchema","gameAccountRegistration","reset","readAndAccept","enterInvitationCode","teamRegistration","getTournamentCustomFormSchema","response","schemaLength","confirmTeamJoin","InGameNameRegistration","ReadAndAccept","EnterInvitationCode","TeamRegistration","TeamRegistrationStatus","TournamentRegistration","TeamRegistrationComplete","TeamJoinDetailReview","TournamentCustomForm","VSheet","VWindow","VWindowItem","selectedMatchRoster","isLoading","onTournamentTeamPostEdited","onRealtimeReconnected","destroyRealtime","newTournamentTeamId","oldTournamentTeamId","hideLFGModal","onTournamentTeamPostCommentUpdated","$nextTick","chatContent","scrollTop","commenterMemberId","requestToJoin","submitTournamentFormResponse","leaveTeam","unpublishTeam","trim","replyTeamPost","JSON","getTeamPostDetails","updateTeamPost","tournamentLFGModalVisible","comments","sort","a","b","userTeam","isUserJoined","userTeamDetail","HTMLDivElement","DiscussionMessage","ConfirmDialog","TeamLFGManagement","LFGJoinActionDialog","VAppBar","VAppBarTitle","VAvatar","VTextarea","isChangeTeamCaptainDialogVisible","staticStyle","isTeamCaptain","isSoloTournament","teamTokenOutput","isGeneratingTeamToken","generateTeamToken","onConfirmRoster","onUnconfirmRoster","isRegistrationPeriod","isEditTournamentGroupDialogVisible","isEditGameAccountDialogVisible","isTournamentResponseEditDialogVisible","onTournamentGroupChanged","onGameAccountNameChanged","captainChanged","dialog","onRemoveTeamMemberClick","waitingTeamRegistration","selectingTeamRoster","capacityMinPlayersPerTeam","caption","tournamentPlayer","selectedTeamRoster","onParticipantIndividualClick","isSelectingTeamRoster","getTeamPlayerIsStarter","TournamentTeamRole","Captain","Member","removeMemberId","remainingPlayer","remainingIndex","canChooseVenue","venues","scopedSlots","_u","fn","props","item","venue","address1","address2","quota","selectedVenueId","confirmLoading","onConfirmTournamentTeamRosterClick","undoConfirmLoading","onUndoConfirmRosterClick","oldtournamentTeam","refreshSelectedTeamRoster","refreshVenues","confirmTournamentTeamRosterRequest","confirmTournamentTeamRoster","undoConfirmTournamentTeamRoster","isStarter","getTournamentVenues","tv","removeTournamentTeamMember","splice","teamRosterTotalCapacityExceeded","dismissable","icon","teamRosterStarterCapacityExceeded","playersPerTeam","memberIds","self","paymentMethod","onUndoConfirmRoster","num","some","deep","VSelect","newCaptainMemberId","isCurrentCaptain","onNewCaptainSelected","confirmDialogMessage","isConfirmDialogVisible","changeCaptain","newCaptainMemberName","isChangeCaptainLoading","changeTournamentTeamCaptain","Ok","captainName","isChangingGroup","changeGroup","inGameNameRules","t","editTournamentTeam","isChangingName","me","wildRiftHint","newGameAccountName","changeName","changeTournamentTeamGameAccount","nameChanged","fetchTournamentTeamFormResponse","updateTournamentFormResponse","getMemberTournamentFormResponse","parse","fetchTournamentFormSchemaFallback","oldSelectedTournamentTeam","tournamentPlayers","onTournamentPlayerUpdated","onTournamentPlayerRemoved","onTournamentTeamRegistered","onTournamentTeamCaptainChanged","addPlayerToSelectedTournamentTeam","setSelectedTournamentTeamRegistered","refreshTeamToken","validTournamentStates","Published","TournamentPlayers","TournamentTeamChangeCaptainDialog","EditTournamentGroupDialog","EditTournamentFormResponseDialog","EditTournamentTeamMemberGameAccountDialog","VStepper","VStepperContent","VStepperStep","isReviewing","toReview","isFormValid","tournamentTeamForm","accepted","onSubmit","nameRules","$set","size","logoFile","createTournamentTeam","file","onTournamentTeamCreated","TeamDetailReview","VCheckbox","CreateTeamActions","JoinTeamActions","ActionType","hasCustomForm","action","seed","onTournamentRegistrationNext","submitFormResponse","onAcceptTeamToken","selectedTokenTeam","teamName","isJoiningTeamWithToken","token","submitTournamentFormResponseWithToken","registrationStatus","confirmRoster","joinTournamentTeamByTeamToken","tournamentRegistrationClosedDialogVisible"],"mappings":"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","file":"js/tournament-layout.ef09a970.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{staticClass:\"px-6 py-8 ma-0\"},[_c('v-container',{staticClass:\"information ma-0 pa-0\",class:{\n 'display-info-on-hover': _vm.displayInfoOnHover,\n 'display-info': _vm.displayInfo\n },attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"center\"}},[_c('div',{staticClass:\"logo-container\"},[_c('img',{directives:[{name:\"img-fallback\",rawName:\"v-img-fallback\",value:({ type: 'tournamentLogo' }),expression:\"{ type: 'tournamentLogo' }\"}],staticClass:\"tournament-logo\",attrs:{\"src\":_vm.logo}})])])],1),_c('v-fade-transition',{attrs:{\"mode\":\"out-in\"}},[(_vm.isTextVisible)?_c('v-row',[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[_c('h1',{staticClass:\"font-weight-black tournament-name mb-5 text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.name)+\" \")])]),_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('v-icon',{staticClass:\"tournament-information-icon mb-2 mr-3\",attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-trophy-variant\")]),_vm._l((_vm.prizeComponents),function(prizeComponent,index){return _c('span',{key:(\"prize-component-\" + _vm.tournamentId + \"-\" + index),class:_vm.getPrizeComponentClass(prizeComponent)},[_vm._v(\" \"+_vm._s(prizeComponent)+\" \")])})],2),_c('v-col',{staticClass:\"pt-0 pr-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"subtitle-1\"},[_c('v-icon',{staticClass:\"tournament-information-icon mr-3\",attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-calendar-text-outline\")]),_c('span',{staticClass:\"pt-3\"},[_vm._v(\" \"+_vm._s(_vm._f(\"date\")(_vm.registrationStartTime))+\" - \"+_vm._s(_vm._f(\"date\")(_vm.registrationEndTime))+\" \")])],1)]),(_vm.startTime)?_c('v-col',{staticClass:\"pt-0 pr-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"subtitle-1\"},[_c('v-icon',{staticClass:\"tournament-information-icon mr-3\",attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-sword-cross\")]),_c('span',{staticClass:\"pt-3\"},[_vm._v(\" \"+_vm._s(_vm._f(\"date\")(_vm.startTime))+\" - \"+_vm._s(_vm._f(\"date\")(_vm.endTime))+\" \")])],1)]):_vm._e(),_c('v-col',{staticClass:\"pt-0 pr-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"subtitle-1\"},[_c('v-icon',{staticClass:\"tournament-information-icon mr-3\",attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-earth\")]),_c('span',{staticClass:\"pt-3 font-weight-bold text-uppercase\"},[(!_vm.regions || _vm.regions.length === 0)?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentBasicInformation.AllRegions'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.regions .map(function (ri) { return _vm.$te('Regions.' + ri.code) ? _vm.$t('Regions.' + ri.code) : ri.name; } ) .join('.'))+\" \")]],2)],1)]),_c('v-col',{staticClass:\"pt-0 pr-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"subtitle-1\"},[_c('v-icon',{staticClass:\"tournament-information-icon mr-3\",attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-checkbook\")]),_c('span',{staticClass:\"pt-3 font-weight-bold text-uppercase\"},[(!_vm.hasEntryFee)?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentBasicInformation.NoEntryFee'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('TournamentBasicInformation.Fee', [_vm.entryFee]))+\" \")]],2)],1)]),_c('v-col',{attrs:{\"cols\":\"12\"}},[(!_vm.isFeaturedTournament)?_c('div',{staticClass:\"py-2 text-uppercase font-weight-bold\"},[(_vm.state === 'OpenRegistration')?_c('span',{staticClass:\"secondary--text\"},[_c('v-icon',{staticClass:\"mr-1 secondary--text\"},[_vm._v(\"mdi-sword-cross\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentState.OpenRegistration'))+\" \")],1):_vm._e(),(_vm.state === 'InProgress')?_c('span',{staticClass:\"secondary--text\"},[_c('v-icon',{staticClass:\"mr-1 secondary--text\"},[_vm._v(\"mdi-sword-cross\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentState.InProgress'))+\" \")],1):_vm._e(),(_vm.state === 'WaitingForCheckIn')?_c('span',{staticClass:\"orange--text\"},[_c('v-icon',{staticClass:\"mr-3 orange--text\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-sword-cross\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentState.WaitingForCheckIn'))+\" \")],1):(_vm.state === 'Completed')?_c('span',{staticClass:\"green--text\"},[_c('v-icon',{staticClass:\"mr-1 green--text\"},[_vm._v(\"mdi-check-bold\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentBasicInformation.TournamentCompleted'))+\" \")],1):(_vm.state === 'Cancelled')?_c('span',{staticClass:\"red--text\"},[_c('v-icon',{staticClass:\"mr-1 red--text\"},[_vm._v(\"mdi-close-circle\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentBasicInformation.TournamentCancelled'))+\" \")],1):(_vm.state === 'CompleteRegistration')?_c('span',{staticClass:\"red--text\"},[_c('v-icon',{staticClass:\"mr-1 red--text\"},[_vm._v(\"mdi-close-circle\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentState.CompleteRegistration'))+\" \")],1):_vm._e()]):_vm._e(),(_vm.shouldStatusButtonVisible)?_c('AppButton',{attrs:{\"buttonType\":\"tournament\",\"size\":\"auto\",\"label\":_vm.tournamentActionString,\"icon\":_vm.tournamentIconString,\"loading\":_vm.tournamentActionLoading},on:{\"click\":_vm.onTournamentSelected}}):_vm._e(),_vm._t(\"default\")],2)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Emit } from 'vue-property-decorator'\r\nimport TournamentChip from '@/modules/tournament/components/TournamentChip'\r\nimport AppButton from '@/modules/shared/components/AppButton'\r\nimport { TournamentState } from '@/api/tournament'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { date } from '@/utils'\r\nimport { RegionInfo } from '@/api/config'\r\n\r\nexport enum TournamentAction {\r\n ViewTournament = 'VIEW_TOURNAMENT',\r\n ViewRegistrationStatus = 'VIEW_REGISTRATION_STATUS',\r\n JoinTournament = 'JOIN_TOURNAMENT',\r\n ViewBracket = 'VIEW_BRACKET'\r\n}\r\n\r\n@Component({\r\n components: {\r\n TournamentChip,\r\n AppButton\r\n },\r\n filters: {\r\n date\r\n }\r\n})\r\nexport default class TournamentBasicInformation extends Vue {\r\n @Prop({ required: true }) readonly tournamentId!: string\r\n @Prop({ required: true }) readonly name!: string\r\n @Prop({ required: true }) readonly logo!: string\r\n @Prop({ required: true }) readonly game!: string\r\n @Prop({ required: true }) readonly regions!: RegionInfo[]\r\n @Prop({ required: true }) readonly registrationStartTime!: Date\r\n @Prop({ required: true }) readonly registrationEndTime!: Date\r\n @Prop({ required: true }) readonly startTime!: Date\r\n @Prop({ required: true }) readonly endTime!: Date\r\n @Prop({ required: true }) readonly prizePool!: string\r\n @Prop({ default: false }) readonly displayInfoOnHover!: boolean\r\n @Prop({ default: false }) readonly displayInfo!: boolean\r\n @Prop({ default: false }) readonly hideActionButton!: boolean\r\n @Prop({ default: false }) readonly isFeaturedTournament!: boolean\r\n @Prop({ default: false }) readonly tournamentActionLoading!: boolean\r\n @Prop({ default: false }) readonly hasEntryFee!: boolean\r\n @Prop({ default: '' }) readonly entryFee!: string\r\n @Prop({ default: TournamentState.Initial }) readonly state!: TournamentState\r\n @Prop({ default: TournamentAction.JoinTournament })\r\n readonly tournamentAction!: TournamentAction\r\n @Prop({ default: 'max' }) readonly buttonSize!: string\r\n\r\n isTextVisible: boolean = false\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n /* Hooks */\r\n mounted() {\r\n setTimeout(() => {\r\n this.isTextVisible = true\r\n }, 100)\r\n }\r\n\r\n /* Computed Properties */\r\n get prizeComponents(): string[] {\r\n return this.prizePool.split(/([\\d|,]+)/)\r\n }\r\n\r\n get tournamentActionString() {\r\n switch (this.tournamentAction) {\r\n case TournamentAction.ViewTournament:\r\n return this.$t('TournamentBasicInformation.ViewTournament')\r\n\r\n case TournamentAction.ViewRegistrationStatus:\r\n return this.$t('TournamentBasicInformation.ViewRegistrationStatus')\r\n\r\n case TournamentAction.JoinTournament:\r\n return this.$t('TournamentBasicInformation.JoinTournament')\r\n }\r\n }\r\n\r\n get tournamentIconString() {\r\n switch (this.tournamentAction) {\r\n case TournamentAction.ViewTournament:\r\n return 'mdi-eye'\r\n\r\n case TournamentAction.ViewRegistrationStatus:\r\n return 'mdi-text-box'\r\n\r\n case TournamentAction.JoinTournament:\r\n return 'mdi-account-multiple-plus-outline'\r\n }\r\n }\r\n\r\n get isUserJoinedTournament() {\r\n return this.tournamentModule.joinedTournaments\r\n .map(tournament => tournament.tournamentId)\r\n .includes(this.tournamentId)\r\n }\r\n\r\n get shouldStatusButtonVisible() {\r\n if (this.hideActionButton) {\r\n return false\r\n }\r\n\r\n if (this.$route.name === 'Landing') {\r\n return true\r\n }\r\n\r\n if (this.state === TournamentState.OpenRegistration) {\r\n return true\r\n }\r\n\r\n if (this.isUserJoinedTournament) {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n get TournamentAction() {\r\n return TournamentAction\r\n }\r\n\r\n /* Methods */\r\n getPrizeComponentClass(value: string) {\r\n if (/([\\d|,]+)/.test(value)) return 'prize-number'\r\n else return 'prize-text'\r\n }\r\n\r\n /* Emitter */\r\n @Emit('select')\r\n onTournamentSelected() {\r\n return this\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!./TournamentBasicInformation.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!./TournamentBasicInformation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentBasicInformation.vue?vue&type=template&id=241b5bc8&scoped=true&\"\nimport script from \"./TournamentBasicInformation.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentBasicInformation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentBasicInformation.vue?vue&type=style&index=0&id=241b5bc8&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 \"241b5bc8\",\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VFadeTransition,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{staticClass:\"mr-4 px-4\",attrs:{\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.label.toUpperCase())+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Vue, Component, Prop, Emit } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class TournamentChip extends Vue {\r\n @Prop({ required: true }) readonly label!: 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!./TournamentChip.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!./TournamentChip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentChip.vue?vue&type=template&id=02cfea5a&scoped=true&\"\nimport script from \"./TournamentChip.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentChip.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentChip.vue?vue&type=style&index=0&id=02cfea5a&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 \"02cfea5a\",\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';\ninstallComponents(component, {VChip})\n","import TournamentChip from './TournamentChip.vue'\r\n\r\nexport { TournamentChip }\r\nexport default TournamentChip\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!./TournamentLayout.vue?vue&type=style&index=0&id=a6d2d1a8&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!./TournamentLayout.vue?vue&type=style&index=0&id=a6d2d1a8&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!./TournamentPlayers.vue?vue&type=style&index=0&id=0c89911a&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!./TournamentPlayers.vue?vue&type=style&index=0&id=0c89911a&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!./TournamentActionDialog.vue?vue&type=style&index=0&id=50f119e1&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!./TournamentActionDialog.vue?vue&type=style&index=0&id=50f119e1&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!./TeamLFGManagement.vue?vue&type=style&index=0&id=e5fa81fa&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!./TeamLFGManagement.vue?vue&type=style&index=0&id=e5fa81fa&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!./LFGJoinActionDialog.vue?vue&type=style&index=0&id=7189be91&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!./LFGJoinActionDialog.vue?vue&type=style&index=0&id=7189be91&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!./TeamRegistrationStatus.vue?vue&type=style&index=0&id=70a0e8da&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!./TeamRegistrationStatus.vue?vue&type=style&index=0&id=70a0e8da&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!./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=style&index=0&id=9e79fe70&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!./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=style&index=0&id=9e79fe70&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!./TournamentTeamChangeCaptainDialog.vue?vue&type=style&index=0&id=2f978412&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!./TournamentTeamChangeCaptainDialog.vue?vue&type=style&index=0&id=2f978412&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-slide-x-transition',{attrs:{\"hide-on-leave\":\"\"}},[(_vm.isSelectingGroup)?_c('div',[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.SelectGroup'))+\" \")])]),_c('v-container',{staticClass:\"my-10 py-8\",attrs:{\"fluid\":\"\"}},[(_vm.isGroupsLoading)?_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"100\"}})],1)],1):[_c('v-row',[_c('v-col',{staticClass:\"text-center font-italic font-weight-bold\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.SelectGroupPlease'))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-list',{staticClass:\"py-0 group-list\",attrs:{\"two-line\":\"\",\"outlined\":\"\"}},_vm._l((_vm.groups),function(group,index){return _c('v-list-item',{key:(\"group-li-\" + index),staticClass:\"group-li\",attrs:{\"input-value\":_vm.selectedGroup === group.name},on:{\"click\":function($event){_vm.selectedGroup = group.name}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-account-group\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"title action-option\"},[_vm._v(_vm._s(group.name))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.CurrentGroupTeamNumbers'))+\" \"),(group.current <= 0 && group.maxTeams <= 0)?[_vm._v(\" -- \")]:(group.maxTeams <= 0)?[_vm._v(\" \"+_vm._s(group.current)+\" \")]:[_vm._v(\" \"+_vm._s(group.current)+\" / \"+_vm._s(group.maxTeams)+\" \")],_vm._v(\" . \"),(group.available)?_c('span',{staticClass:\"green--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.Available'))+\" \")]):_c('span',{staticClass:\"red--text\"},[_vm._v(_vm._s(_vm.$t('TournamentRegistration.Unavailable')))])],2)],1)],1)}),1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[(_vm.isSelectedGroupNotAvailable)?_c('small',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\",\"left\":\"\"}},[_vm._v(\"mdi-alert\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.AlreadyFull'))+\" \")],1):_vm._e()])],1)]],2),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"primary\",\"large\":\"\",\"disabled\":!_vm.canSelectGroup},on:{\"click\":function($event){_vm.isSelectingGroup = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.Next'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)],1):_vm._e()]),_c('v-slide-x-transition',{attrs:{\"leave-absolute\":\"\"}},[(!_vm.isSelectingGroup)?_c('div',[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.Registration'))+\" \")])]),_c('v-container',{staticClass:\"my-10 py-8\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-center font-italic font-weight-bold\",attrs:{\"cols\":\"12\"}},[(_vm.tournamentAction === 'create')?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.CreateTeamMessage'))+\" \"),(_vm.perTeamRegistrationFee > 0)?_c('div',{staticClass:\"red--text font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.RegistrationFeeReminder', { registrationFee: _vm.perTeamRegistrationFee }))+\" \")]):_vm._e()]:(_vm.tournamentAction === 'join')?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.JoinTeamMessage'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.PleaseSelectAnOption'))+\" \")]],2)],1),_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-list',{staticClass:\"py-0\",attrs:{\"two-line\":\"\",\"outlined\":\"\"}},[_c('v-list-item',{staticClass:\"registration-action\",attrs:{\"input-value\":_vm.tournamentAction === 'create'},on:{\"click\":function($event){_vm.tournamentAction = 'create'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-account-plus\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"title action-option\"},[_vm._v(_vm._s(_vm.$t('TournamentRegistration.CreateTeam')))]),(!_vm.$vuetify.breakpoint.mobile)?_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t('TournamentRegistration.CreateTeamMessage')))]):_vm._e()],1)],1),_c('v-divider'),_c('v-list-item',{staticClass:\"registration-action\",attrs:{\"active-class\":\"selected\",\"input-value\":_vm.tournamentAction === 'join'},on:{\"click\":function($event){_vm.tournamentAction = 'join'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-shield-key-outline\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"title action-option\"},[_vm._v(_vm._s(_vm.$t('TournamentRegistration.JoinTeam')))]),(!_vm.$vuetify.breakpoint.mobile)?_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t('TournamentRegistration.JoinTeamMessage')))]):_vm._e()],1)],1)],1)],1)],1)],1),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"px-5 mx-2\",attrs:{\"large\":\"\",\"disabled\":!this.tournament.hasGroup},on:{\"click\":function($event){_vm.isSelectingGroup = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-arrow-left\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.SelectGroup'))+\" \")],1),_c('v-btn',{staticClass:\"px-5 mx-2\",attrs:{\"color\":\"primary\",\"large\":\"\",\"disabled\":!_vm.tournamentAction},on:{\"click\":_vm.onNext}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.Next'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Emit,\r\n PropSync,\r\n Prop,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\n// import InsufficientCreditDialog from '@/modules/payment/components/InsufficientCreditDialog'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { TournamentAPI, TournamentGroupAvailability } from '@/api/tournament'\r\nimport ServerError from '@/utils/server_error'\r\n// import paymentStore from '@/modules/payment/payment.store'\r\n\r\n@Component({\r\n components: {\r\n // InsufficientCreditDialog\r\n }\r\n})\r\nexport default class TournamentRegistration extends Vue {\r\n @PropSync('action', { default: null })\r\n tournamentAction!: 'create' | 'join' | null\r\n\r\n @Prop({ required: true })\r\n seed!: number\r\n\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n // paymentModule = getModule(paymentStore, this.$store)\r\n\r\n // isCheckingBalance: boolean = false\r\n // isInsufficientCreditDialogVisible: boolean = false\r\n\r\n isSelectingGroup: boolean = false\r\n selectedGroup: string | null = null\r\n\r\n isGroupsLoading: boolean = false\r\n groups: TournamentGroupAvailability[] = []\r\n\r\n @Watch('seed')\r\n async onSeedChanged() {\r\n this.isSelectingGroup = this.tournament!.hasGroup\r\n this.selectedGroup = null\r\n\r\n if (this.isSelectingGroup) {\r\n await this.fetchGroups()\r\n }\r\n }\r\n\r\n async mounted() {\r\n await this.onSeedChanged()\r\n }\r\n\r\n /* Emitters */\r\n @Emit('back')\r\n onBack() {\r\n return this\r\n }\r\n\r\n /* Methods */\r\n async onNext() {\r\n // Check balance if tournament contains per team registration fee\r\n /* if (this.perTeamRegistrationFee !== 0) {\r\n this.isCheckingBalance = true\r\n await this.paymentModule.getWallet()\r\n this.$nextTick(() => {\r\n this.isCheckingBalance = false\r\n if (!this.wallet || this.wallet.subtotal < this.perTeamRegistrationFee)\r\n this.isInsufficientCreditDialogVisible = true\r\n else this.$emit('next')\r\n })\r\n } else { */\r\n this.$emit('next', this.selectedGroup)\r\n // }\r\n }\r\n\r\n async fetchGroups() {\r\n this.isGroupsLoading = true\r\n\r\n try {\r\n const res = await TournamentAPI.getTournamentGroups(\r\n this.tournament!.tournamentId\r\n )\r\n this.groups = res.data.payload!\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('Landing.SystemErrorMessage'))\r\n }\r\n } finally {\r\n this.isGroupsLoading = false\r\n }\r\n }\r\n\r\n /* Computed Properties */\r\n get tournament() {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get perTeamRegistrationFee() {\r\n return 0\r\n // if (!this.tournament) return 0\r\n // return this.tournament.paymentPerTeamRegistrationFee\r\n }\r\n /*\r\n\r\n get wallet() {\r\n return this.paymentModule.wallet\r\n } */\r\n\r\n get canSelectGroup() {\r\n if (!this.selectedGroup) {\r\n return false\r\n }\r\n\r\n const group = this.groups.find(group => group.name === this.selectedGroup)\r\n if (!group) return false\r\n return group.available\r\n }\r\n\r\n get isSelectedGroupNotAvailable() {\r\n const group = this.groups.find(group => group.name === this.selectedGroup)\r\n if (!group) return false\r\n return !group.available\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!./TournamentRegistration.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!./TournamentRegistration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentRegistration.vue?vue&type=template&id=c20a9e84&scoped=true&\"\nimport script from \"./TournamentRegistration.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentRegistration.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentRegistration.vue?vue&type=style&index=0&id=c20a9e84&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 \"c20a9e84\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\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';\nimport { VSlideXTransition } from 'vuetify/lib/components/transitions';\ninstallComponents(component, {VBtn,VCardTitle,VCol,VContainer,VDivider,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VRow,VSlideXTransition})\n","import TournamentRegistration from './TournamentRegistration.vue'\r\n\r\nexport { TournamentRegistration }\r\nexport default TournamentRegistration\r\n","import axios from '@/utils/request'\r\nimport { AxiosPromise } from 'axios'\r\nimport Qs from 'qs'\r\nimport { BaseResponse, ResponseStatus } from '.'\r\nimport { TournamentTeamEntity, TournamentTeamState } from './tournamentTeam'\r\nimport { MemberSnippetEntity } from './member'\r\n\r\nexport { BaseResponse, ResponseStatus }\r\n\r\nexport interface TournamentTeamPostsPagination {\r\n items: TournamentTeamPostEntity[]\r\n hasMorePage: boolean\r\n}\r\n\r\nexport interface TournamentTeamPostEntity {\r\n tournamentTeam: TournamentTeamEntity\r\n member: MemberSnippetEntity\r\n id: string\r\n message: string\r\n createTime: number\r\n lastUpdateTime: number\r\n isOwner: boolean\r\n}\r\n\r\nexport interface TournamentTeamPostsFilter {\r\n tournamentId: string | undefined\r\n tournamentTeamId: string | undefined\r\n isOwner: boolean | undefined\r\n}\r\n\r\n// New API\r\n\r\nexport interface TeamPostsPagination {\r\n items: TeamPostEntity[]\r\n hasMorePage: boolean\r\n}\r\n\r\nexport interface TeamPostComment {\r\n id: string\r\n createTime: number\r\n member: MemberSnippetEntity\r\n message: string\r\n}\r\n\r\nexport interface TeamPostEntity {\r\n comments: TeamPostComment[]\r\n id: string\r\n createTime: number\r\n lastUpdateTime: number\r\n lastCommentTime: number\r\n numOfComments: number\r\n member: MemberSnippetEntity\r\n message: string\r\n tournamentTeam: TournamentTeamEntity\r\n}\r\n\r\nexport class TournamentTeamPostAPI {\r\n public static API_PREFIX = '/tournament/v1'\r\n\r\n public static getPosts(\r\n page: number = 1,\r\n filter: TournamentTeamPostsFilter | {} = {}\r\n ): AxiosPromise> {\r\n return axios.get(`${this.API_PREFIX}/tournament-team-posts`, {\r\n params: {\r\n page,\r\n ...filter\r\n },\r\n paramsSerializer: params =>\r\n Qs.stringify(params, { arrayFormat: 'repeat' })\r\n })\r\n }\r\n\r\n public static requestToJoin(\r\n tournamentTeamId: string\r\n ): AxiosPromise {\r\n return axios.post(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/request-join`\r\n )\r\n }\r\n\r\n public static acceptJoinRequest(\r\n tournamentTeamId: string,\r\n memberId: string\r\n ): AxiosPromise {\r\n return axios.post(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/accept-join-request`,\r\n { memberId }\r\n )\r\n }\r\n\r\n public static publishTeam(\r\n tournamentTeamId: string,\r\n message: string\r\n ): AxiosPromise {\r\n return axios.post(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/publish`,\r\n { message }\r\n )\r\n }\r\n\r\n public static unpublishTeam(\r\n tournamentTeamId: string\r\n ): AxiosPromise {\r\n return axios.post(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/unpublish`\r\n )\r\n }\r\n\r\n public static leaveTeam(teamId: string): AxiosPromise {\r\n return axios.delete(`${this.API_PREFIX}/tournament-teams/${teamId}/members`)\r\n }\r\n\r\n // New API\r\n public static getTournamentTeamPosts(\r\n tournamentId: string,\r\n page: number = 1\r\n ): AxiosPromise> {\r\n return axios.get(\r\n `${this.API_PREFIX}/tournaments/${tournamentId}/team-posts`,\r\n {\r\n params: {\r\n page\r\n }\r\n }\r\n )\r\n }\r\n\r\n public static getTeamPostDetails(\r\n tournamentTeamId: string\r\n ): AxiosPromise> {\r\n return axios.get(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/posts`\r\n )\r\n }\r\n\r\n public static updateTeamPost(\r\n tournamentTeamId: string,\r\n message: string\r\n ): AxiosPromise {\r\n return axios.put(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/posts`,\r\n { message }\r\n )\r\n }\r\n\r\n public static replyTeamPost(\r\n tournamentTeamId: string,\r\n message: string\r\n ): AxiosPromise {\r\n return axios.post(\r\n `${this.API_PREFIX}/tournament-teams/${tournamentTeamId}/posts/comments`,\r\n { message }\r\n )\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fill-height\"},[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-text-box-check-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentCustomForm.Title'))+\" \")],1)]),_c('div',{staticClass:\"subtitle-1 text-center mb-5\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentCustomForm.Subtitle'))+\" \")])]),_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\"}},[(Object.keys(_vm.schema).length)?_c('v-form-base',{attrs:{\"schema\":_vm.theSchema,\"model\":_vm.value}}):_c('div',{staticClass:\"text-center orange--text\"},[_vm._v(\"沒有額外資料需要填寫\")])],1),_c('v-btn',{staticClass:\"mt-12\",attrs:{\"block\":\"\",\"depressed\":\"\",\"x-large\":\"\",\"color\":\"success\",\"disabled\":!_vm.isValid},on:{\"click\":_vm.submitForm}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentCustomForm.Submit'))+\" \")])],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\r\nimport { Vue, Component, Prop, Emit, Ref } from 'vue-property-decorator'\r\nimport VFormBase from 'vuetify-form-base'\r\nimport { TournamentAPI } from '@/api/tournament'\r\n\r\ninterface VForm extends HTMLFormElement {\r\n validate(): boolean\r\n}\r\n\r\n@Component({\r\n components: {\r\n VFormBase\r\n }\r\n})\r\nexport default class TournamentCustomForm extends Vue {\r\n @Prop({ type: Object, required: true }) readonly schema!: any\r\n\r\n @Ref() readonly form!: VForm\r\n\r\n isValid: boolean = false\r\n\r\n value: any = {}\r\n\r\n @Emit('submit')\r\n submit() {\r\n return this.value\r\n }\r\n\r\n // FIXME: temp code\r\n\r\n shouldHide: boolean = false\r\n\r\n async created() {\r\n try {\r\n const res = await TournamentAPI.shouldHideForm()\r\n this.shouldHide = res.data.payload!\r\n } catch (err) {\r\n // we don't care\r\n }\r\n }\r\n\r\n get theSchema() {\r\n if (this.shouldHide) {\r\n const schema = { ...this.schema }\r\n delete schema['studentidf']\r\n delete schema['studentidb']\r\n\r\n return schema\r\n }\r\n\r\n return this.schema\r\n }\r\n\r\n // end of temp code\r\n\r\n submitForm() {\r\n if (!this.form.validate()) return\r\n\r\n // Invoke and emit submit form event\r\n this.submit()\r\n }\r\n\r\n // Validation Rules\r\n\r\n // Helper & Partial Functions\r\n minLen = (l: any) => (v: string) =>\r\n (v && v.length >= l) || `min. ${l} Characters`\r\n maxLen = (l: any) => (v: string) =>\r\n (v && v.length <= l) || `max. ${l} Characters`\r\n required = (msg: string) => (v: string) => !!v || msg\r\n requiredArray = (msg: string, minLength = 1) => (v: any[]) =>\r\n (Array.isArray(v) && v.length > minLength) || msg\r\n\r\n // Rules\r\n rules = {\r\n requiredEmail: this.required('E-mail is required'),\r\n requiredSel: this.required('Selection is required'),\r\n requiredSelMult: this.requiredArray('2 Selections are required'),\r\n max12: this.maxLen(12),\r\n min6: this.minLen(6),\r\n validEmail: (v: string) => /.+@.+\\..+/.test(v) || 'E-mail must be valid'\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!./TournamentCustomForm.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!./TournamentCustomForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentCustomForm.vue?vue&type=template&id=d70499a4&scoped=true&\"\nimport script from \"./TournamentCustomForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentCustomForm.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 \"d70499a4\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VCardTitle,VForm,VIcon})\n","import TournamentCustomForm from './TournamentCustomForm.vue'\r\nexport default TournamentCustomForm\r\nexport { TournamentCustomForm }\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!./TournamentLFGModal.vue?vue&type=style&index=0&id=1aa479bc&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!./TournamentLFGModal.vue?vue&type=style&index=0&id=1aa479bc&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-card-title',{staticClass:\"pt-0 py-10\"},[_c('h2',{staticClass:\"heading mx-auto text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationComplete.RegistrationComplete'))+\" \")])]),_c('div',{staticClass:\"my-10 py-5\"},[_c('div',{staticClass:\"subtitle-2 text-center mb-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationComplete.RegisteredTournamentSuccessfullyMessage'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationComplete.SendInformationToTeamMembersMessage'))+\" \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"offset-sm\":\"3\"}},[_c('v-text-field',{ref:\"teamTokenTextField\",staticClass:\"teamtoken-field\",attrs:{\"outlined\":\"\",\"readonly\":\"\",\"label\":this.$t('TeamRegistrationComplete.TeamCode'),\"value\":_vm.teamToken,\"hide-details\":\"\",\"append-icon\":\"mdi-content-copy\"},on:{\"click:append\":_vm.copyTeamToken}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"offset-sm\":\"3\"}},[_c('v-text-field',{ref:\"teamTokenUrlTextField\",staticClass:\"teamtoken-field\",attrs:{\"outlined\":\"\",\"readonly\":\"\",\"label\":this.$t('TeamRegistrationComplete.ShareLink'),\"value\":_vm.teamTokenUrl,\"hide-details\":\"\",\"append-icon\":\"mdi-content-copy\"},on:{\"click:append\":_vm.copyTeamTokenUrl}})],1)],1),(!_vm.hideLfg)?_c('v-row',{staticClass:\"text-center\",attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"my-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationComplete.LookingForTeam'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"large\":\"\"},on:{\"click\":_vm.toLookForGroup}},[_c('v-icon',[_vm._v(\"mdi-bullhorn\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentDetailsLFG.RecruitMember'))+\" \")],1)],1)],1):_vm._e()],1),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"success\",\"large\":\"\"},on:{\"click\":function($event){return _vm.onClose()}}},[_c('v-icon',[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationComplete.Finish'))+\" \")],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\r\nimport { isElectron } from '@/utils/electron'\r\nimport { Vue, Component, Emit, Prop, Ref } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class TeamRegistrationComplete extends Vue {\r\n @Prop({ required: true })\r\n readonly teamToken!: string\r\n\r\n @Ref('teamTokenTextField')\r\n readonly teamTokenTextField!: { $el: HTMLInputElement }\r\n\r\n @Ref('teamTokenUrlTextField')\r\n readonly teamTokenUrlTextField!: { $el: HTMLInputElement }\r\n\r\n @Prop({ type: Boolean, default: false }) readonly hideLfg!: boolean\r\n\r\n @Emit('close')\r\n onClose() {\r\n return this\r\n }\r\n\r\n toLookForGroup() {\r\n this.$router.push({ name: 'TournamentDetailsLFG' })\r\n this.onClose()\r\n }\r\n\r\n get teamTokenTrimmed() {\r\n return this.teamToken.replace(' ', '')\r\n }\r\n\r\n get teamTokenUrl() {\r\n if (this.isElectron) {\r\n return process.env.VUE_APP_TEAM_TOKEN_URL!.replace(\r\n '%teamToken%',\r\n this.teamTokenTrimmed\r\n )\r\n }\r\n return `${window.location.origin}/invite/${this.teamTokenTrimmed}`\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n copyTeamToken() {\r\n this.$copyText(this.teamTokenTrimmed, this.teamTokenTextField.$el).then(\r\n e => {\r\n this.$toast.info(\r\n this.$t('TeamRegistrationComplete.CopiedTeamCodeToClipboard')\r\n )\r\n },\r\n e => {\r\n this.$toast.error(\r\n this.$t('TeamRegistrationComplete.FailedToCopyToClipboard')\r\n )\r\n }\r\n )\r\n }\r\n\r\n copyTeamTokenUrl() {\r\n this.$copyText(this.teamTokenUrl, this.teamTokenUrlTextField.$el).then(\r\n e => {\r\n this.$toast.info(\r\n this.$t('TeamRegistrationComplete.CopiedTeamCodeToClipboard')\r\n )\r\n },\r\n e => {\r\n this.$toast.error(\r\n this.$t('TeamRegistrationComplete.FailedToCopyToClipboard')\r\n )\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!./TeamRegistrationComplete.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!./TeamRegistrationComplete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamRegistrationComplete.vue?vue&type=template&id=29001bc9&scoped=true&\"\nimport script from \"./TeamRegistrationComplete.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamRegistrationComplete.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamRegistrationComplete.vue?vue&type=style&index=0&id=29001bc9&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 \"29001bc9\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCardTitle,VCol,VIcon,VRow,VTextField})\n","import TeamRegistrationComplete from './TeamRegistrationComplete.vue'\r\n\r\nexport { TeamRegistrationComplete }\r\nexport default TeamRegistrationComplete\r\n","import TournamentBasicInformation from './TournamentBasicInformation.vue'\r\n\r\nexport { TournamentBasicInformation }\r\nexport default TournamentBasicInformation\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tournament-layout\"},[_c('div',{staticClass:\"tournament-layout-overlay\"}),_c('div',{staticClass:\"tournament-details-layout\"},[(_vm.tournament)?_c('div',{staticClass:\"fill-height\"},[_c('v-container',{staticClass:\"fill-height py-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"fill-height\"},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"basic-information\",attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('TournamentBasicInformation',{attrs:{\"tournamentId\":_vm.tournament.tournamentId,\"name\":_vm.tournament.name,\"logo\":_vm.tournament.detailLogo,\"game\":_vm.tournament.game,\"regions\":_vm.tournament.regions,\"registrationStartTime\":_vm.tournament.scheduleRegistrationStartTime,\"registrationEndTime\":_vm.tournament.scheduleRegistrationEndTime,\"startTime\":_vm.tournament.scheduleStartTime,\"endTime\":_vm.tournament.scheduleEndTime,\"prizePool\":_vm.tournament.prizePrizePool,\"state\":_vm.tournament.state,\"has-entry-fee\":_vm.tournament.hasEntryFee,\"entry-fee\":_vm.tournament.entryFee\n ? ((_vm.tournament.entryFee.currency) + \" $\" + (_vm.tournament.entryFee.amount))\n : '',\"tournament-action\":_vm.tournamentAction,\"hide-action-button\":_vm.isRequestedToJoin,\"tournament-action-loading\":_vm.loading},on:{\"select\":_vm.onJoinTournament}},[_c('div',{staticClass:\"d-flex flex-column\"},[(_vm.isRequestedToJoin)?_c('AppButton',{staticClass:\"mt-2\",attrs:{\"label\":_vm.$t('TournamentLayout.ViewLookForGroup'),\"icon\":\"mdi-text-box\",\"size\":\"auto\",\"buttonType\":\"tournament\"},on:{\"click\":function($event){return _vm.openLFGDialog()}}}):_vm._e(),_c('AppButton',{staticClass:\"mt-2\",attrs:{\"label\":_vm.$t('TournamentLayout.LookForGroup'),\"icon\":\"mdi-magnify\",\"size\":\"auto\",\"theme\":\"purple\",\"buttonType\":\"tournament\",\"disabled\":_vm.$route.name === 'TournamentDetailsLFG' || _vm.hideLFG},on:{\"click\":_vm.lookForGroup}})],1)])],1):_vm._e(),_c('v-col',{staticClass:\"detail\",attrs:{\"cols\":\"12\",\"lg\":\"9\"}},[_c('div',{staticClass:\"tournament-layout-background\"},[_c('v-img',{attrs:{\"src\":_vm.tournamentBackground,\"lazy-src\":_vm.tournamentBackground,\"width\":\"100%\",\"height\":\"100%\"},on:{\"error\":function($event){_vm.isBackgroundImageError = true}}})],1),_c('div',{staticClass:\"detail-wrapper\"},[_c('v-slide-x-reverse-transition',{attrs:{\"mode\":\"out-in\"}},[_c('router-view')],1)],1)])],1)],1),_c('TournamentActionDialog',{attrs:{\"tournament-id\":_vm.tournament.tournamentId},on:{\"tournamentRegistrationComplete\":_vm.fetchJoinedTournamentTeam}}),_c('TournamentRegistrationClosedDialog')],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { TournamentState } from '@/api/tournament'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport layoutStore from '@/modules/shared/layout.store'\r\nimport memberStore from '@/modules/member/member.store'\r\nimport TournamentBasicInformation from '@/modules/tournament/components/TournamentBasicInformation'\r\nimport TournamentActionDialog from '@/modules/tournament/components/TournamentActionDialog'\r\nimport { TournamentAction } from '@/modules/tournament/components/TournamentBasicInformation/TournamentBasicInformation.vue'\r\nimport gsap, { Power2 } from 'gsap'\r\nimport { unixTimestampToDateTime } from '@/utils'\r\nimport ServerError from '@/utils/server_error'\r\nimport requestLogin from '@/utils/requestLogin'\r\nimport { getRealtimeConnection, realtimeEventTarget } from '@/utils/realtime'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport TournamentLFGModal from './components/TournamentLFGModal'\r\nimport AppButton from '@/modules/shared/components/AppButton'\r\nimport { TournamentTeamRole, TournamentTeamState } from '@/api/tournamentTeam'\r\nimport { IdentityAPI } from '@/api/identity'\r\nimport { ensureTournamentVerification } from '@/utils/verification'\r\nimport TournamentRegistrationClosedDialog from '@/modules/tournament/components/TournamentRegistrationClosedDialog/TournamentRegistrationClosedDialog.vue'\r\n\r\nexport enum OpenMode {\r\n Slide = 'slide',\r\n Dim = 'dim'\r\n}\r\n\r\n@Component({\r\n components: {\r\n TournamentRegistrationClosedDialog,\r\n TournamentBasicInformation,\r\n TournamentActionDialog,\r\n TournamentLFGModal,\r\n AppButton\r\n }\r\n})\r\nexport default class TournamentLayout extends Vue {\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n userModule = getModule(userStore, this.$store)\r\n layoutModule = getModule(layoutStore, this.$store)\r\n memberModule = getModule(memberStore, this.$store)\r\n tournamentOverlayIsVisible: boolean = false\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n isBackgroundImageError: boolean = false\r\n loading: boolean = false\r\n\r\n @Prop({ default: OpenMode.Dim }) readonly openMode!: OpenMode\r\n\r\n /* Route parameters */\r\n get tournamentId() {\r\n return this.$route.params.tournamentId\r\n }\r\n\r\n get hasDefaultTab() {\r\n return !!this.$route.meta.defaultTab\r\n }\r\n\r\n /* Hooks */\r\n async created() {\r\n await this.subscribeRealtimeEvents()\r\n realtimeEventTarget.addEventListener(\r\n 'connect',\r\n this.subscribeRealtimeEvents\r\n )\r\n realtimeEventTarget.addEventListener(\r\n 'reconnected',\r\n this.subscribeRealtimeEvents\r\n )\r\n }\r\n\r\n /**\r\n * This is fired when user exited the tournament view.\r\n * - Unsubscribe the tournament gracefully using vuex tournamentId.\r\n * - Destroy vuex tournament data and remove listener\r\n * [NOTE] this.tournamentId from route is already invalidated in this state.\r\n */\r\n async beforeDestroy() {\r\n let tournamentId = this.tournament!.tournamentId\r\n this.tournamentModule.resetSelectedTournament()\r\n this.tournamentModule.resetSelectedTournamentTeams()\r\n this.tournamentModule.resetSelectedTournamentTeam()\r\n this.realtimeConnectionCancellationToken.cancel()\r\n await this.unsubscribeRealtimeEvents(tournamentId)\r\n realtimeEventTarget.removeEventListener(\r\n 'connect',\r\n this.subscribeRealtimeEvents\r\n )\r\n realtimeEventTarget.removeEventListener(\r\n 'reconnected',\r\n this.subscribeRealtimeEvents\r\n )\r\n }\r\n\r\n async mounted() {\r\n await this.fetchData()\r\n await this.fetchJoinedTournamentTeam()\r\n setTimeout(() => {\r\n this.animateTournamentOverlay(this.hasDefaultTab)\r\n })\r\n\r\n setTimeout(() => {\r\n if (!this.hasJoinedTournament) {\r\n this.fetchJoinedTournamentTeam()\r\n }\r\n }, 1000)\r\n }\r\n\r\n /* Vuex State */\r\n get tournament() {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get tournamentTeam() {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get hasJoinedTournament() {\r\n return !!this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get isRequestedToJoin() {\r\n if (!this.hasJoinedTournament) return false\r\n return !!this.tournamentModule.selectedTournamentTeam!.players.find(\r\n player =>\r\n player.memberId === this.userModule.memberId &&\r\n player.role === TournamentTeamRole.RequestToJoin\r\n )\r\n }\r\n\r\n get hasLoggedIn() {\r\n return this.userModule.hasLoggedIn\r\n }\r\n\r\n /* Computed Properties */\r\n get tournamentBackground() {\r\n if (\r\n !this.tournament ||\r\n !this.tournament.detailBanner ||\r\n this.isBackgroundImageError\r\n ) {\r\n return require('@/assets/default/tournament_background.png')\r\n }\r\n return this.$vuetify.breakpoint.mobile\r\n ? this.tournament.detailMobileBanner\r\n : this.tournament.detailBanner\r\n }\r\n\r\n async setSelectedTournament(tournamentId: string) {\r\n await this.tournamentModule.setSelectedTournament(tournamentId)\r\n }\r\n\r\n get tournamentAction(): TournamentAction {\r\n if (this.hasJoinedTournament) {\r\n return TournamentAction.ViewRegistrationStatus\r\n }\r\n return TournamentAction.JoinTournament\r\n }\r\n\r\n /* Watchers */\r\n @Watch('hasLoggedIn')\r\n async onHasLoggedInChanged() {\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n @Watch('hasDefaultTab')\r\n async onDefaultTabChanged(hasDefaultTab: boolean) {\r\n await this.animateTournamentOverlay(hasDefaultTab)\r\n }\r\n\r\n @Watch('tournamentId')\r\n async onTournamentIdChanged() {\r\n this.resetTournamentData()\r\n }\r\n\r\n /* Methods */\r\n async fetchData() {\r\n await this.layoutModule.setProgressBarVisible(true)\r\n try {\r\n const tournamentId = this.tournamentId\r\n await this.setSelectedTournament(tournamentId)\r\n\r\n if (this.tournament && this.tournament.isAutomated) {\r\n await this.$router.replace({\r\n name: 'InstantMatchDetails',\r\n params: {\r\n tournamentId\r\n }\r\n })\r\n }\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('TournamentLayout.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n await this.layoutModule.setProgressBarVisible(false)\r\n }\r\n }\r\n\r\n /**\r\n * This is fired when user changed tournament from one to another\r\n * - Unsubscribe previous tournament using tournamentId from vuex\r\n * - Destroy vuex tournament data\r\n * - Subscribe new tournament with tournamentId from route params.\r\n */\r\n async resetTournamentData() {\r\n let tournamentId = this.tournament!.tournamentId\r\n this.tournamentModule.resetSelectedTournament()\r\n this.tournamentModule.resetSelectedTournamentTeams()\r\n this.tournamentModule.resetSelectedTournamentTeam()\r\n\r\n this.realtimeConnectionCancellationToken.cancel()\r\n await this.unsubscribeRealtimeEvents(tournamentId)\r\n\r\n await this.fetchData()\r\n await this.fetchJoinedTournamentTeam()\r\n setTimeout(() => {\r\n this.animateTournamentOverlay(this.hasDefaultTab)\r\n })\r\n\r\n // Re-subscribe tournament with new route's tournamentId\r\n await this.subscribeRealtimeEvents()\r\n }\r\n\r\n unixToTime(value: number) {\r\n return unixTimestampToDateTime(value)\r\n }\r\n\r\n async animateTournamentOverlay(isOpen: boolean) {\r\n if (isOpen) {\r\n if (this.openMode === OpenMode.Dim) {\r\n gsap.to('.detail-wrapper', {\r\n backgroundColor: 'transparent',\r\n borderTop: 'none',\r\n duration: 0\r\n })\r\n gsap.to('.tournament-layout-overlay', {\r\n opacity: 0.75,\r\n duration: 0.5\r\n })\r\n }\r\n gsap\r\n .to('.detail-wrapper', {\r\n height: this.openMode === OpenMode.Dim ? '100%' : '90%',\r\n duration: 0.5,\r\n ease: Power2.easeOut\r\n })\r\n .then(() => {\r\n this.tournamentOverlayIsVisible = true\r\n })\r\n } else {\r\n if (this.openMode === OpenMode.Dim) {\r\n gsap.to('.tournament-layout-overlay', {\r\n opacity: 0,\r\n duration: 0.5\r\n })\r\n }\r\n gsap\r\n .to('.detail-wrapper', {\r\n height: 0,\r\n duration: 0.5,\r\n ease: Power2.easeOut\r\n })\r\n .then(() => {\r\n this.tournamentOverlayIsVisible = false\r\n })\r\n }\r\n }\r\n\r\n onJoinTournament() {\r\n this.loading = true\r\n\r\n requestLogin(async () => {\r\n if (\r\n !(await ensureTournamentVerification({\r\n tournament: this.tournament!,\r\n callback: this.onJoinTournament\r\n }))\r\n ) {\r\n this.loading = false\r\n return\r\n }\r\n\r\n await this.fetchJoinedTournamentTeam()\r\n this.setTournamentActionDialogVisible(true)\r\n\r\n this.loading = false\r\n })\r\n }\r\n\r\n setTournamentActionDialogVisible(visible: boolean = false) {\r\n this.tournamentModule.setTournamentActionDialogVisible(visible)\r\n }\r\n\r\n async fetchJoinedTournamentTeam() {\r\n try {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournamentId\r\n )\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n if (err.getStatusCode() >= 400 && err.getStatusCode() < 500) {\r\n return\r\n }\r\n\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('TournamentLayout.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n\r\n await this.$router.push('/')\r\n }\r\n }\r\n\r\n async subscribeRealtimeEvents() {\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('TournamentLayout.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n await this.realtimeConnection.send('SubscribeTournament', this.tournamentId)\r\n this.realtimeConnection.on(\r\n 'tournamentStateUpdated',\r\n this.onTournamentStateUpdated\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentDataUpdated',\r\n this.onTournamentDataUpdated\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentTeamUpdated',\r\n this.fetchJoinedTournamentTeam\r\n )\r\n }\r\n\r\n async unsubscribeRealtimeEvents(tournamentId: string) {\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off(\r\n 'tournamentStateUpdated',\r\n this.onTournamentStateUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentDataUpdated',\r\n this.onTournamentDataUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentTeamUpdated',\r\n this.fetchJoinedTournamentTeam\r\n )\r\n await this.realtimeConnection.send('UnsubscribeTournament', tournamentId)\r\n }\r\n }\r\n\r\n async onTournamentStateUpdated(state: TournamentState) {\r\n const oldState = this.tournament ? this.tournament.state : undefined\r\n if (\r\n oldState === TournamentState.OpenRegistration &&\r\n this.tournamentModule.tournamentActionDialogVisible &&\r\n (!this.tournamentTeam ||\r\n this.tournamentTeam.state !== TournamentTeamState.Registered)\r\n ) {\r\n await this.tournamentModule.setTournamentActionDialogVisible(false)\r\n await this.tournamentModule.setTournamentRegistrationClosedDialogVisible(\r\n true\r\n )\r\n }\r\n\r\n if (state === TournamentState.OpenRegistration) {\r\n if (oldState === TournamentState.WaitingForCheckIn) {\r\n this.$toast.info(\r\n this.$t('TournamentLayout.TournamentCheckInReopenRegistration')\r\n )\r\n } else {\r\n this.$toast.info(this.$t('TournamentLayout.TournamentOpenRegistration'))\r\n }\r\n } else if (\r\n state === TournamentState.CompleteRegistration &&\r\n oldState !== TournamentState.WaitingForCheckIn\r\n ) {\r\n this.$toast.info(this.$t('TournamentLayout.TournamentCloseRegistration'))\r\n }\r\n await this.fetchData()\r\n }\r\n\r\n async onTournamentDataUpdated() {\r\n this.$toast.info(this.$t('TournamentLayout.TournamentInformationUpdated'))\r\n await this.fetchData()\r\n }\r\n\r\n async openLFGDialog() {\r\n try {\r\n await this.$router.push({\r\n name: 'TournamentDetailsLFG',\r\n params: {\r\n tournamentTeamId: this.tournamentModule.selectedTournamentTeam!\r\n .tournamentTeamId\r\n }\r\n })\r\n } catch (e) {\r\n await this.layoutModule.showLFGModal(\r\n this.tournamentModule.selectedTournamentTeam!.tournamentTeamId\r\n )\r\n }\r\n }\r\n\r\n lookForGroup() {\r\n requestLogin(async () => {\r\n await this.fetchJoinedTournamentTeam()\r\n this.$router.push({ name: 'TournamentDetailsLFG' })\r\n })\r\n }\r\n\r\n get TournamentState() {\r\n return TournamentState\r\n }\r\n\r\n get hideLFG() {\r\n if (!this.tournament) return false\r\n\r\n if (this.tournament.isAutomated) return true\r\n\r\n if (this.tournament.capacityMaxPlayersPerTeam === 1) return true\r\n\r\n return 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!./TournamentLayout.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!./TournamentLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentLayout.vue?vue&type=template&id=a6d2d1a8&scoped=true&\"\nimport script from \"./TournamentLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentLayout.vue?vue&type=style&index=0&id=a6d2d1a8&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 \"a6d2d1a8\",\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlideXReverseTransition } from 'vuetify/lib/components/transitions';\ninstallComponents(component, {VCol,VContainer,VImg,VRow,VSlideXReverseTransition})\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!./TournamentBasicInformation.vue?vue&type=style&index=0&id=241b5bc8&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!./TournamentBasicInformation.vue?vue&type=style&index=0&id=241b5bc8&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!./EditTournamentFormResponseDialog.vue?vue&type=style&index=0&id=d317a484&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!./EditTournamentFormResponseDialog.vue?vue&type=style&index=0&id=d317a484&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!./EditTournamentGroupDialog.vue?vue&type=style&index=0&id=74837e1e&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!./EditTournamentGroupDialog.vue?vue&type=style&index=0&id=74837e1e&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!./TournamentChip.vue?vue&type=style&index=0&id=02cfea5a&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!./TournamentChip.vue?vue&type=style&index=0&id=02cfea5a&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:{\"value\":_vm.isVisible,\"max-width\":\"90rem\",\"persistent\":\"\",\"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)}}},[(_vm.posts)?_c('v-app-bar',{attrs:{\"flat\":\"\",\"color\":\"primary\"}},[_c('v-app-bar-title',[_c('v-icon',{attrs:{\"large\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-magnify\")]),_vm._v(\" \"+_vm._s(_vm.posts.tournamentTeam.name)+\" \")],1),_c('v-spacer'),_c('v-icon',{attrs:{\"right\":\"\",\"large\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\"mdi-close\")])],1):_vm._e(),(_vm.posts)?_c('v-card',{staticClass:\"lfg-card\"},[_c('v-container',{staticClass:\"lfg-container\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"d-flex flex-column\",attrs:{\"cols\":\"12\",\"md\":\"9\"}},[_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-title',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-message-text\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.DescriptionTitle'))+\" \"),_c('v-spacer'),(_vm.isPostOwner)?_c('v-btn',{attrs:{\"icon\":\"\",\"large\":\"\"},on:{\"click\":_vm.popEditDialog}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1):_vm._e()],1),_c('v-alert',{staticClass:\"title\",attrs:{\"color\":\"secondary lighten-1\",\"icon\":\"mdi-post-outline\",\"border\":\"top\",\"prominent\":\"\"}},[_c('div',{staticClass:\"author-message text-break\"},[_vm._v(\" \"+_vm._s(_vm.posts.message)+\" \")])])],1),_c('v-card',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-title',{staticClass:\"border-divider mb-5\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-forum\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.DiscussionTitle'))+\" \")],1),(_vm.posts)?_c('div',{ref:\"content\",staticClass:\"message-container pr-2\"},_vm._l((_vm.postComments),function(comment,index){return _c('DiscussionMessage',{key:(\"comment-\" + index),attrs:{\"message\":comment.message,\"time\":comment.createTime,\"name\":comment.member.nickname,\"avatar\":comment.member.avatar}})}),1):_vm._e(),(_vm.hasLoggedIn)?_c('v-row',{staticClass:\"mt-2\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('UserAvatar',{attrs:{\"imageUrl\":_vm.member.avatar,\"width\":48}})],1),_c('v-col',{staticClass:\"pl-3 pr-2\",attrs:{\"cols\":\"10\",\"sm\":\"11\"}},[_c('v-textarea',{attrs:{\"disabled\":_vm.submittingReply,\"loading\":_vm.submittingReply,\"counter\":\"\",\"maxlength\":\"150\",\"dense\":\"\",\"outlined\":\"\",\"rows\":\"2\",\"placeholder\":_vm.$t('TournamentLFGModal.CommentHints')},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submitReply($event)}},model:{value:(_vm.replyMessage),callback:function ($$v) {_vm.replyMessage=$$v},expression:\"replyMessage\"}})],1)],1):_vm._e()],1)],1),_c('v-col',{staticClass:\"order-first order-lg-last\",attrs:{\"xs\":\"12\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[(_vm.posts.tournamentTeam.logo)?_c('v-avatar',{staticClass:\"team-avatar\",attrs:{\"size\":\"112\",\"color\":\"secondary\"}},[_c('v-img',{attrs:{\"src\":_vm.posts.tournamentTeam.logo}})],1):_c('v-avatar',{staticClass:\"display-4\",attrs:{\"size\":\"112\",\"color\":\"secondary\"}},[_vm._v(\" \"+_vm._s(_vm.teamAvatarName)+\" \")]),_c('h2',[_vm._v(_vm._s(_vm.posts.tournamentTeam.name))])],1)],1)],1),_c('v-container',[(\n this.selectedTournament.state ===\n _vm.TournamentState.OpenRegistration\n )?[(_vm.isTeamActionButtonVisible)?_c('v-btn',{attrs:{\"block\":\"\",\"x-large\":\"\",\"color\":\"primary\",\"disabled\":!_vm.hasLoggedIn ||\n _vm.hasJoinedTournament ||\n _vm.isTournamentTeamRegistered},on:{\"click\":_vm.setActionDialogVisible}},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-swap-vertical-bold\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.RequestToJoin'))+\" \")],1):_c('v-btn',{staticClass:\"my-2 title\",attrs:{\"block\":\"\",\"x-large\":\"\",\"color\":\"secondary\"},on:{\"click\":_vm.popManageDialog}},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"large\":\"\"}},[_vm._v(\"mdi-cog\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.ManageJoinRequest'))+\" \")],1)]:[_c('v-alert',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"type\":\"error\"}},[(_vm.isPostOwner)?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.JoinRequestManagementDisabled'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.RequestToJoinDisabled'))+\" \")]],2)]],2),_c('v-container',[(!_vm.isPostOwner && _vm.isAbleToCancel)?_c('v-btn',{attrs:{\"block\":\"\",\"x-large\":\"\",\"color\":\"orange darken-2\",\"disabled\":!_vm.hasLoggedIn || _vm.isTournamentTeamRegistered},on:{\"click\":function($event){_vm.cancelRequestVisible = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-swap-vertical-bold\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.CancelRequest'))+\" \")],1):(_vm.isPostOwner)?_c('v-btn',{staticClass:\"my-2\",attrs:{\"block\":\"\",\"large\":\"\",\"color\":\"red darken-2\",\"disabled\":_vm.isTournamentTeamRegistered ||\n this.selectedTournament.state !==\n _vm.TournamentState.OpenRegistration},on:{\"click\":function($event){_vm.unpublishRequestVisible = true}}},[_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(\"mdi-close-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.CancelRecruitment'))+\" \")],1):(_vm.userHasTeam && !_vm.userIsCurrentTeamMember)?_c('v-chip',{staticClass:\"my-1 text-center\",attrs:{\"color\":\"warning darken-2\"}},[_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(\"mdi-alert-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.HintJoinedAnotherTeamAlready'))+\" \")],1):_vm._e()],1),_c('v-spacer'),_c('v-container',[_c('h2',[_c('v-icon',{attrs:{\"large\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-information-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentLFGModal.TeamStatus'))+\" \")],1),_c('v-chip',{staticClass:\"ma-5\",attrs:{\"color\":\"orange darken-2\",\"label\":\"\"}},[_vm._v(_vm._s(_vm.$t('TournamentTeamState.' + _vm.posts.tournamentTeam.state)))])],1),(_vm.tournamentTeamId)?_c('TeamLFGManagement',{attrs:{\"tournamentTeamId\":_vm.tournamentTeamId,\"visible\":_vm.manageDialogVisible},on:{\"update:visible\":function($event){_vm.manageDialogVisible=$event}}}):_vm._e()],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"500px\",\"persistent\":\"\"},model:{value:(_vm.editDialogVisible),callback:function ($$v) {_vm.editDialogVisible=$$v},expression:\"editDialogVisible\"}},[_c('v-card',[_c('v-card-title',{domProps:{\"textContent\":_vm._s(_vm.$t('TournamentLFGModal.EditRecruitmentTitle'))}}),_c('v-card-text',[_c('v-textarea',{attrs:{\"placeholder\":_vm.$t('TournamentLFGModal.EnterRecruitmentMessage'),\"counter\":\"\",\"maxlength\":\"250\",\"outlined\":\"\"},model:{value:(_vm.editMessage),callback:function ($$v) {_vm.editMessage=$$v},expression:\"editMessage\"}})],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":_vm.closeEditDialog}},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-window-close\")]),_vm._v(\" \"+_vm._s(_vm.$t('InGameNameDialog.Close'))+\" \")],1),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"x-large\":\"\"},on:{\"click\":_vm.submitEditTeamPost}},[_c('v-icon',{attrs:{\"left\":\"\",\"large\":\"\"}},[_vm._v(\"mdi-content-save\")]),_vm._v(\" \"+_vm._s(_vm.$t('InGameNameDialog.SaveChanges'))+\" \")],1)],1)],1)],1),(_vm.selectedTournament && _vm.posts)?_c('LFGJoinActionDialog',{attrs:{\"isVisible\":_vm.requestJoinVisible,\"tournament\":_vm.selectedTournament,\"tournamentTeam\":_vm.posts.tournamentTeam},on:{\"update:isVisible\":function($event){_vm.requestJoinVisible=$event},\"update:is-visible\":function($event){_vm.requestJoinVisible=$event},\"confirmed\":_vm.onJoinRequestConfirmed}}):_vm._e(),_c('ConfirmDialog',{attrs:{\"is-visible\":_vm.cancelRequestVisible,\"title\":_vm.$t('TournamentLFGModal.RequestCancelConfirmTitle'),\"content\":_vm.$t('TournamentLFGModal.RequestCancelConfirmMessage'),\"width\":\"35\"},on:{\"update:isVisible\":function($event){_vm.cancelRequestVisible=$event},\"update:is-visible\":function($event){_vm.cancelRequestVisible=$event},\"confirm\":_vm.onCancelRequestConfirmed,\"cancel\":function($event){_vm.cancelRequestVisible = false}}}),_c('ConfirmDialog',{attrs:{\"is-visible\":_vm.unpublishRequestVisible,\"title\":_vm.$t('TournamentLFGModal.UnpublishRequestTitle'),\"content\":_vm.$t('TournamentLFGModal.UnpublishRequestMessage'),\"width\":\"35\"},on:{\"update:isVisible\":function($event){_vm.unpublishRequestVisible=$event},\"update:is-visible\":function($event){_vm.unpublishRequestVisible=$event},\"confirm\":_vm.onUnpublishPostRequestConfirmed,\"cancel\":function($event){_vm.unpublishRequestVisible = false}}})],1)],1):_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-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-right\",attrs:{\"cols\":\"2\",\"sm\":\"1\"}},[_c('UserAvatar',{attrs:{\"imageUrl\":_vm.avatar,\"width\":48}})],1),_c('v-col',{staticClass:\"pl-3\",attrs:{\"cols\":\"10\",\"sm\":\"11\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-subtitle',{staticClass:\"subtitle-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('DiscussionMessage.CommentItemDescription', { name: _vm.name, commentTime: _vm.commentTime }))+\" \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-chat\")])],1),_c('v-card-text',{staticClass:\"subtitle-1\",domProps:{\"textContent\":_vm._s(_vm.message)}})],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 { unixTimestampToDateTime } from '@/utils'\r\nimport { avatarInitial } from '@/utils/avatar'\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\nimport { UserAvatar } from '@/modules/shared/components/UserAvatar'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar\r\n }\r\n})\r\nexport default class DiscussionMessage extends Vue {\r\n @Prop({ type: String, default: '{message}' }) readonly message!: string\r\n @Prop({ type: String, default: '{username}' }) readonly name!: string\r\n @Prop({ type: String, default: '' }) readonly avatar!: string\r\n @Prop({ type: Number, required: true }) readonly time!: string\r\n\r\n get avatarName() {\r\n return avatarInitial(this.name)\r\n }\r\n\r\n get commentTime() {\r\n return this.$moment(parseInt(this.time) * 1000).fromNow()\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!./DiscussionMessage.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!./DiscussionMessage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DiscussionMessage.vue?vue&type=template&id=7bcfea76&scoped=true&\"\nimport script from \"./DiscussionMessage.vue?vue&type=script&lang=ts&\"\nexport * from \"./DiscussionMessage.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 \"7bcfea76\",\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 { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardSubtitle,VCardText,VCol,VIcon,VRow})\n","import DiscussionMessage from './DiscussionMessage.vue'\r\nexport default DiscussionMessage\r\nexport { DiscussionMessage }\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\":\"50rem\",\"persistent\":\"\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.isVisible = false},\"click:outside\":function($event){_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[(_vm.tournamentTeam)?_c('v-card',{attrs:{\"loading\":_vm.isProcessing}},[_c('v-card-actions',{staticClass:\"align-start\"},[_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.isVisible = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-title',{staticClass:\"pt-0 py-5\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamLFGManagement.Title'))+\" \")])]),_c('p',{staticClass:\"text-center mb-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamLFGManagement.Subtitle'))+\" \")]),_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"card-body-content\"},[_c('v-list',{attrs:{\"dense\":\"\"}},[(!_vm.players.length)?_c('v-list-item',[_c('v-alert',{attrs:{\"type\":\"secondary\",\"border\":\"left\",\"width\":\"100%\"}},[_c('v-icon',[_vm._v(\"mdi-timer-sand-empty\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamLFGManagement.NoPendingJoinRequest'))+\" \")],1)],1):_vm._e(),_vm._l((_vm.players),function(player,index){return _c('v-list-item',{key:(\"team-request-\" + index),attrs:{\"flat\":\"\"}},[_c('v-list-item-avatar',[_c('UserAvatar',{attrs:{\"imageUrl\":player.avatar,\"width\":36}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(player.nickname)}}),_c('v-list-item-subtitle',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-tag\")]),_vm._v(\" \"+_vm._s(player.gameAccountNickname)+\" \")],1)],1),_c('v-list-item-action',[_c('v-btn',{attrs:{\"color\":\"red\",\"small\":\"\",\"disabled\":_vm.isProcessing},on:{\"click\":function($event){return _vm.rejectMember(player.memberId)}}},[_vm._v(\" \"+_vm._s(_vm.$t('TeamLFGManagement.RejectRequest'))+\" \")])],1),_c('v-list-item-action',[_c('v-btn',{attrs:{\"color\":\"green\",\"small\":\"\",\"disabled\":_vm.isProcessing},on:{\"click\":function($event){return _vm.approveMember(player.memberId)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamLFGManagement.ApproveRequest'))+\" \")],1)],1)],1)})],2)],1)])],1):_c('v-card',{staticClass:\"loading-card text-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"150\"}})],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\r\nimport {\r\n Component,\r\n Emit,\r\n Prop,\r\n PropSync,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport {\r\n ConfirmTournamentTeamRosterRequest,\r\n TournamentAPI\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentPlayerEntity,\r\n TournamentTeamEntity\r\n} from '@/api/tournamentTeam'\r\nimport { TournamentTeamPostAPI } from '@/api/tournamentTeamPost'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar\r\n }\r\n})\r\nexport default class TeamLFGManagement extends Vue {\r\n @Prop({ required: true }) tournamentTeamId!: string\r\n @PropSync('visible', { default: false }) isVisible!: boolean\r\n userModule = getModule(userStore, this.$store)\r\n isProcessing: boolean = false\r\n tournamentTeam: TournamentTeamEntity | null = null\r\n\r\n @Watch('isVisible')\r\n async onVisibilityChanged(visible: boolean) {\r\n if (visible) {\r\n await this.fetchData()\r\n }\r\n }\r\n\r\n @Watch('tournamentTeam')\r\n async onRosterChanged(tournamentTeam: TournamentTeamEntity) {\r\n this.refreshSelectedRoster()\r\n }\r\n\r\n /* Vuex State */\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n /* Computed Properties */\r\n\r\n /* Methods */\r\n async fetchData() {\r\n this.tournamentTeam = null\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 refreshSelectedRoster() {\r\n if (!this.tournamentTeam) {\r\n }\r\n }\r\n\r\n get players() {\r\n if (!this.tournamentTeam) return []\r\n\r\n return this.tournamentTeam.players.filter(\r\n player => player.role === 'RequestToJoin'\r\n )\r\n }\r\n\r\n async approveMember(memberId: string) {\r\n if (!memberId) return\r\n\r\n try {\r\n this.isProcessing = true\r\n const res = await TournamentTeamPostAPI.acceptJoinRequest(\r\n this.tournamentTeamId,\r\n memberId\r\n )\r\n if (res.data.status) {\r\n this.$toast.success(this.$t('TeamLFGManagement.ApprovedMessage'))\r\n await this.fetchData()\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n }\r\n console.error(err)\r\n } finally {\r\n this.isProcessing = false\r\n }\r\n }\r\n\r\n async rejectMember(memberId: string) {\r\n if (!memberId) return\r\n\r\n try {\r\n this.isProcessing = true\r\n const res = await TournamentAPI.removeTeamMember(\r\n this.tournamentTeamId,\r\n memberId\r\n )\r\n if (res.data.status) {\r\n this.$toast.error(this.$t('TeamLFGManagement.RejectedMessage'))\r\n await this.fetchData()\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n }\r\n console.error(err)\r\n } finally {\r\n this.isProcessing = 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!./TeamLFGManagement.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!./TeamLFGManagement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamLFGManagement.vue?vue&type=template&id=e5fa81fa&scoped=true&\"\nimport script from \"./TeamLFGManagement.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamLFGManagement.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamLFGManagement.vue?vue&type=style&index=0&id=e5fa81fa&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 \"e5fa81fa\",\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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } 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 { 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 { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardTitle,VDialog,VIcon,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VSpacer})\n","import TeamLFGManagement from './TeamLFGManagement.vue'\r\nexport default TeamLFGManagement\r\nexport { TeamLFGManagement }\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\":\"60rem\",\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},model:{value:(_vm.isModalVisible),callback:function ($$v) {_vm.isModalVisible=$$v},expression:\"isModalVisible\"}},[_c('v-card',[_c('v-card-actions',{staticClass:\"align-start\"},[(_vm.showBackButton)?_c('v-btn',{attrs:{\"x-large\":\"\",\"icon\":\"\"},on:{\"click\":_vm.back}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.setIsVisible(false)}}},[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-close\")])],1)],1),_c('v-window',{staticClass:\"content\",attrs:{\"touchless\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-window-item',{attrs:{\"value\":1}},[(_vm.tournament)?_c('ReadAndAccept',{ref:\"readAndAccept\",attrs:{\"rules\":_vm.tournament.detailRules},on:{\"next\":function($event){_vm.step = 2}}}):_vm._e()],1),_c('v-window-item',{attrs:{\"value\":2}},[_c('InGameNameRegistration',{ref:\"gameAccountRegistration\",on:{\"back\":function($event){_vm.step = 1},\"next\":_vm.onIGNCompleted}})],1),_c('v-window-item',{attrs:{\"value\":2.5}},[_c('TournamentCustomForm',{attrs:{\"schema\":_vm.schema},on:{\"submit\":_vm.setFormResponse}})],1),_c('v-window-item',{attrs:{\"value\":3}},[(_vm.tournamentTeam)?_c('TeamJoinDetailReview',{attrs:{\"tournament\":_vm.tournament,\"teamName\":_vm.tournamentTeam.name},on:{\"back\":function($event){_vm.step = 2},\"submit\":_vm.onJoinDetailReviewed}}):_vm._e()],1),_c('v-window-item',{attrs:{\"value\":4}},[_c('v-card-title',{staticClass:\"pt-0\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentTeamTokenDialog.JoiningYourTeam'))+\" \")])]),_c('div',{staticClass:\"my-10 py-10 text-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"white\",\"size\":\"80\"}})],1)],1)],1),_c('v-card-actions',{staticClass:\"mt-5\"},[_c('div',{staticClass:\"mx-auto d-flex pa-5\"},_vm._l((_vm.steps),function(i){return _c('v-sheet',{key:(\"step-btn-\" + i),staticClass:\"mr-5\",attrs:{\"height\":\"4\",\"width\":_vm.$vuetify.breakpoint.mobile ? '2em' : '5em',\"icon\":\"\",\"disabled\":_vm.step === i,\"color\":_vm.step === i ? 'white' : 'grey darken-3'}})}),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\r\nimport {\r\n Vue,\r\n Component,\r\n PropSync,\r\n Watch,\r\n Ref,\r\n Prop,\r\n Emit\r\n} from 'vue-property-decorator'\r\nimport ReadAndAccept from '@/modules/tournament/components/ReadAndAccept'\r\nimport InGameNameRegistration from '@/modules/tournament/components/InGameNameRegistration'\r\nimport TournamentRegistration from '@/modules/tournament/components/TournamentActionDialog/TournamentRegistration'\r\nimport EnterInvitationCode from '@/modules/tournament/components/EnterInvitationCode'\r\nimport TeamRegistration from '@/modules/tournament/components/TournamentActionDialog/TeamRegistration'\r\nimport TeamRegistrationComplete from '@/modules/tournament/components/TournamentActionDialog/TeamRegistrationComplete'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport TeamRegistrationStatus from '@/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue'\r\nimport ServerError from '@/utils/server_error'\r\nimport { TournamentAPI, TournamentEntity } from '@/api/tournament'\r\nimport { TokenAcceptPayload } from '@/modules/tournament/components/EnterInvitationCode/EnterInvitationCode.vue'\r\nimport TeamJoinDetailReview from '@/modules/tournament/components/TournamentActionDialog/TeamJoinDetailReview'\r\nimport { TournamentTeamEntity } from '@/api/tournamentTeam'\r\nimport TournamentCustomForm from '@/modules/tournament/components/TournamentCustomForm'\r\nimport { parseSchema } from '@/utils/customform_validation'\r\n\r\n@Component({\r\n components: {\r\n TeamRegistrationStatus,\r\n EnterInvitationCode,\r\n ReadAndAccept,\r\n InGameNameRegistration,\r\n TournamentRegistration,\r\n TeamRegistration,\r\n TeamRegistrationComplete,\r\n TeamJoinDetailReview,\r\n TournamentCustomForm\r\n }\r\n})\r\nexport default class LFGJoinActionDialog extends Vue {\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n step: number = 1\r\n steps: number[] = Array.from(new Array(5), (_, index) => index + 1)\r\n // custom form\r\n schema: any = {}\r\n formResponse: any = null\r\n\r\n @PropSync('isVisible', { type: Boolean, default: false })\r\n isModalVisible!: boolean\r\n\r\n @Prop({ type: Object, required: true }) readonly tournament!: TournamentEntity\r\n @Prop({ type: Object, required: true })\r\n readonly tournamentTeam!: TournamentTeamEntity\r\n\r\n @Ref('gameAccountRegistration')\r\n readonly gameAccountRegistration!: InGameNameRegistration\r\n\r\n @Ref('readAndAccept')\r\n readonly readAndAccept!: ReadAndAccept\r\n\r\n @Ref('enterInvitationCode')\r\n readonly enterInvitationCode!: EnterInvitationCode\r\n\r\n @Ref('teamRegistration')\r\n readonly teamRegistration!: TeamRegistration\r\n\r\n @Watch('isVisible')\r\n onDialogVisiblityChanged(visible: boolean) {\r\n if (visible) {\r\n if (this.hasJoinedTournament) {\r\n this.step = 5\r\n } else {\r\n this.step = 1\r\n }\r\n\r\n this.fetchTournamentCustomFormSchema()\r\n } else {\r\n setTimeout(() => {\r\n this.step = 1\r\n this.schema = {}\r\n this.formResponse = null\r\n }, 200)\r\n\r\n if (this.gameAccountRegistration) {\r\n this.gameAccountRegistration.reset()\r\n }\r\n\r\n if (this.readAndAccept) {\r\n this.readAndAccept.reset()\r\n }\r\n\r\n if (this.enterInvitationCode) {\r\n this.enterInvitationCode.reset()\r\n }\r\n\r\n if (this.teamRegistration) {\r\n this.teamRegistration.reset()\r\n }\r\n }\r\n }\r\n\r\n async fetchTournamentCustomFormSchema() {\r\n let response = await TournamentAPI.getTournamentCustomFormSchema(\r\n this.tournament!.tournamentId\r\n )\r\n if (response.data.payload) {\r\n try {\r\n this.schema = parseSchema(response.data.payload.schema)\r\n } catch {\r\n this.schema = {}\r\n }\r\n }\r\n }\r\n\r\n setIsVisible(isVisible: boolean = false) {\r\n this.isModalVisible = isVisible\r\n }\r\n\r\n onIGNCompleted() {\r\n this.step = this.schemaLength ? 2.5 : 3\r\n }\r\n\r\n async setFormResponse(value: any) {\r\n this.formResponse = value\r\n this.step = 3\r\n }\r\n\r\n get schemaLength() {\r\n return Object.keys(this.schema).length\r\n }\r\n\r\n get showBackButton() {\r\n if (this.hasJoinedTournament) {\r\n return\r\n }\r\n\r\n return this.step > 1 && this.step < 5\r\n }\r\n\r\n get hasJoinedTournament() {\r\n return !!this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n back() {\r\n this.step--\r\n\r\n if (this.step < 1) {\r\n this.step = 1\r\n }\r\n\r\n if (this.enterInvitationCode) {\r\n this.enterInvitationCode.reset()\r\n }\r\n }\r\n\r\n async onJoinTournament() {\r\n this.step = 6\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n async fetchJoinedTournamentTeam() {\r\n try {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournament!.tournamentId\r\n )\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n if (err.getStatusCode() >= 400 && err.getStatusCode() < 500) {\r\n return\r\n }\r\n\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('TournamentActionDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n\r\n await this.$router.push('/')\r\n }\r\n }\r\n\r\n onJoinDetailReviewed() {\r\n this.confirmTeamJoin()\r\n this.step = 4\r\n }\r\n\r\n @Emit('confirmed')\r\n confirmTeamJoin() {\r\n return this.formResponse\r\n }\r\n\r\n // async submitTournamentFormResponse(token: string) {\r\n // try {\r\n // const response = await TournamentAPI.submitTournamentFormResponseWithToken(\r\n // token,\r\n // JSON.stringify(this.formResponse)\r\n // )\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('TournamentActionDialog.SystemErrorMessage'))\r\n // console.error(err)\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!./LFGJoinActionDialog.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!./LFGJoinActionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LFGJoinActionDialog.vue?vue&type=template&id=7189be91&scoped=true&\"\nimport script from \"./LFGJoinActionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LFGJoinActionDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LFGJoinActionDialog.vue?vue&type=style&index=0&id=7189be91&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 \"7189be91\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VDialog,VIcon,VProgressCircular,VSheet,VSpacer,VWindow,VWindowItem})\n","import LFGJoinActionDialog from './LFGJoinActionDialog.vue'\r\nexport default LFGJoinActionDialog\r\nexport { LFGJoinActionDialog }\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Prop, Ref, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport DiscussionMessage from './DiscussionMessage'\r\nimport {\r\n TeamPostEntity,\r\n TournamentTeamPostAPI,\r\n TournamentTeamPostEntity\r\n} from '@/api/tournamentTeamPost'\r\nimport ServerError from '@/utils/server_error'\r\nimport { avatarInitial } from '@/utils/avatar'\r\nimport { ConfirmDialog } from '@/modules/shared/components/ConfirmDialog'\r\nimport layoutStore from '@/modules/shared/layout.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport memberStore from '@/modules/member/member.store'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentTeamRole,\r\n TournamentTeamState\r\n} from '@/api/tournamentTeam'\r\nimport TeamLFGManagement from './TeamLFGManagement'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport { getRealtimeConnection, realtimeEventTarget } from '@/utils/realtime'\r\nimport {\r\n TournamentEntity,\r\n TournamentState,\r\n TournamentAPI\r\n} from '@/api/tournament'\r\nimport { UserAvatar } from '@/modules/shared/components/UserAvatar'\r\nimport LFGJoinActionDialog from './LFGJoinActionDialog'\r\nimport { IdentityAPI } from '@/api/identity'\r\nimport { ensureTournamentVerification } from '@/utils/verification'\r\n\r\n@Component({\r\n components: {\r\n DiscussionMessage,\r\n ConfirmDialog,\r\n TeamLFGManagement,\r\n UserAvatar,\r\n LFGJoinActionDialog\r\n }\r\n})\r\nexport default class TournamentLFGModal extends Vue {\r\n @Prop({ type: String, default: '' }) tournamentTeamId!: string\r\n\r\n userModule = getModule(userStore, this.$store)\r\n layoutModule = getModule(layoutStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n memberModule = getModule(memberStore, this.$store)\r\n selectedMatchRoster: string[] = []\r\n isLoading: boolean = false\r\n\r\n posts: TeamPostEntity | null = null\r\n replyMessage: string = ''\r\n submittingReply: boolean = false\r\n\r\n editMessage: string = ''\r\n editDialogVisible: boolean = false\r\n requestJoinVisible: boolean = false\r\n manageDialogVisible: boolean = false\r\n cancelRequestVisible: boolean = false\r\n unpublishRequestVisible: boolean = false\r\n\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n @Ref('content') readonly chatContent!: HTMLDivElement\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n async onVisibilityChanged(visible: boolean) {\r\n if (visible) {\r\n await this.fetchData()\r\n\r\n // connect real time\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(\r\n this.$t('TeamRegistrationStatus.FailConnectServerMessage')\r\n )\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on(\r\n 'tournamentTeamPostEdited',\r\n this.onTournamentTeamPostEdited\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentTeamPostCommentUpdated',\r\n this.onTournamentTeamPostEdited\r\n )\r\n\r\n realtimeEventTarget.addEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\r\n )\r\n } else {\r\n await this.destroyRealtime(this.tournamentTeamId)\r\n this.posts = null\r\n this.replyMessage = ''\r\n this.submittingReply = false\r\n\r\n this.editMessage = ''\r\n this.editDialogVisible = false\r\n this.requestJoinVisible = false\r\n this.manageDialogVisible = false\r\n this.cancelRequestVisible = false\r\n this.unpublishRequestVisible = false\r\n }\r\n }\r\n\r\n @Watch('tournamentTeamId')\r\n async onTournamentTeamIdChanged(\r\n newTournamentTeamId: string,\r\n oldTournamentTeamId: string\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(\r\n this.$t('TeamRegistrationStatus.FailConnectServerMessage')\r\n )\r\n console.error(err)\r\n }\r\n\r\n if (oldTournamentTeamId) {\r\n await this.realtimeConnection.send(\r\n 'UnsubscribeTournamentTeam',\r\n oldTournamentTeamId\r\n )\r\n await this.destroyRealtime(oldTournamentTeamId)\r\n }\r\n\r\n if (newTournamentTeamId) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n newTournamentTeamId\r\n )\r\n await this.fetchData()\r\n }\r\n }\r\n\r\n /* Hooks */\r\n async created() {\r\n if (this.$route.params.tournamentTeamId) {\r\n await this.layoutModule.showLFGModal(\r\n this.tournamentModule.selectedTournamentTeam!.tournamentTeamId\r\n )\r\n }\r\n }\r\n\r\n async beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n this.destroyRealtime(this.tournamentTeamId)\r\n }\r\n\r\n /* Methods */\r\n close() {\r\n this.layoutModule.hideLFGModal()\r\n }\r\n\r\n popEditDialog() {\r\n this.editMessage = this.posts!.message\r\n this.editDialogVisible = true\r\n }\r\n\r\n popManageDialog() {\r\n this.manageDialogVisible = true\r\n }\r\n\r\n closeEditDialog() {\r\n this.editDialogVisible = false\r\n }\r\n\r\n async setActionDialogVisible() {\r\n if (\r\n !(await ensureTournamentVerification({\r\n tournament: this.tournamentModule.selectedTournament!,\r\n callback: this.setActionDialogVisible\r\n }))\r\n ) {\r\n return\r\n }\r\n this.requestJoinVisible = true\r\n }\r\n\r\n async onRealtimeReconnected() {\r\n // ensure we have subscribed the tournament team\r\n if (this.selectedTournament && this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n\r\n // fetch new data\r\n await this.fetchData()\r\n }\r\n\r\n async destroyRealtime(tournamentTeamId: string) {\r\n if (this.realtimeConnection) {\r\n await this.realtimeConnection.send(\r\n 'UnsubscribeTournamentTeam',\r\n tournamentTeamId\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentTeamPostEdited',\r\n this.onTournamentTeamPostEdited\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentTeamPostCommentUpdated',\r\n this.onTournamentTeamPostCommentUpdated\r\n )\r\n }\r\n\r\n realtimeEventTarget.removeEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\r\n )\r\n }\r\n\r\n async onTournamentTeamPostEdited() {\r\n await this.fetchData()\r\n this.$nextTick(() => {\r\n this.chatContent.scrollTop = 0\r\n })\r\n }\r\n\r\n async onTournamentTeamPostCommentUpdated(commenterMemberId: string) {\r\n if (commenterMemberId !== this.userId) {\r\n await this.fetchData()\r\n }\r\n }\r\n\r\n async onJoinRequestConfirmed(formResponse: any) {\r\n if (this.isPostOwner) return\r\n\r\n try {\r\n const response = await TournamentTeamPostAPI.requestToJoin(\r\n this.tournamentTeamId\r\n )\r\n if (response.data.status) {\r\n await this.fetchData()\r\n this.$toast.success(this.$t('TournamentLFGModal.RequestSentToCaptain'))\r\n\r\n // when join requested with form response received.\r\n if (formResponse) {\r\n this.submitTournamentFormResponse(formResponse)\r\n }\r\n }\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 } finally {\r\n this.requestJoinVisible = false\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournamentModule.selectedTournament!.tournamentId\r\n )\r\n }\r\n }\r\n\r\n async onCancelRequestConfirmed() {\r\n if (this.isPostOwner) return\r\n\r\n try {\r\n const response = await TournamentTeamPostAPI.leaveTeam(\r\n this.tournamentTeamId\r\n )\r\n if (response.data.status) {\r\n await this.fetchData()\r\n this.$toast.success(this.$t('TournamentLFGModal.JoinRequestCancelled'))\r\n }\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 } finally {\r\n this.cancelRequestVisible = false\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournamentModule.selectedTournament!.tournamentId\r\n )\r\n }\r\n }\r\n\r\n async onUnpublishPostRequestConfirmed() {\r\n if (!this.isPostOwner) return\r\n\r\n try {\r\n const response = await TournamentTeamPostAPI.unpublishTeam(\r\n this.tournamentTeamId\r\n )\r\n if (response.data.status) {\r\n await this.fetchData()\r\n this.$toast.success(\r\n this.$t('TournamentLFGModal.RecruitmentPostUnpublished')\r\n )\r\n }\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 } finally {\r\n this.unpublishRequestVisible = false\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournamentModule.selectedTournament!.tournamentId\r\n )\r\n this.$emit('refresh')\r\n this.close()\r\n }\r\n }\r\n\r\n async submitReply() {\r\n if (!this.replyMessage.trim().length) return\r\n\r\n this.submittingReply = true\r\n\r\n try {\r\n const response = await TournamentTeamPostAPI.replyTeamPost(\r\n this.tournamentTeamId,\r\n this.replyMessage\r\n )\r\n if (response.data.status) {\r\n await this.fetchData()\r\n }\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 } finally {\r\n this.replyMessage = ''\r\n this.submittingReply = false\r\n }\r\n }\r\n\r\n async submitTournamentFormResponse(formResponse: string) {\r\n try {\r\n const response = await TournamentAPI.submitTournamentFormResponse(\r\n this.tournamentTeamId,\r\n JSON.stringify(formResponse)\r\n )\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('TournamentActionDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async fetchData() {\r\n if (!this.tournamentTeamId) return\r\n\r\n try {\r\n this.isLoading = true\r\n const response = await TournamentTeamPostAPI.getTeamPostDetails(\r\n this.tournamentTeamId\r\n )\r\n let payload = response.data.payload\r\n if (payload) {\r\n this.posts = payload\r\n }\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 } finally {\r\n this.isLoading = false\r\n }\r\n }\r\n\r\n async submitEditTeamPost() {\r\n if (!this.editMessage || !this.posts) {\r\n return\r\n }\r\n try {\r\n const response = await TournamentTeamPostAPI.updateTeamPost(\r\n this.tournamentTeamId,\r\n this.editMessage\r\n )\r\n if (response.data.status) {\r\n this.$toast.info(this.$t('TournamentLFGModal.MessageEdited'))\r\n await this.fetchData()\r\n this.closeEditDialog()\r\n }\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 /* Computed Properties */\r\n get isVisible() {\r\n return this.layoutModule.tournamentLFGModalVisible\r\n }\r\n\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get selectedTournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get isPostOwner() {\r\n if (!this.posts) return false\r\n\r\n return this.userId === this.posts.member.memberId\r\n }\r\n\r\n get userId() {\r\n return this.userModule.memberId\r\n }\r\n\r\n get postComments() {\r\n if (!this.posts) return []\r\n\r\n return this.posts.comments.sort((a, b) => b.createTime - a.createTime)\r\n }\r\n\r\n get member() {\r\n return this.userModule.member\r\n }\r\n\r\n get teamAvatarName() {\r\n if (!this.posts) return ''\r\n\r\n return avatarInitial(this.posts.tournamentTeam.name)\r\n }\r\n\r\n get hasLoggedIn() {\r\n return this.userModule.hasLoggedIn\r\n }\r\n\r\n get hasJoinedTournament() {\r\n return !!this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get isAbleToCancel() {\r\n let userTeam = this.tournamentModule.selectedTournamentTeam\r\n if (!userTeam) {\r\n return false\r\n }\r\n let isUserJoined = userTeam.tournamentTeamId === this.tournamentTeamId\r\n\r\n let userTeamDetail = userTeam.players.find(\r\n player => player.memberId === this.userId\r\n )\r\n\r\n if (!userTeamDetail) return false\r\n if (!this.selectedTournament) return false\r\n\r\n return (\r\n isUserJoined &&\r\n userTeamDetail.role === TournamentTeamRole.RequestToJoin &&\r\n this.selectedTournament.state === TournamentState.OpenRegistration\r\n )\r\n }\r\n\r\n get userHasTeam() {\r\n let userTeam = this.tournamentModule.selectedTournamentTeam\r\n return !!userTeam\r\n }\r\n\r\n get userIsCurrentTeamMember() {\r\n let userTeam = this.tournamentModule.selectedTournamentTeam\r\n if (!userTeam) {\r\n return false\r\n }\r\n return userTeam.tournamentTeamId === this.tournamentTeamId\r\n }\r\n\r\n get isTournamentTeamRegistered() {\r\n if (!this.posts) {\r\n return false\r\n }\r\n return this.posts.tournamentTeam.state === TournamentTeamState.Registered\r\n }\r\n\r\n get isTeamActionButtonVisible() {\r\n return !this.isPostOwner || this.isTournamentTeamRegistered\r\n }\r\n\r\n get TournamentState() {\r\n return TournamentState\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!./TournamentLFGModal.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!./TournamentLFGModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentLFGModal.vue?vue&type=template&id=1aa479bc&scoped=true&\"\nimport script from \"./TournamentLFGModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentLFGModal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentLFGModal.vue?vue&type=style&index=0&id=1aa479bc&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 \"1aa479bc\",\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 { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarTitle } 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 { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\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 { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VAppBar,VAppBarTitle,VAvatar,VBtn,VCard,VCardActions,VCardText,VCardTitle,VChip,VCol,VContainer,VDialog,VIcon,VImg,VRow,VSpacer,VTextarea})\n","import TournamentLFGModal from './TournamentLFGModal.vue'\r\nexport default TournamentLFGModal\r\nexport { TournamentLFGModal }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card-title',{staticClass:\"pt-0 py-10\"},[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.RegistrationStatus'))+\" \")])]),_c('div',{staticClass:\"wrapper\"},[_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.CongratulationsJoinedTeamMessage'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.selectedTournamentTeam.name)+\" \")]),(_vm.hasGroup)?_c('p',{staticClass:\"text-center grey--text\"},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"grey\"}},[_vm._v(\"mdi-account-group\")]),(_vm.selectedTournamentTeam.group)?[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.TeamGroup'))+\" \"+_vm._s(_vm.selectedTournamentTeam.group)+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.NoGroup'))+\" \")]],2):_vm._e(),(_vm.isAllowChangeCaptain)?_c('div',{staticClass:\"d-flex justify-end mb-10 mx-6\"},[_c('v-btn',{attrs:{\"dark\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){_vm.isChangeTeamCaptainDialogVisible = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account-convert\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.ChangeCaptain'))+\" \")],1)],1):_vm._e(),_c('v-stepper',{staticClass:\"elevation-0\",attrs:{\"vertical\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-stepper-step',{attrs:{\"complete\":_vm.step >= 1,\"complete-icon\":_vm.step > 1 ? '$complete' : 'mdi-progress-clock',\"color\":_vm.step > 1 ? 'success' : 'primary',\"step\":1}},[_c('div',{staticClass:\"d-block d-lg-flex\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"d-flex flex-column justify-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.TeamRegistration'))+\" \"),_c('small',[_vm._v(_vm._s(_vm.$t( 'TeamRegistrationStatus.WaitForTeamMatesToCompleteTeamRegistration' )))])]),_c('v-spacer'),(_vm.step <= 2 && _vm.isTeamCaptain && !_vm.isSoloTournament)?_c('div',{staticClass:\"d-flex flex-row align-center mt-2\"},[(!_vm.teamTokenOutput)?_c('v-btn',{attrs:{\"color\":\"primary\",\"loading\":_vm.isGeneratingTeamToken},on:{\"click\":_vm.generateTeamToken}},[_c('v-icon',[_vm._v(\"refresh\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.RegenerateToken')))])],1):_vm._e(),(_vm.teamToken)?_c('v-text-field',{ref:\"teamTokenTextField\",staticClass:\"ml-1\",attrs:{\"single-line\":\"\",\"readonly\":\"\",\"solo\":\"\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"flat\":\"\",\"value\":_vm.teamTokenOutput,\"prepend-icon\":_vm.isGeneratingTeamToken ? null : 'refresh',\"append-icon\":\"mdi-content-copy\",\"append-outer-icon\":\"mdi-attachment\"},on:{\"click:prepend\":_vm.generateTeamToken,\"click:append\":_vm.copyTeamToken,\"click:append-outer\":_vm.copyTeamTokenUrl}}):_vm._e()],1):_vm._e()],1)]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('TournamentPlayers',{attrs:{\"waitingTeamRegistration\":true}})],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.step >= 2,\"complete-icon\":_vm.step > 2 ? '$complete' : 'mdi-progress-clock',\"color\":_vm.step > 2 ? 'success' : 'primary',\"step\":2}},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.Confirmation'))+\" \"),_c('small',[_vm._v(_vm._s(_vm.$t('TeamRegistrationStatus.ConfirmTeamRosterByTeamCaptain')))])]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('TournamentPlayers',{ref:\"tournamentPlayers\",attrs:{\"selectingTeamRoster\":true},on:{\"confirmRoster\":_vm.onConfirmRoster}})],1),_c('v-stepper-step',{attrs:{\"complete\":_vm.step >= 3,\"complete-icon\":'mdi-progress-clock',\"color\":'primary',\"step\":3}},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.GetReady'))+\" \"),_c('small',[_vm._v(_vm._s(_vm.$t( 'TeamRegistrationStatus.TournamentWillStartSoonAndGetReadyForTheFight' )))])]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('TournamentPlayers',{on:{\"unconfirmRoster\":_vm.onUnconfirmRoster}})],1)],1)],1),(_vm.step === 3)?_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"success\",\"large\":\"\"},on:{\"click\":_vm.onClose}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-check\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.Done'))+\" \")],1)],1):_vm._e(),(_vm.step <= 2 && _vm.isRegistrationPeriod)?_c('div',{staticClass:\"text-center\"},[_c('div',[(_vm.hasGroup && _vm.isTeamCaptain)?_c('v-btn',{staticClass:\"mx-1\",attrs:{\"large\":\"\",\"depressed\":\"\",\"block\":_vm.$vuetify.breakpoint.mobile,\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.isEditTournamentGroupDialogVisible = true}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-account-group\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.EditGroup'))+\" \")],1):_vm._e(),_c('v-btn',{staticClass:\"mx-1\",attrs:{\"large\":\"\",\"depressed\":\"\",\"block\":_vm.$vuetify.breakpoint.mobile,\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.isEditGameAccountDialogVisible = true}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-pencil-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.EditIGN'))+\" \")],1),(_vm.hasCustomForm)?_c('v-btn',{staticClass:\"mx-1\",attrs:{\"large\":\"\",\"block\":_vm.$vuetify.breakpoint.mobile,\"depressed\":\"\",\"outlined\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.isTournamentResponseEditDialogVisible = true}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"mdi-pencil-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistrationStatus.EditFormData'))+\" \")],1):_vm._e()],1)]):_vm._e(),_c('EditTournamentGroupDialog',{attrs:{\"visible\":_vm.isEditTournamentGroupDialogVisible},on:{\"update:visible\":function($event){_vm.isEditTournamentGroupDialogVisible=$event},\"changed\":_vm.onTournamentGroupChanged}}),_c('EditTournamentTeamMemberGameAccountDialog',{attrs:{\"visible\":_vm.isEditGameAccountDialogVisible},on:{\"update:visible\":function($event){_vm.isEditGameAccountDialogVisible=$event},\"changed\":_vm.onGameAccountNameChanged}}),_c('EditTournamentFormResponseDialog',{attrs:{\"visible\":_vm.isTournamentResponseEditDialogVisible},on:{\"update:visible\":function($event){_vm.isTournamentResponseEditDialogVisible=$event}}}),(_vm.isAllowChangeCaptain)?_c('TournamentTeamChangeCaptainDialog',{attrs:{\"visible\":_vm.isChangeTeamCaptainDialogVisible},on:{\"update:visible\":function($event){_vm.isChangeTeamCaptainDialogVisible=$event},\"captainChanged\":_vm.captainChanged}}):_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('div',[(_vm.isTeamCaptain)?_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('TournamentPlayers.RemovePlayerTitle')))]),_c('v-card-text',[_vm._v(_vm._s(_vm.$t('TournamentPlayers.RemovePlayerContent')))]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(_vm._s(_vm.$t('TournamentPlayers.Cancel')))]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":_vm.onRemoveTeamMemberClick}},[_vm._v(_vm._s(_vm.$t('TournamentPlayers.ConfirmDelete')))])],1)],1)],1):_vm._e(),_c('v-list',{attrs:{\"dense\":\"\"}},[(_vm.waitingTeamRegistration || _vm.selectingTeamRoster)?_c('v-list-item',[_c('v-alert',{attrs:{\"type\":\"info\",\"dense\":\"\",\"border\":\"left\",\"width\":\"100%\"}},[(_vm.waitingTeamRegistration)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.NoOfPlayersLimit'))+\" \"),(\n _vm.tournament.capacityMinPlayersPerTeam ===\n _vm.tournament.capacityMaxPlayersPerTeam\n )?[_vm._v(\" \"+_vm._s(_vm.tournament.capacityMaxPlayersPerTeam)+\" \")]:[_vm._v(\" \"+_vm._s(_vm.tournament.capacityMinPlayersPerTeam)+\" - \"+_vm._s(_vm.tournament.capacityMaxPlayersPerTeam)+\" \")]],2):(_vm.isSelectingTeamRoster)?_c('p',{class:{ caption: _vm.$vuetify.breakpoint.mobile }},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.SelectTeamRoster', { capacityMinPlayersPerTeam: _vm.tournament.capacityMinPlayersPerTeam, capacityMaxPlayersPerTeam: _vm.tournament.capacityMaxPlayersPerTeam }))+\" \")]):_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.WaitingForRosterConfirmation'))+\" \")])])],1):_vm._e(),_vm._l((_vm.players),function(tournamentPlayer,index){return _c('v-list-item',{key:(\"step-teammate-\" + index),class:{\n 'selected-roster-member':\n _vm.selectedTeamRoster.indexOf(tournamentPlayer.memberId) !== -1\n },attrs:{\"two-line\":\"\",\"flat\":\"\"},on:{\"click\":function($event){return _vm.onParticipantIndividualClick(tournamentPlayer.memberId)}}},[_c('v-list-item-avatar',{staticClass:\"d-none d-sm-flex\"},[_c('UserAvatar',{attrs:{\"imageUrl\":tournamentPlayer.avatar,\"width\":36}})],1),_c('v-list-item-content',{staticClass:\"d-block d-sm-flex\"},[_c('v-list-item-title',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(tournamentPlayer.nickname)+\" \"),(_vm.userId === tournamentPlayer.memberId)?_c('v-chip',{staticClass:\"ml-2\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.You')))]):_vm._e()],1),_c('v-list-item-subtitle',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.InGameName'))+\" : \"+_vm._s(tournamentPlayer.gameAccountNickname)+\" \")])],1),(_vm.isSelectingTeamRoster || !_vm.waitingTeamRegistration)?_c('v-list-item-content',{staticClass:\"d-block d-sm-flex\"},[_c('div',{staticClass:\"font-weight-bold\"},[(_vm.getTeamPlayerIsStarter(tournamentPlayer))?_c('v-chip',{attrs:{\"color\":\"success\",\"small\":!_vm.$vuetify.breakpoint.mobile,\"x-small\":_vm.$vuetify.breakpoint.mobile,\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.Starter'))+\" \")]):(_vm.selectingTeamRoster && !_vm.isTeamCaptain)?_c('v-chip',{attrs:{\"color\":\"orange darken-2\",\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.Pending'))+\" \")]):_c('v-chip',{attrs:{\"color\":\"red\",\"small\":\"\",\"label\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.Bench'))+\" \")])],1)]):_vm._e(),_c('v-list-item-action',[(tournamentPlayer.role === _vm.TournamentTeamRole.Captain)?_c('v-btn',{staticClass:\"d-none d-sm-flex\",attrs:{\"icon\":\"\",\"disabled\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-alpha-c-circle\")])],1):(\n !_vm.isSelectingTeamRoster &&\n tournamentPlayer.role === _vm.TournamentTeamRole.Member\n )?_c('v-btn',{staticClass:\"d-none d-sm-flex\",attrs:{\"icon\":\"\",\"disabled\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-alpha-m\")])],1):_vm._e(),(tournamentPlayer.role !== 'Captain' && _vm.isSelectingTeamRoster)?_c('v-btn',{attrs:{\"color\":\"error\",\"icon\":\"\"},on:{\"click\":function($event){_vm.dialog = true\n _vm.removeMemberId = tournamentPlayer.memberId}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1):_vm._e()],1)],1)}),_vm._l((_vm.remainingPlayers),function(remainingPlayer,remainingIndex){return _c('v-list-item',{key:(\"step-teammate-remaining-\" + remainingIndex)},[_c('v-list-item-avatar',{attrs:{\"color\":\"grey\"}}),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.WaitingForNewPlayer'))+\" \")])],1),_c('v-list-item-action',[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"32\"}})],1)],1)})],2),(_vm.isSelectingTeamRoster && _vm.canChooseVenue)?_c('v-select',{staticClass:\"mt-3 mb-2\",attrs:{\"label\":_vm.$t('TournamentPlayers.SelectVenue'),\"outlined\":\"\",\"hide-details\":\"\",\"dark\":\"\",\"item-text\":\"venue.name\",\"item-value\":\"venue.venueId\",\"items\":_vm.venues},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('div',{staticClass:\"py-4 venue-selection\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"d-flex flex-column\"},[_vm._v(\" \"+_vm._s(props.item.venue.name)+\" \"),_c('div',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(props.item.venue.address1)+\" \"),_c('br'),_vm._v(\" \"+_vm._s(props.item.venue.address2)+\" \")])]),_c('div',{staticClass:\"ml-auto\"},[(props.item.quota)?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.Quota'))+\": \"+_vm._s(props.item.quota - props.item.current)+\" / \"+_vm._s(props.item.quota)+\" \")]:[_vm._v(\" ∞ \")]],2)])])]}}],null,false,2321763467),model:{value:(_vm.selectedVenueId),callback:function ($$v) {_vm.selectedVenueId=$$v},expression:\"selectedVenueId\"}}):_vm._e(),(_vm.isSelectingTeamRoster)?_c('v-btn',{attrs:{\"disabled\":_vm.confirmLoading ||\n _vm.selectedTeamRoster.length < _vm.tournament.capacityMinPlayersPerTeam ||\n (_vm.canChooseVenue && !_vm.selectedVenueId),\"block\":\"\",\"color\":\"success\",\"loading\":_vm.confirmLoading},on:{\"click\":_vm.onConfirmTournamentTeamRosterClick}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.Confirm')))]):_vm._e(),(_vm.isUndoConfirmRosterEnabled)?[_c('v-alert',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"type\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.UnconfirmRosterWarning'))+\" \")]),_c('v-btn',{attrs:{\"block\":\"\",\"loading\":_vm.undoConfirmLoading},on:{\"click\":_vm.onUndoConfirmRosterClick}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentPlayers.CancelConfirmedState'))+\" \")])]:_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\r\nimport { Vue, Component, Prop, Watch, Emit } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\nimport ServerError from '@/utils/server_error'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport {\r\n TournamentAPI,\r\n TournamentEntity,\r\n ConfirmTournamentTeamRosterRequest,\r\n TournamentVenueWithDetail,\r\n TournamentState\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamRole,\r\n TournamentTeamState\r\n} from '@/api/tournamentTeam'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar\r\n }\r\n})\r\nexport default class TournamentPlayers extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n selectedTeamRoster: string[] = []\r\n confirmLoading: boolean = false\r\n undoConfirmLoading: boolean = false\r\n venues: TournamentVenueWithDetail[] = []\r\n selectedVenueId: string | null = null\r\n canChooseVenue: boolean = false\r\n\r\n removeMemberId: string = ''\r\n dialog: boolean = false\r\n\r\n @Prop({ default: false }) readonly selectingTeamRoster!: boolean\r\n @Prop({ default: false }) readonly waitingTeamRegistration!: boolean\r\n\r\n @Watch('tournamentTeam', { deep: true })\r\n async ontournamentTeamChanged(\r\n tournamentTeam: TournamentTeamEntity,\r\n oldtournamentTeam: TournamentTeamEntity\r\n ) {\r\n this.refreshSelectedTeamRoster()\r\n }\r\n\r\n /* Watchers */\r\n @Watch('tournament')\r\n async onTournamentChanged() {\r\n await this.refreshVenues()\r\n }\r\n\r\n @Watch('selectingTeamRoster')\r\n onSelectingTeamRoster() {\r\n this.selectedTeamRoster = []\r\n this.refreshSelectedTeamRoster()\r\n }\r\n\r\n @Watch('isTeamCaptain')\r\n onTeamCaptainChanged() {\r\n this.refreshSelectedTeamRoster()\r\n }\r\n\r\n /* Emitters */\r\n @Emit('confirmRoster')\r\n onConfirmRoster() {\r\n this.selectedTeamRoster = []\r\n return this\r\n }\r\n\r\n @Emit('unconfirmRoster')\r\n onUndoConfirmRoster() {\r\n this.refreshSelectedTeamRoster()\r\n\r\n return this\r\n }\r\n\r\n /* Vuex State */\r\n get tournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get tournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get players() {\r\n if (!this.tournamentTeam) return []\r\n\r\n return this.tournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n )\r\n }\r\n\r\n /* Computed Properties */\r\n get remainingPlayers() {\r\n if (\r\n !this.tournament ||\r\n !this.tournamentTeam ||\r\n !this.tournamentTeam.players\r\n ) {\r\n return 0\r\n }\r\n\r\n let num = this.tournament.capacityMinPlayersPerTeam\r\n num -= this.tournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n ).length\r\n return num < 0 ? 0 : num\r\n }\r\n\r\n get isTeamCaptain() {\r\n let tournamentTeam = this.tournamentTeam\r\n if (tournamentTeam && tournamentTeam.players) {\r\n return tournamentTeam.players.some(\r\n (player: TournamentPlayerEntity) =>\r\n player.memberId === this.userId &&\r\n player.role === TournamentTeamRole.Captain\r\n )\r\n }\r\n return false\r\n }\r\n\r\n get isSelectingTeamRoster() {\r\n return this.selectingTeamRoster && this.isTeamCaptain\r\n }\r\n\r\n get TournamentTeamRole() {\r\n return TournamentTeamRole\r\n }\r\n\r\n /* Vuex Actions */\r\n async confirmTournamentTeamRoster(\r\n tournamentId: string,\r\n tournamentTeamId: string,\r\n confirmTournamentTeamRosterRequest: ConfirmTournamentTeamRosterRequest\r\n ) {\r\n return this.tournamentModule.confirmTournamentTeamRoster({\r\n tournamentId,\r\n tournamentTeamId,\r\n confirmTournamentTeamRosterRequest\r\n })\r\n }\r\n\r\n async undoConfirmTournamentTeamRoster(tournamentTeamId: string) {\r\n return this.tournamentModule.undoConfirmTournamentTeamRoster(\r\n tournamentTeamId\r\n )\r\n }\r\n\r\n /* Methods */\r\n refreshSelectedTeamRoster() {\r\n this.selectedTeamRoster = []\r\n if (this.isTeamCaptain && this.isSelectingTeamRoster) {\r\n // Only includes team captain\r\n if (!this.selectedTeamRoster.includes(this.userId))\r\n this.selectedTeamRoster.push(this.userId)\r\n } else if (!this.waitingTeamRegistration) {\r\n // Show selected roster\r\n this.tournamentTeam!.players!.map((player: TournamentPlayerEntity) => {\r\n if (player.isStarter && player.memberId) {\r\n this.selectedTeamRoster.push(player.memberId)\r\n }\r\n })\r\n }\r\n }\r\n\r\n getTeamPlayerIsStarter(player: TournamentPlayerEntity) {\r\n return this.selectedTeamRoster.includes(player.memberId) || player.isStarter\r\n }\r\n\r\n async refreshVenues() {\r\n if (!this.tournament) {\r\n return\r\n }\r\n\r\n this.selectedVenueId = null\r\n this.canChooseVenue = false\r\n\r\n try {\r\n const res = await TournamentAPI.getTournamentVenues(\r\n this.tournament!.tournamentId\r\n )\r\n this.canChooseVenue = res.data.payload!.length > 0\r\n this.venues = res.data.payload!.filter(\r\n tv => !tv.quota || tv.current < tv.quota\r\n )\r\n } catch (err) {\r\n console.error(err)\r\n }\r\n }\r\n\r\n async onRemoveTeamMemberClick() {\r\n if (!this.isTeamCaptain || !this.removeMemberId || !this.tournamentTeam) {\r\n return\r\n }\r\n\r\n if (this.userId === this.removeMemberId) {\r\n return\r\n }\r\n\r\n try {\r\n let response = await this.tournamentModule.removeTournamentTeamMember({\r\n teamId: this.tournamentTeam.tournamentTeamId,\r\n memberId: this.removeMemberId\r\n })\r\n\r\n if (response) {\r\n this.$toast.success('Player removed from lineup')\r\n if (this.selectedTeamRoster.indexOf(this.removeMemberId) !== -1) {\r\n this.selectedTeamRoster.splice(\r\n this.selectedTeamRoster.indexOf(this.removeMemberId),\r\n 1\r\n )\r\n // if selected more than capacity of tournament (unlikely to happen )\r\n }\r\n }\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('Misc.ErrorFetchData'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.dialog = false\r\n }\r\n }\r\n\r\n /* FIXME: To be refactor this section */\r\n onParticipantIndividualClick(userId: string) {\r\n // if not in selection mode or self selected.\r\n if (!this.isSelectingTeamRoster || userId === this.userId) {\r\n return false\r\n }\r\n\r\n // Undo action if target already selected\r\n if (this.selectedTeamRoster.indexOf(userId) !== -1) {\r\n this.selectedTeamRoster.splice(this.selectedTeamRoster.indexOf(userId), 1)\r\n // if selected more than capacity of tournament (unlikely to happen )\r\n } else if (this.teamRosterTotalCapacityExceeded) {\r\n this.$toast.error(\r\n this.$t('TournamentPlayers.YourTeamRosterReachesTheMaxNoOfPlayers'),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-account-check-outline'\r\n }\r\n )\r\n } else if (this.teamRosterStarterCapacityExceeded) {\r\n this.$toast.error(\r\n this.$t('TournamentPlayers.TeamRosterStarterCapacityExceeded', {\r\n playersPerTeam: this.tournament!.capacityMinPlayersPerTeam\r\n }),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-account-check-outline'\r\n }\r\n )\r\n } else {\r\n this.selectedTeamRoster.push(userId)\r\n }\r\n }\r\n\r\n async onConfirmTournamentTeamRosterClick() {\r\n if (!this.tournament || !this.tournamentTeam) {\r\n return\r\n }\r\n\r\n this.confirmLoading = true\r\n\r\n const confirmTournamentTeamRoster: ConfirmTournamentTeamRosterRequest = {\r\n memberIds: this.selectedTeamRoster.filter(\r\n (value, index, self) => self.indexOf(value) === index\r\n ),\r\n paymentMethod: undefined\r\n }\r\n\r\n try {\r\n const success = await this.confirmTournamentTeamRoster(\r\n this.tournament.tournamentId,\r\n this.tournamentTeam.tournamentTeamId,\r\n confirmTournamentTeamRoster\r\n )\r\n if (success) {\r\n this.$toast.success(\r\n this.$t('TournamentPlayers.TournamentTeamRosterConfirmed'),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-account-check-outline'\r\n }\r\n )\r\n\r\n this.onConfirmRoster()\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(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('TournamentPlayers.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.confirmLoading = false\r\n }\r\n }\r\n\r\n async onUndoConfirmRosterClick() {\r\n if (!this.tournament || !this.tournamentTeam) return\r\n\r\n this.undoConfirmLoading = true\r\n\r\n try {\r\n const success = await this.undoConfirmTournamentTeamRoster(\r\n this.tournamentTeam.tournamentTeamId\r\n )\r\n if (success) {\r\n this.$toast.success(\r\n this.$t('TournamentPlayers.TournamentTeamRosterUnconfirmed'),\r\n {\r\n dismissable: true,\r\n icon: 'mdi-account-cancel-outline'\r\n }\r\n )\r\n }\r\n\r\n this.onUndoConfirmRoster()\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage(), {\r\n dismissable: true,\r\n icon: 'mdi-account-cancel-outline'\r\n })\r\n } else {\r\n this.$toast.error(this.$t('TournamentPlayers.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.undoConfirmLoading = false\r\n }\r\n }\r\n\r\n /* Computed Properties */\r\n get teamRosterTotalCapacityExceeded() {\r\n return (\r\n this.selectedTeamRoster.length >=\r\n this.tournament!.capacityMaxPlayersPerTeam\r\n )\r\n }\r\n\r\n get teamRosterStarterCapacityExceeded() {\r\n return (\r\n this.selectedTeamRoster.length >=\r\n this.tournament!.capacityMinPlayersPerTeam\r\n )\r\n }\r\n\r\n get isUndoConfirmRosterEnabled() {\r\n if (!this.tournamentTeam || !this.tournament) return false\r\n if (this.tournament.state !== TournamentState.OpenRegistration) return false\r\n return (\r\n this.tournamentTeam.state === TournamentTeamState.Registered &&\r\n this.isTeamCaptain\r\n )\r\n }\r\n\r\n /* Vue Hooks */\r\n mounted() {\r\n this.refreshSelectedTeamRoster()\r\n this.refreshVenues()\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!./TournamentPlayers.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!./TournamentPlayers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentPlayers.vue?vue&type=template&id=0c89911a&scoped=true&\"\nimport script from \"./TournamentPlayers.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentPlayers.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentPlayers.vue?vue&type=style&index=0&id=0c89911a&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 \"0c89911a\",\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 { 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 { VChip } from 'vuetify/lib/components/VChip';\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 { 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 { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VChip,VDialog,VIcon,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VSelect,VSpacer})\n","import TournamentPlayers from './TournamentPlayers.vue'\r\n\r\nexport { TournamentPlayers }\r\nexport default TournamentPlayers\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\":\"40rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-card-title',[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentTeamChangeCaptainDialog.Title'))+\" \")])]),_c('v-card-text',[_c('v-list',{attrs:{\"two-line\":\"\",\"dense\":\"\"}},_vm._l((_vm.players),function(player){return _c('v-list-item',{key:(\"tournament-team-caption-\" + (player.memberId)),class:{\n 'selected-captain': player.memberId === _vm.newCaptainMemberId\n },attrs:{\"disabled\":_vm.isCurrentCaptain(player)},on:{\"click\":function($event){return _vm.onNewCaptainSelected(player)}}},[_c('v-list-item-avatar',[_c('UserAvatar',{attrs:{\"imageUrl\":player.avatar,\"width\":36}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(player.nickname)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentTeamChangeCaptainDialog.InGameName'))+\" : \"+_vm._s(player.gameAccountNickname)+\" \")])],1),_c('v-list-item-action',[(_vm.isCurrentCaptain(player))?_c('v-chip',{staticClass:\"ma-1\",attrs:{\"color\":\"green\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account-tie0\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentTeamChangeCaptainDialog.CurrentCaptain'))+\" \")],1):_vm._e()],1)],1)}),1)],1)],1),_c('ConfirmDialog',{attrs:{\"title\":_vm.$t('TournamentTeamChangeCaptainDialog.ConfirmDialogTitle'),\"content\":_vm.confirmDialogMessage,\"isVisible\":_vm.isConfirmDialogVisible},on:{\"confirm\":_vm.changeCaptain,\"cancel\":function($event){_vm.isConfirmDialogVisible = false}}})],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\r\nimport {\r\n Component,\r\n Emit,\r\n Prop,\r\n PropSync,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport UserAvatar from '@/modules/shared/components/UserAvatar'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport { ResponseStatus, TournamentAPI } from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamRole\r\n} from '@/api/tournamentTeam'\r\n\r\n@Component({\r\n components: {\r\n UserAvatar,\r\n ConfirmDialog\r\n }\r\n})\r\nexport default class TournamentTeamChangeCaptainDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n @PropSync('visible', { default: false }) isVisible!: boolean\r\n\r\n newCaptainMemberId: string = ''\r\n newCaptainMemberName: string = ''\r\n isConfirmDialogVisible: boolean = false\r\n isChangeCaptainLoading: boolean = false\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n onVisibleChange(visible: boolean) {\r\n if (!visible) {\r\n this.newCaptainMemberId = ''\r\n this.newCaptainMemberName = ''\r\n }\r\n }\r\n\r\n /* Methods */\r\n onNewCaptainSelected(player: TournamentPlayerEntity) {\r\n this.newCaptainMemberId = player.memberId\r\n this.newCaptainMemberName = player.nickname\r\n this.isConfirmDialogVisible = true\r\n }\r\n\r\n isCurrentCaptain(player: TournamentPlayerEntity) {\r\n return player.role === TournamentTeamRole.Captain\r\n }\r\n\r\n async changeCaptain() {\r\n this.isChangeCaptainLoading = true\r\n try {\r\n const response = await TournamentAPI.changeTournamentTeamCaptain(\r\n this.selectedTournamentTeam!.tournamentTeamId,\r\n this.newCaptainMemberId\r\n )\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t(\r\n 'TournamentTeamChangeCaptainDialog.TeamCaptainChangedSuccessfully'\r\n )\r\n )\r\n this.captainChanged()\r\n }\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('Loading.SystemErrorMessage'))\r\n }\r\n\r\n console.error(err)\r\n } finally {\r\n this.isChangeCaptainLoading = false\r\n this.isConfirmDialogVisible = false\r\n }\r\n }\r\n\r\n captainChanged() {\r\n this.newCaptainMemberId = ''\r\n this.newCaptainMemberName = ''\r\n this.$emit('captainChanged')\r\n }\r\n\r\n /* Computed Properties */\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get isTeamCaptain(): boolean {\r\n let tournamentTeam = this.selectedTournamentTeam\r\n if (tournamentTeam && tournamentTeam.players) {\r\n return tournamentTeam.players.some(\r\n (player: TournamentPlayerEntity) =>\r\n player.memberId === this.userId && player.role === 'Captain'\r\n )\r\n }\r\n return false\r\n }\r\n\r\n get players(): TournamentPlayerEntity[] {\r\n if (!this.selectedTournamentTeam) return []\r\n return this.selectedTournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n )\r\n }\r\n\r\n get confirmDialogMessage() {\r\n return this.$t(\r\n 'TournamentTeamChangeCaptainDialog.ConfirmChangeTeamCaptainMessage',\r\n {\r\n captainName: this.newCaptainMemberName\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!./TournamentTeamChangeCaptainDialog.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!./TournamentTeamChangeCaptainDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentTeamChangeCaptainDialog.vue?vue&type=template&id=2f978412&scoped=true&\"\nimport script from \"./TournamentTeamChangeCaptainDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentTeamChangeCaptainDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentTeamChangeCaptainDialog.vue?vue&type=style&index=0&id=2f978412&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 \"2f978412\",\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 { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\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 { 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';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VChip,VDialog,VIcon,VList,VListItem,VListItemAction,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle})\n","import TournamentTeamChangeCaptainDialog from './TournamentTeamChangeCaptainDialog.vue'\r\n\r\nexport { TournamentTeamChangeCaptainDialog }\r\nexport default TournamentTeamChangeCaptainDialog\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\":\"50rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',{staticClass:\"text-center pa-5\",attrs:{\"loading\":_vm.isChangingGroup}},[_c('v-card-title',[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentGroupDialog.Title'))+\" \")])]),_c('v-card-text',{staticClass:\"orange--text font-weight-bold title mt-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentGroupDialog.Subtitle'))+\" \")]),_c('v-container',{staticClass:\"text-left px-0 px-sm-15\",attrs:{\"fluid\":\"\"}},[(_vm.isGroupsLoading)?_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"100\"}})],1)],1):[_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-list',{staticClass:\"py-0 group-list\",attrs:{\"two-line\":\"\",\"outlined\":\"\"}},_vm._l((_vm.groups),function(group,index){return _c('v-list-item',{key:(\"group-li-\" + index),staticClass:\"group-li\",attrs:{\"input-value\":_vm.selectedGroup === group.name},on:{\"click\":function($event){_vm.selectedGroup = group.name}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-account-group\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"title action-option\"},[_vm._v(_vm._s(group.name))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.CurrentGroupTeamNumbers'))+\" \"),(group.current <= 0 && group.maxTeams <= 0)?[_vm._v(\" -- \")]:(group.maxTeams <= 0)?[_vm._v(\" \"+_vm._s(group.current)+\" \")]:[_vm._v(\" \"+_vm._s(group.current)+\" / \"+_vm._s(group.maxTeams)+\" \")],_vm._v(\" . \"),(group.available)?_c('span',{staticClass:\"green--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.Available'))+\" \")]):_c('span',{staticClass:\"red--text\"},[_vm._v(_vm._s(_vm.$t('TournamentRegistration.Unavailable')))])],2)],1)],1)}),1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"text-center\"},[(_vm.isSelectedGroupNotAvailable)?_c('small',{staticClass:\"red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\",\"left\":\"\"}},[_vm._v(\"mdi-alert\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistration.AlreadyFull'))+\" \")],1):_vm._e()])],1)]],2),_c('div',{staticClass:\"mt-5\"},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"orange darken-3\",\"large\":\"\",\"disabled\":!_vm.canSelectGroup ||\n !this.selectedTournamentTeam ||\n this.selectedTournamentTeam.group === this.selectedGroup},on:{\"click\":function($event){_vm.isConfirmDialogVisible = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentGroupDialog.Confirm'))+\" \")])],1)],1),_c('ConfirmDialog',{attrs:{\"title\":_vm.$t('EditTournamentGroupDialog.ConfirmDialogTitle'),\"content\":_vm.$t('EditTournamentGroupDialog.ConfirmDialogMessage'),\"isVisible\":_vm.isConfirmDialogVisible},on:{\"confirm\":_vm.changeGroup,\"cancel\":function($event){_vm.isConfirmDialogVisible = false}}})],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\r\nimport {\r\n Component,\r\n Emit,\r\n Prop,\r\n PropSync,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport {\r\n ResponseStatus,\r\n TournamentAPI,\r\n TournamentEntity,\r\n TournamentGroupAvailability\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamRole\r\n} from '@/api/tournamentTeam'\r\nimport i18n from '@/lang'\r\n\r\n@Component({\r\n components: {\r\n ConfirmDialog\r\n }\r\n})\r\nexport default class EditTournamentGroupDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n @PropSync('visible', { default: false }) isVisible!: boolean\r\n\r\n selectedGroup: string | null = null\r\n\r\n isGroupsLoading: boolean = false\r\n groups: TournamentGroupAvailability[] = []\r\n\r\n isConfirmDialogVisible: boolean = false\r\n isChangingGroup: boolean = false\r\n\r\n inGameNameRules: Function[] = [\r\n (v: any) => !!v || i18n.t('InGameNameRegistration.InGameNameIsRequired')\r\n ]\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n onVisibleChange(visible: boolean) {\r\n if (!visible) {\r\n this.selectedGroup = null\r\n } else {\r\n if (this.selectedTournamentTeam) {\r\n this.selectedGroup = this.selectedTournamentTeam.group\r\n }\r\n this.fetchGroups().then()\r\n }\r\n }\r\n\r\n /* Methods */\r\n async fetchGroups() {\r\n this.isGroupsLoading = true\r\n\r\n try {\r\n const res = await TournamentAPI.getTournamentGroups(\r\n this.selectedTournament!.tournamentId\r\n )\r\n this.groups = res.data.payload!\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('Landing.SystemErrorMessage'))\r\n }\r\n } finally {\r\n this.isGroupsLoading = false\r\n }\r\n }\r\n\r\n async changeGroup() {\r\n this.isChangingGroup = true\r\n try {\r\n const response = await TournamentAPI.editTournamentTeam(\r\n this.selectedTournamentTeam!.tournamentTeamId,\r\n {\r\n group: this.selectedGroup!\r\n }\r\n )\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(this.$t('EditTournamentGroupDialog.GroupChanged'))\r\n this.selectedGroup = null\r\n this.$emit('changed')\r\n }\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('Loading.SystemErrorMessage'))\r\n }\r\n\r\n console.error(err)\r\n } finally {\r\n this.isChangingGroup = false\r\n this.isConfirmDialogVisible = false\r\n this.isVisible = false\r\n }\r\n }\r\n\r\n /* Computed Properties */\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get selectedTournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get canSelectGroup() {\r\n if (!this.selectedGroup) {\r\n return false\r\n }\r\n\r\n const group = this.groups.find(group => group.name === this.selectedGroup)\r\n if (!group) return false\r\n return group.available\r\n }\r\n\r\n get isSelectedGroupNotAvailable() {\r\n const group = this.groups.find(group => group.name === this.selectedGroup)\r\n if (!group) return false\r\n return !group.available\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!./EditTournamentGroupDialog.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!./EditTournamentGroupDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditTournamentGroupDialog.vue?vue&type=template&id=74837e1e&scoped=true&\"\nimport script from \"./EditTournamentGroupDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditTournamentGroupDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditTournamentGroupDialog.vue?vue&type=style&index=0&id=74837e1e&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 \"74837e1e\",\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 { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } 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 { 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, {VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VDialog,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VRow})\n","import EditTournamentGroupDialog from './EditTournamentGroupDialog.vue'\r\n\r\nexport { EditTournamentGroupDialog }\r\nexport default EditTournamentGroupDialog\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\":\"50rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',{staticClass:\"text-center pa-5\",attrs:{\"loading\":_vm.isChangingName}},[_c('v-card-title',[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentTeamMemberGameAccountDialog.Title'))+\" \"),(_vm.selectedTournament && _vm.selectedTournament.game === 'WildRift')?[_vm._v(\" (RIOT ID) \")]:_vm._e()],2)]),_c('v-card-text',{staticClass:\"orange--text font-weight-bold title mt-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentTeamMemberGameAccountDialog.Subtitle'))+\" \")]),_c('v-card-text',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentTeamMemberGameAccountDialog.ParticipatingAs'))+_vm._s(_vm.me.gameAccountNickname)+\" \")]),_c('v-text-field',{attrs:{\"outlined\":\"\",\"hint\":_vm.wildRiftHint,\"rules\":_vm.inGameNameRules},model:{value:(_vm.newGameAccountName),callback:function ($$v) {_vm.newGameAccountName=$$v},expression:\"newGameAccountName\"}}),_c('div',{staticClass:\"mt-5\"},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"orange darken-3\",\"large\":\"\",\"disabled\":!_vm.me ||\n _vm.me.gameAccountNickname === _vm.newGameAccountName ||\n !_vm.newGameAccountName},on:{\"click\":function($event){_vm.isConfirmDialogVisible = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentTeamMemberGameAccountDialog.Confirm'))+\" \")])],1)],1),_c('ConfirmDialog',{attrs:{\"title\":_vm.$t('EditTournamentTeamMemberGameAccountDialog.ConfirmDialogTitle'),\"content\":_vm.confirmDialogMessage,\"isVisible\":_vm.isConfirmDialogVisible},on:{\"confirm\":_vm.changeName,\"cancel\":function($event){_vm.isConfirmDialogVisible = false}}})],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\r\nimport {\r\n Component,\r\n Emit,\r\n Prop,\r\n PropSync,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport {\r\n ResponseStatus,\r\n TournamentAPI,\r\n TournamentEntity\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamRole\r\n} from '@/api/tournamentTeam'\r\nimport i18n from '@/lang'\r\n\r\n@Component({\r\n components: {\r\n ConfirmDialog\r\n }\r\n})\r\nexport default class EditTournamentTeamMemberGameAccountDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n @PropSync('visible', { default: false }) isVisible!: boolean\r\n\r\n newCaptainMemberId: string = ''\r\n newGameAccountName: string = ''\r\n isConfirmDialogVisible: boolean = false\r\n isChangingName: boolean = false\r\n\r\n inGameNameRules: Function[] = [\r\n (v: any) => !!v || i18n.t('InGameNameRegistration.InGameNameIsRequired')\r\n ]\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n onVisibleChange(visible: boolean) {\r\n if (!visible) {\r\n this.newCaptainMemberId = ''\r\n this.newGameAccountName = ''\r\n } else {\r\n if (this.me) {\r\n this.newGameAccountName = this.me.gameAccountNickname\r\n }\r\n }\r\n }\r\n\r\n /* Methods */\r\n async changeName() {\r\n this.isChangingName = true\r\n try {\r\n const response = await TournamentAPI.changeTournamentTeamGameAccount(\r\n this.selectedTournamentTeam!.tournamentTeamId,\r\n this.newGameAccountName\r\n )\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t(\r\n 'EditTournamentTeamMemberGameAccountDialog.GameAccountNameChanged'\r\n )\r\n )\r\n this.nameChanged()\r\n }\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('Loading.SystemErrorMessage'))\r\n }\r\n\r\n console.error(err)\r\n } finally {\r\n this.isChangingName = false\r\n this.isConfirmDialogVisible = false\r\n this.isVisible = false\r\n }\r\n }\r\n\r\n nameChanged() {\r\n this.newCaptainMemberId = ''\r\n this.newGameAccountName = ''\r\n this.$emit('changed')\r\n }\r\n\r\n /* Computed Properties */\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get selectedTournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get wildRiftHint() {\r\n if (!this.selectedTournament || this.selectedTournament.game !== 'WildRift')\r\n return ''\r\n\r\n return '此遊戲的 RIOT ID 遊戲帳號格式為: ABCDEF#1234'\r\n }\r\n\r\n get game() {\r\n if (!this.selectedTournament) return ''\r\n\r\n return this.selectedTournament.game\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get players(): TournamentPlayerEntity[] {\r\n if (!this.selectedTournamentTeam) return []\r\n return this.selectedTournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n )\r\n }\r\n\r\n get me() {\r\n if (!this.selectedTournamentTeam) return null\r\n\r\n return this.selectedTournamentTeam.players.find(\r\n player => player.memberId === this.userId\r\n )\r\n }\r\n\r\n get confirmDialogMessage() {\r\n return this.$t(\r\n 'EditTournamentTeamMemberGameAccountDialog.ConfirmDialogMessage',\r\n {\r\n captainName: this.newGameAccountName\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!./EditTournamentTeamMemberGameAccountDialog.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!./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=template&id=9e79fe70&scoped=true&\"\nimport script from \"./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditTournamentTeamMemberGameAccountDialog.vue?vue&type=style&index=0&id=9e79fe70&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 \"9e79fe70\",\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 { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDialog,VTextField})\n","import EditTournamentTeamMemberGameAccountDialog from './EditTournamentTeamMemberGameAccountDialog.vue'\r\n\r\nexport { EditTournamentTeamMemberGameAccountDialog }\r\nexport default EditTournamentTeamMemberGameAccountDialog\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\":\"50rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',{staticClass:\"text-center pa-5\",attrs:{\"loading\":_vm.isLoading}},[_c('v-card-title',[_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentFormResponseDialog.Title'))+\" \")])]),_c('v-container',[(_vm.schema && _vm.response)?[_c('v-form',[_c('v-form-base',{attrs:{\"model\":_vm.response,\"schema\":_vm.schema}})],1)]:[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":48}})]],2),_c('div',{staticClass:\"mt-5\"},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"orange darken-3\",\"large\":\"\"},on:{\"click\":function($event){_vm.isConfirmDialogVisible = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('EditTournamentTeamMemberGameAccountDialog.Confirm'))+\" \")])],1)],1),_c('ConfirmDialog',{attrs:{\"title\":_vm.$t('EditTournamentTeamMemberGameAccountDialog.ConfirmDialogTitle'),\"content\":_vm.confirmDialogMessage,\"isVisible\":_vm.isConfirmDialogVisible},on:{\"confirm\":_vm.submit,\"cancel\":function($event){_vm.isConfirmDialogVisible = false}}})],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\r\nimport {\r\n Component,\r\n Emit,\r\n Prop,\r\n PropSync,\r\n Vue,\r\n Watch\r\n} from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport ConfirmDialog from '@/modules/shared/components/ConfirmDialog'\r\nimport VFormBase from 'vuetify-form-base'\r\nimport {\r\n ResponseStatus,\r\n TournamentAPI,\r\n TournamentEntity\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamRole\r\n} from '@/api/tournamentTeam'\r\nimport { parseSchema } from '@/utils/customform_validation'\r\nimport i18n from '@/lang'\r\n\r\n@Component({\r\n components: {\r\n ConfirmDialog,\r\n VFormBase\r\n }\r\n})\r\nexport default class EditTournamentFormResponseDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n @PropSync('visible', { default: false }) isVisible!: boolean\r\n\r\n schema: any = {}\r\n response: any = null\r\n isConfirmDialogVisible: boolean = false\r\n isLoading: boolean = false\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n async onVisibleChange(visible: boolean) {\r\n if (!visible) {\r\n this.schema = {}\r\n this.response = null\r\n } else {\r\n await this.fetchTournamentTeamFormResponse()\r\n }\r\n }\r\n\r\n /* Methods */\r\n async submit() {\r\n this.isLoading = true\r\n try {\r\n const response = await TournamentAPI.updateTournamentFormResponse(\r\n this.selectedTournamentTeam!.tournamentTeamId,\r\n JSON.stringify(this.response)\r\n )\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.$toast.success(\r\n this.$t('EditTournamentFormResponseDialog.SubmittedMessage')\r\n )\r\n this.nameChanged()\r\n }\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('Loading.SystemErrorMessage'))\r\n }\r\n console.error(err)\r\n } finally {\r\n this.isLoading = false\r\n this.isConfirmDialogVisible = false\r\n this.isVisible = false\r\n }\r\n }\r\n\r\n async fetchTournamentTeamFormResponse() {\r\n try {\r\n const res = await TournamentAPI.getMemberTournamentFormResponse(\r\n this.selectedTournamentTeam!.tournamentTeamId\r\n )\r\n if (res.data.payload) {\r\n this.schema = parseSchema(res.data.payload.schema)\r\n this.response = JSON.parse(res.data.payload.value)\r\n }\r\n } catch {\r\n // use fallback to parse schema content\r\n this.fetchTournamentFormSchemaFallback()\r\n }\r\n }\r\n\r\n async fetchTournamentFormSchemaFallback() {\r\n try {\r\n const res = await TournamentAPI.getTournamentCustomFormSchema(\r\n this.selectedTournament!.tournamentId\r\n )\r\n if (res.data.payload) {\r\n this.schema = parseSchema(res.data.payload.schema)\r\n this.response = {}\r\n }\r\n } catch {\r\n this.isVisible = false\r\n }\r\n }\r\n\r\n nameChanged() {\r\n // this.newCaptainMemberId = ''\r\n // this.newGameAccountName = ''\r\n this.$emit('changed')\r\n }\r\n\r\n /* Computed Properties */\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get selectedTournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get game() {\r\n if (!this.selectedTournament) return ''\r\n\r\n return this.selectedTournament.game\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get players(): TournamentPlayerEntity[] {\r\n if (!this.selectedTournamentTeam) return []\r\n return this.selectedTournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n )\r\n }\r\n\r\n get me() {\r\n if (!this.selectedTournamentTeam) return null\r\n\r\n return this.selectedTournamentTeam.players.find(\r\n player => player.memberId === this.userId\r\n )\r\n }\r\n\r\n get confirmDialogMessage() {\r\n return this.$t('EditTournamentFormResponseDialog.ConfirmDialogMessage')\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!./EditTournamentFormResponseDialog.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!./EditTournamentFormResponseDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditTournamentFormResponseDialog.vue?vue&type=template&id=d317a484&scoped=true&\"\nimport script from \"./EditTournamentFormResponseDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditTournamentFormResponseDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditTournamentFormResponseDialog.vue?vue&type=style&index=0&id=d317a484&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 \"d317a484\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VContainer,VDialog,VForm,VProgressCircular})\n","import EditTournamentFormResponseDialog from './EditTournamentFormResponseDialog.vue'\r\nexport default EditTournamentFormResponseDialog\r\nexport { EditTournamentFormResponseDialog }\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Ref, Emit, Watch, Prop } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport TournamentPlayers from './TournamentPlayers'\r\nimport TournamentTeamChangeCaptainDialog from '@/modules/tournament/components/TournamentTeamChangeCaptainDialog'\r\nimport EditTournamentGroupDialog from '../../EditTournamentGroupDialog'\r\nimport EditTournamentTeamMemberGameAccountDialog from '../../EditTournamentTeamMemberGameAccountDialog'\r\nimport EditTournamentFormResponseDialog from '../../EditTournamentFormResponseDialog'\r\nimport {\r\n TournamentAPI,\r\n TournamentEntity,\r\n TournamentState\r\n} from '@/api/tournament'\r\nimport {\r\n TournamentTeamEntity,\r\n TournamentPlayerEntity,\r\n TournamentTeamState,\r\n TournamentTeamRole\r\n} from '@/api/tournamentTeam'\r\nimport ServerError from '@/utils/server_error'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport { getRealtimeConnection, realtimeEventTarget } from '@/utils/realtime'\r\nimport i18n from '@/lang'\r\nimport { isElectron } from '@/utils/electron'\r\n\r\n@Component({\r\n components: {\r\n TournamentPlayers,\r\n TournamentTeamChangeCaptainDialog,\r\n EditTournamentGroupDialog,\r\n EditTournamentFormResponseDialog,\r\n EditTournamentTeamMemberGameAccountDialog\r\n }\r\n})\r\nexport default class TeamRegistrationStatus extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n teamToken: string = ''\r\n isGeneratingTeamToken: boolean = false\r\n isChangeTeamCaptainDialogVisible: boolean = false\r\n isEditTournamentGroupDialogVisible: boolean = false\r\n isEditGameAccountDialogVisible: boolean = false\r\n isTournamentResponseEditDialogVisible: boolean = false\r\n\r\n @Prop({ type: Boolean, default: false }) readonly isVisible!: boolean\r\n @Prop({ type: Boolean, default: false }) readonly hasCustomForm!: boolean\r\n\r\n @Ref('teamTokenTextField')\r\n readonly teamTokenTextField!: { $el: HTMLInputElement }\r\n\r\n @Ref('tournamentPlayers')\r\n readonly tournamentPlayers!: TournamentPlayers\r\n\r\n @Emit('close')\r\n onClose() {\r\n return this\r\n }\r\n\r\n @Watch('isVisible')\r\n async onVisibilityChanged(visible: boolean) {\r\n if (visible) {\r\n if (this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n\r\n if (this.selectedTournament) {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.selectedTournament.tournamentId\r\n )\r\n }\r\n } else {\r\n if (this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'UnsubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n }\r\n }\r\n\r\n async onGameAccountNameChanged() {\r\n if (this.selectedTournament) {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.selectedTournament.tournamentId\r\n )\r\n }\r\n }\r\n\r\n async onTournamentGroupChanged() {\r\n if (this.selectedTournament) {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.selectedTournament.tournamentId\r\n )\r\n }\r\n }\r\n\r\n @Watch('selectedTournamentTeam')\r\n async onSelectedTournamentTeamChanged(\r\n selectedTournamentTeam: TournamentTeamEntity,\r\n oldSelectedTournamentTeam: TournamentTeamEntity\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(\r\n this.$t('TeamRegistrationStatus.FailConnectServerMessage')\r\n )\r\n console.error(err)\r\n }\r\n\r\n if (oldSelectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'UnsubscribeTournamentTeam',\r\n oldSelectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n\r\n if (selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n selectedTournamentTeam.tournamentTeamId\r\n )\r\n } else {\r\n this.onClose()\r\n }\r\n }\r\n\r\n async confirmRoster() {\r\n await this.tournamentPlayers.onConfirmTournamentTeamRosterClick()\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(\r\n this.$t('TeamRegistrationStatus.FailConnectServerMessage')\r\n )\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on(\r\n 'tournamentPlayerAdded',\r\n this.onTournamentPlayerUpdated\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentPlayerRemoved',\r\n this.onTournamentPlayerRemoved\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentTeamRegistered',\r\n (memberIds: string[]) => this.onTournamentTeamRegistered(memberIds)\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentTeamCaptainChanged',\r\n this.onTournamentTeamCaptainChanged\r\n )\r\n this.realtimeConnection.on(\r\n 'tournamentPlayerUpdated',\r\n this.onTournamentPlayerUpdated\r\n )\r\n\r\n if (this.selectedTournament && this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n\r\n realtimeEventTarget.addEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\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(\r\n 'tournamentPlayerAdded',\r\n this.onTournamentPlayerUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentPlayerRemoved',\r\n this.onTournamentPlayerUpdated\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentTeamRegistered',\r\n this.onTournamentTeamRegistered\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentTeamCaptainChanged',\r\n this.onTournamentTeamCaptainChanged\r\n )\r\n this.realtimeConnection.off(\r\n 'tournamentPlayerUpdated',\r\n this.onTournamentPlayerUpdated\r\n )\r\n\r\n if (this.selectedTournament && this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'UnsubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n }\r\n\r\n realtimeEventTarget.removeEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\r\n )\r\n }\r\n\r\n onTournamentPlayerJoined(tournamentPlayer: TournamentPlayerEntity) {\r\n if (!this.selectedTournamentTeam) {\r\n return\r\n }\r\n\r\n this.tournamentModule.addPlayerToSelectedTournamentTeam(tournamentPlayer)\r\n }\r\n\r\n async onTournamentPlayerRemoved(tournamentPlayer: TournamentPlayerEntity) {\r\n if (!this.selectedTournamentTeam) {\r\n return\r\n }\r\n\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n onTournamentTeamRegistered(memberIds: string[]) {\r\n this.tournamentModule.setSelectedTournamentTeamRegistered(memberIds)\r\n }\r\n\r\n onTournamentTeamCaptainChanged() {\r\n this.$toast.info(this.$t('TeamRegistrationStatus.TeamCaptainUpdated'))\r\n this.onClose()\r\n }\r\n\r\n onTournamentPlayerUpdated() {\r\n this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n async onRealtimeReconnected() {\r\n // ensure we have subscribed the tournament team\r\n if (this.selectedTournament && this.selectedTournamentTeam) {\r\n await this.realtimeConnection.send(\r\n 'SubscribeTournamentTeam',\r\n this.selectedTournamentTeam.tournamentTeamId\r\n )\r\n }\r\n\r\n // fetch api for new data\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n captainChanged() {\r\n this.isChangeTeamCaptainDialogVisible = false\r\n }\r\n\r\n /* Vuex State */\r\n get selectedTournamentTeam(): TournamentTeamEntity | null {\r\n return this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get selectedTournament(): TournamentEntity | null {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get userId() {\r\n return this.userModule.userId\r\n }\r\n\r\n get isRegistrationPeriod(): boolean {\r\n if (!this.selectedTournament) return false\r\n\r\n return (\r\n this.selectedTournament.state === TournamentState.OpenRegistration ||\r\n this.selectedTournament.state === TournamentState.CompleteRegistration\r\n )\r\n }\r\n\r\n get isSoloTournament() {\r\n return (\r\n this.selectedTournament &&\r\n this.selectedTournament.capacityMaxPlayersPerTeam === 1\r\n )\r\n }\r\n\r\n get isTeamCaptain(): boolean {\r\n let tournamentTeam = this.selectedTournamentTeam\r\n if (tournamentTeam && tournamentTeam.players) {\r\n return tournamentTeam.players.some(\r\n (player: TournamentPlayerEntity) =>\r\n player.memberId === this.userId && player.role === 'Captain'\r\n )\r\n }\r\n return false\r\n }\r\n\r\n get step(): number {\r\n if (this.selectedTournamentTeam) {\r\n if (\r\n this.selectedTournamentTeam.state === TournamentTeamState.Registered\r\n ) {\r\n return 3\r\n }\r\n\r\n if (\r\n this.selectedTournamentTeam &&\r\n this.selectedTournamentTeam.players &&\r\n this.selectedTournamentTeam.players.filter(\r\n player => player.role !== TournamentTeamRole.RequestToJoin\r\n ).length >= this.selectedTournament!.capacityMinPlayersPerTeam\r\n ) {\r\n return 2\r\n }\r\n }\r\n\r\n return 1\r\n }\r\n\r\n get isAllowChangeCaptain() {\r\n if (!this.isTeamCaptain) return false\r\n if (!this.selectedTournamentTeam) return false\r\n if (!this.selectedTournament) return false\r\n const validTournamentStates = [\r\n TournamentState.Initial,\r\n TournamentState.Published,\r\n TournamentState.OpenRegistration,\r\n TournamentState.CompleteRegistration\r\n ]\r\n return (\r\n this.selectedTournamentTeam.players.filter(\r\n player => player.role === TournamentTeamRole.Member\r\n ).length >= 1 &&\r\n validTournamentStates.indexOf(this.selectedTournament.state) !== -1\r\n )\r\n }\r\n\r\n /* Methods */\r\n async generateTeamToken() {\r\n this.isGeneratingTeamToken = true\r\n\r\n try {\r\n const response = await TournamentAPI.refreshTeamToken(\r\n this.selectedTournamentTeam!.tournamentTeamId\r\n )\r\n this.teamToken = response.data.payload!\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n console.error(err)\r\n }\r\n\r\n this.teamToken = ''\r\n } finally {\r\n this.isGeneratingTeamToken = false\r\n }\r\n }\r\n\r\n copyTeamToken() {\r\n this.$copyText(this.teamTokenOutput, this.teamTokenTextField.$el).then(\r\n e => {\r\n this.$toast.success(\r\n this.$t('TeamRegistrationStatus.CopiedTeamCodeToClipboard')\r\n )\r\n },\r\n e => {\r\n this.$toast.error(\r\n this.$t('TeamRegistrationStatus.FailedToCopyToClipboard')\r\n )\r\n }\r\n )\r\n }\r\n\r\n copyTeamTokenUrl() {\r\n this.$copyText(this.teamTokenUrl, this.teamTokenTextField.$el).then(\r\n e => {\r\n this.$toast.success(\r\n this.$t('TeamRegistrationStatus.CopiedTeamCodeToClipboard')\r\n )\r\n },\r\n e => {\r\n this.$toast.error(\r\n this.$t('TeamRegistrationStatus.FailedToCopyToClipboard')\r\n )\r\n }\r\n )\r\n }\r\n\r\n /* Computed Properties */\r\n get teamTokenOutput() {\r\n if (this.teamToken.length === 6) {\r\n return this.teamToken\r\n // return this.teamToken!.substr(0, 3) + ' ' + this.teamToken!.substr(3)\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n get teamTokenUrl() {\r\n if (this.isElectron) {\r\n return process.env.VUE_APP_TEAM_TOKEN_URL!.replace(\r\n '%teamToken%',\r\n this.teamTokenOutput.replace(' ', '')\r\n )\r\n }\r\n return `${window.location.origin}/invite/${this.teamToken}`\r\n }\r\n\r\n get isElectron() {\r\n return isElectron()\r\n }\r\n\r\n get hasGroup() {\r\n return (\r\n this.tournamentModule.selectedTournament &&\r\n this.tournamentModule.selectedTournament.hasGroup\r\n )\r\n }\r\n\r\n async onConfirmRoster() {\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n async onUnconfirmRoster() {\r\n await this.fetchJoinedTournamentTeam()\r\n }\r\n\r\n async fetchJoinedTournamentTeam() {\r\n try {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.selectedTournament!.tournamentId\r\n )\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('TeamRegistrationStatus.SystemErrorMessage'))\r\n console.error(err)\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!./TeamRegistrationStatus.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!./TeamRegistrationStatus.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamRegistrationStatus.vue?vue&type=template&id=70a0e8da&scoped=true&\"\nimport script from \"./TeamRegistrationStatus.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamRegistrationStatus.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamRegistrationStatus.vue?vue&type=style&index=0&id=70a0e8da&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 \"70a0e8da\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperContent } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCardTitle,VIcon,VSpacer,VStepper,VStepperContent,VStepperStep,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card-title',{staticClass:\"pt-0\"},[(!_vm.isReviewing)?_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.TeamRegistration'))+\" \")]):_c('h2',{staticClass:\"heading mx-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.ConfirmApplicationDetails'))+\" \")])]),_c('v-form',{attrs:{\"action\":\"javascript:void(0)\"},on:{\"submit\":_vm.toReview},model:{value:(_vm.isFormValid),callback:function ($$v) {_vm.isFormValid=$$v},expression:\"isFormValid\"}},[(!_vm.isReviewing && !_vm.isSoloTournament)?[_c('div',{staticClass:\"my-10 py-5\"},[_c('div',{staticClass:\"subtitle-2 text-center mb-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.EnterTeamInformation'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.GetTeamCodeForYourTeamMembersAterwards'))+\" \")]),_c('v-row',[_c('v-col',[_c('v-text-field',{attrs:{\"label\":_vm.$t('TeamRegistration.Name'),\"outlined\":\"\",\"prepend-inner-icon\":\"mdi-account-box\",\"maxlength\":\"32\",\"autocomplete\":\"off\",\"disabled\":_vm.loading,\"rules\":_vm.nameRules},model:{value:(_vm.tournamentTeamForm.name),callback:function ($$v) {_vm.$set(_vm.tournamentTeamForm, \"name\", $$v)},expression:\"tournamentTeamForm.name\"}})],1)],1),(!_vm.$vuetify.breakpoint.mobile)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"8\",\"offset\":\"2\"}},[_c('vue-file-agent',{attrs:{\"accept\":\"image/png,image/jpg,image/jpeg\",\"max-files\":1,\"max-size\":\"20MB\",\"helpText\":_vm.$t('TeamRegistration.DragAndDropImageMessage'),\"errorText\":{\n type: _vm.$t('TeamRegistration.InvalidFileTypeMessage'),\n size: _vm.$t('TeamRegistration.FileSizeWarning')\n }},model:{value:(_vm.logoFile),callback:function ($$v) {_vm.logoFile=$$v},expression:\"logoFile\"}})],1)],1):_vm._e()],1),_c('div',{staticClass:\"text-center\"},[_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"primary\",\"type\":\"submit\",\"large\":\"\",\"loading\":_vm.loading,\"disabled\":_vm.loading || !_vm.isFormValid}},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.Next'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)]:[_c('v-container',[_c('div',[_c('div',{staticClass:\"text-center mb-5 orange--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.ReviewHintsText'))+\" \")])]),_c('div',{staticClass:\"my-10\"},[(_vm.tournament)?_c('TeamDetailReview',{attrs:{\"teamName\":_vm.tournamentTeamForm.name,\"group\":_vm.group}}):_vm._e()],1),_c('div',{staticClass:\"text-center\"},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('TeamRegistration.ConfirmCheckboxHints')},model:{value:(_vm.accepted),callback:function ($$v) {_vm.accepted=$$v},expression:\"accepted\"}}),_c('v-spacer'),(!_vm.isSoloTournament)?_c('v-btn',{staticClass:\"px-5 mx-5\",attrs:{\"color\":\"secondary\",\"large\":\"\",\"disabled\":_vm.loading || _vm.accepted},on:{\"click\":function($event){_vm.isReviewing = false}}},[_c('v-icon',[_vm._v(\"mdi-pencil-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.EditButton'))+\" \")],1):_vm._e(),_c('v-btn',{staticClass:\"px-5\",attrs:{\"color\":\"primary\",\"large\":\"\",\"loading\":_vm.loading,\"disabled\":_vm.loading || !_vm.accepted},on:{\"click\":_vm.onSubmit}},[_vm._v(\" \"+_vm._s(_vm.$t('TeamRegistration.Next'))+\" \"),_c('v-icon',[_vm._v(\"mdi-arrow-right\")])],1)],1)])]],2)],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\r\nimport { Vue, Component, Emit, Prop } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { CreateTournamentTeamRequest } from '@/api/tournament'\r\nimport TeamDetailReview from '../TeamDetailReview'\r\nimport ServerError from '@/utils/server_error'\r\nimport i18n from '@/lang'\r\nimport { FileRecord } from 'vue-file-agent'\r\nimport { MemberEntity, MemberGameAccountEntity } from '@/api/member'\r\nimport userStore from '@/modules/auth/auth.store'\r\n\r\n@Component({\r\n components: {\r\n TeamDetailReview\r\n }\r\n})\r\nexport default class TeamRegistration extends Vue {\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n tournamentTeamForm: CreateTournamentTeamRequest = {\r\n name: '',\r\n logo: null,\r\n group: null\r\n }\r\n userModule = getModule(userStore, this.$store)\r\n nameRules: Function[] = [\r\n (v: any) => !!v || i18n.t('TeamRegistration.NameIsRequired'),\r\n (v: any) =>\r\n (v && v.length <= 32) ||\r\n i18n.t('TeamRegistration.NameCannotBeLongerThan32Characters')\r\n ]\r\n logoFile: FileRecord | null = null\r\n isFormValid: boolean = false\r\n loading: boolean = false\r\n isReviewing: boolean = false\r\n accepted: boolean = false\r\n\r\n @Prop({ default: '' }) readonly group!: string\r\n\r\n @Emit('tournamentTeamCreated')\r\n onTournamentTeamCreated(teamToken: string) {\r\n return teamToken\r\n }\r\n\r\n get isSoloTournament() {\r\n return this.tournament && this.tournament.capacityMaxPlayersPerTeam === 1\r\n }\r\n\r\n reset() {\r\n this.tournamentTeamForm = {\r\n name: '',\r\n logo: null,\r\n group: null\r\n }\r\n this.isFormValid = false\r\n }\r\n\r\n get tournament() {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n async toReview() {\r\n this.isReviewing = true\r\n }\r\n\r\n async onSubmit() {\r\n this.loading = true\r\n\r\n // Override and use platform name as teamname for solo tournament\r\n if (this.isSoloTournament) {\r\n this.tournamentTeamForm = {\r\n name: this.userModule.member!.nickname,\r\n logo: null,\r\n group: this.group || null\r\n }\r\n }\r\n\r\n try {\r\n const teamToken = await this.tournamentModule.createTournamentTeam({\r\n tournamentTeam: {\r\n ...this.tournamentTeamForm,\r\n group: this.group || null\r\n },\r\n tournamentId: this.tournament!.tournamentId,\r\n logoFile: this.logoFile ? this.logoFile.file : null\r\n })\r\n this.onTournamentTeamCreated(teamToken as string)\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('TeamRegistration.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.loading = 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!./TeamRegistration.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!./TeamRegistration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamRegistration.vue?vue&type=template&id=04d197f2&scoped=true&\"\nimport script from \"./TeamRegistration.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamRegistration.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamRegistration.vue?vue&type=style&index=0&id=04d197f2&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 \"04d197f2\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCardTitle,VCheckbox,VCol,VContainer,VForm,VIcon,VRow,VSpacer,VTextField})\n","import TeamRegistration from './TeamRegistration.vue'\r\n\r\nexport { TeamRegistration }\r\nexport default TeamRegistration\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!./TeamRegistrationComplete.vue?vue&type=style&index=0&id=29001bc9&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!./TeamRegistrationComplete.vue?vue&type=style&index=0&id=29001bc9&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\":\"60rem\",\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-card-actions',{staticClass:\"align-start\"},[(_vm.showBackButton)?_c('v-btn',{attrs:{\"x-large\":\"\",\"icon\":\"\"},on:{\"click\":_vm.back}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.setIsVisible(false)}}},[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-close\")])],1)],1),(_vm.hasJoinedTournament)?_c('v-window',{staticClass:\"content\",attrs:{\"touchless\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-fade-transition',{attrs:{\"mode\":\"out-in\",\"appear\":\"\"}},[_c('TeamRegistrationStatus',{ref:\"status\",attrs:{\"is-visible\":_vm.isVisible,\"hasCustomForm\":_vm.hasCustomForm},on:{\"close\":function($event){return _vm.setIsVisible(false)}}})],1)],1):_c('v-window',{staticClass:\"content\",attrs:{\"touchless\":\"\"},model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-window-item',{attrs:{\"value\":1}},[_c('TournamentRegistration',{attrs:{\"action\":_vm.action,\"selected-group\":_vm.selectedGroup,\"seed\":_vm.seed},on:{\"update:action\":function($event){_vm.action=$event},\"update:selectedGroup\":function($event){_vm.selectedGroup=$event},\"update:selected-group\":function($event){_vm.selectedGroup=$event},\"next\":_vm.onTournamentRegistrationNext}})],1),_c('v-window-item',{attrs:{\"value\":2}},[_c('ReadAndAccept',{ref:\"readAndAccept\",attrs:{\"rules\":_vm.tournament.detailRules},on:{\"back\":function($event){_vm.step = 1},\"next\":function($event){_vm.step = 3}}})],1),(_vm.action === 'create')?[_c('v-window-item',{attrs:{\"value\":3}},[_c('InGameNameRegistration',{ref:\"gameAccountRegistration\",on:{\"back\":function($event){_vm.step = 2},\"next\":_vm.onIGNCompleted}})],1),_c('v-window-item',{attrs:{\"value\":3.5}},[_c('TournamentCustomForm',{attrs:{\"schema\":_vm.schema},on:{\"submit\":_vm.submitFormResponse}})],1),_c('v-window-item',{attrs:{\"value\":4}},[_c('TeamRegistration',{ref:\"teamRegistration\",attrs:{\"group\":_vm.selectedGroup},on:{\"tournamentTeamCreated\":_vm.onTournamentTeamCreated}})],1),_c('v-window-item',{attrs:{\"value\":5}},[(_vm.teamToken)?_c('TeamRegistrationComplete',{attrs:{\"team-token\":_vm.teamToken,\"hide-lfg\":_vm.hideLFG},on:{\"close\":_vm.onJoinTournament}}):_vm._e()],1)]:_vm._e(),(_vm.action === 'join')?[_c('v-window-item',{attrs:{\"value\":3}},[_c('EnterInvitationCode',{ref:\"enterInvitationCode\",on:{\"confirmToken\":_vm.onAcceptTeamToken}})],1),_c('v-window-item',{attrs:{\"value\":4}},[_c('InGameNameRegistration',{ref:\"gameAccountRegistration\",on:{\"back\":function($event){_vm.step = 3},\"next\":_vm.onIGNCompleted}})],1),_c('v-window-item',{attrs:{\"value\":4.5}},[_c('TournamentCustomForm',{attrs:{\"schema\":_vm.schema},on:{\"submit\":_vm.submitFormResponse}})],1),_c('v-window-item',{attrs:{\"value\":5}},[(_vm.selectedTokenTeam)?_c('TeamJoinDetailReview',{attrs:{\"tournament\":_vm.tournament,\"teamName\":_vm.selectedTokenTeam.info.teamName,\"loading\":_vm.isJoiningTeamWithToken},on:{\"back\":function($event){_vm.step = 4},\"submit\":_vm.confirmTeamJoin}}):_vm._e()],1),_c('v-window-item',{attrs:{\"value\":6}},[(_vm.teamToken)?_c('TeamRegistrationComplete',{attrs:{\"hide-lfg\":_vm.hideLFG,\"team-token\":_vm.teamToken},on:{\"close\":_vm.onJoinTournament}}):_vm._e()],1)]:_vm._e()],2),_c('v-card-actions',{staticClass:\"mt-5\"},[_c('div',{staticClass:\"mx-auto d-flex pa-5\"},_vm._l((_vm.steps),function(i){return _c('v-sheet',{key:(\"step-btn-\" + i),staticClass:\"mr-5\",attrs:{\"height\":\"4\",\"width\":_vm.$vuetify.breakpoint.mobile ? '2em' : '5em',\"icon\":\"\",\"disabled\":_vm.step === i,\"color\":_vm.step === i ? 'white' : 'grey darken-3'}})}),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\r\nimport { Vue, Component, PropSync, Watch, Ref } from 'vue-property-decorator'\r\nimport ReadAndAccept from '../ReadAndAccept'\r\nimport InGameNameRegistration from '@/modules/tournament/components/InGameNameRegistration'\r\nimport TournamentRegistration from './TournamentRegistration'\r\nimport EnterInvitationCode from '../EnterInvitationCode'\r\nimport TeamRegistration from './TeamRegistration'\r\nimport TeamRegistrationComplete from './TeamRegistrationComplete'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport TeamRegistrationStatus from '@/modules/tournament/components/TournamentActionDialog/TeamRegistrationStatus/TeamRegistrationStatus.vue'\r\nimport ServerError from '@/utils/server_error'\r\nimport { TournamentAPI } from '@/api/tournament'\r\nimport { TokenAcceptPayload } from '../EnterInvitationCode/EnterInvitationCode.vue'\r\nimport TeamJoinDetailReview from './TeamJoinDetailReview'\r\nimport TournamentCustomForm from '../TournamentCustomForm'\r\nimport { parseSchema } from '@/utils/customform_validation'\r\n\r\nenum CreateTeamActions {\r\n ActionSelection = 1,\r\n ReadAndAccept = 2,\r\n IGN = 3,\r\n CustomForm = 3.5,\r\n TeamDetailReview = 4,\r\n Completed = 5\r\n}\r\n\r\nenum JoinTeamActions {\r\n ActionSelection = 1,\r\n ReadAndAccept = 2,\r\n EnterInvitationCode = 3,\r\n IGN = 4,\r\n CustomForm = 4.5,\r\n TeamDetailReview = 5,\r\n Completed = 6\r\n}\r\n\r\nenum ActionType {\r\n Create = 'create',\r\n Join = 'join'\r\n}\r\n\r\n@Component({\r\n components: {\r\n TeamRegistrationStatus,\r\n EnterInvitationCode,\r\n ReadAndAccept,\r\n InGameNameRegistration,\r\n TournamentRegistration,\r\n TeamRegistration,\r\n TeamRegistrationComplete,\r\n TeamJoinDetailReview,\r\n TournamentCustomForm\r\n }\r\n})\r\nexport default class TournamentActionDialog extends Vue {\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n step: number = 1\r\n steps: number[] = Array.from(new Array(5), (_, index) => index + 1)\r\n action: 'create' | 'join' | null = null\r\n teamToken: string | null = null\r\n isJoiningTeamWithToken: boolean = false\r\n selectedTokenTeam: TokenAcceptPayload | null = null\r\n selectedGroup: string | null = null\r\n\r\n // this is for refreshing data\r\n seed: number = 0\r\n\r\n // custom form\r\n schema: any = {}\r\n formResponse: any = null\r\n\r\n /* Reference elements */\r\n @Ref('gameAccountRegistration')\r\n readonly gameAccountRegistration!: InGameNameRegistration\r\n\r\n @Ref('readAndAccept')\r\n readonly readAndAccept!: ReadAndAccept\r\n\r\n @Ref('enterInvitationCode')\r\n readonly enterInvitationCode!: EnterInvitationCode\r\n\r\n @Ref('teamRegistration')\r\n readonly teamRegistration!: TeamRegistration\r\n\r\n @Ref('status')\r\n readonly registrationStatus!: TeamRegistrationStatus\r\n\r\n get CreateTeamActions() {\r\n return CreateTeamActions\r\n }\r\n\r\n /* Watchers */\r\n @Watch('isVisible')\r\n onDialogVisiblityChanged(visible: boolean) {\r\n if (visible) {\r\n this.seed++\r\n this.fetchTournamentCustomFormSchema()\r\n\r\n // navigate to status page (5), or home page otherwise.\r\n this.step = this.hasJoinedTournament ? 5 : 1\r\n\r\n // solo tournament\r\n if (!this.hasJoinedTournament && this.isSoloTournament) {\r\n this.action = 'create'\r\n this.step = 2\r\n }\r\n } else {\r\n setTimeout(() => {\r\n this.step = 1\r\n this.action = null\r\n this.teamToken = null\r\n this.selectedTokenTeam = null\r\n this.isJoiningTeamWithToken = false\r\n this.schema = {}\r\n this.formResponse = null\r\n this.selectedGroup = null\r\n }, 200)\r\n\r\n if (this.gameAccountRegistration) {\r\n this.gameAccountRegistration.reset()\r\n }\r\n\r\n if (this.readAndAccept) {\r\n this.readAndAccept.reset()\r\n }\r\n\r\n if (this.enterInvitationCode) {\r\n this.enterInvitationCode.reset()\r\n }\r\n\r\n if (this.teamRegistration) {\r\n this.teamRegistration.reset()\r\n }\r\n }\r\n }\r\n\r\n /* Methods */\r\n setIsVisible(isVisible: boolean = false) {\r\n this.tournamentModule.setTournamentActionDialogVisible(isVisible)\r\n }\r\n\r\n back() {\r\n if (this.step === 3.5 || this.step === 4.5) {\r\n this.step = this.step - 0.5\r\n } else {\r\n this.step--\r\n }\r\n\r\n if (this.step <= 1 && this.isSoloTournament) {\r\n this.step = 2\r\n this.action = 'create'\r\n }\r\n\r\n if (this.step < 1) {\r\n this.step = 1\r\n }\r\n\r\n if (this.enterInvitationCode) {\r\n this.enterInvitationCode.reset()\r\n }\r\n }\r\n\r\n onTournamentTeamCreated(teamToken: string) {\r\n // this.teamToken = teamToken.substring(0, 3) + ' ' + teamToken.substring(3)\r\n this.teamToken = teamToken\r\n this.step = 5\r\n\r\n if (this.schemaLength) {\r\n this.submitTournamentFormResponse(teamToken)\r\n }\r\n\r\n // bypass invite code for solo tournament\r\n if (this.tournament && this.tournament.capacityMaxPlayersPerTeam === 1) {\r\n this.onJoinTournament()\r\n }\r\n }\r\n\r\n onIGNCompleted() {\r\n // if (this.action === 'create' && this.isSoloTournament) {\r\n // this.step = this.schemaLength ? 3.5 : 5\r\n // return\r\n // }\r\n\r\n if (this.action === 'create') {\r\n this.step = this.schemaLength ? 3.5 : 4\r\n } else {\r\n this.step = this.schemaLength ? 4.5 : 5\r\n }\r\n }\r\n\r\n onTournamentRegistrationNext(group: string | null) {\r\n this.selectedGroup = group\r\n this.step = 2\r\n }\r\n\r\n async fetchTournamentCustomFormSchema() {\r\n let response = await TournamentAPI.getTournamentCustomFormSchema(\r\n this.tournament!.tournamentId\r\n )\r\n if (response.data.payload) {\r\n try {\r\n this.schema = parseSchema(response.data.payload.schema)\r\n } catch {\r\n this.schema = {}\r\n }\r\n }\r\n }\r\n\r\n get hasCustomForm() {\r\n return Object.keys(this.schema).length > 0\r\n }\r\n\r\n async submitTournamentFormResponse(token: string) {\r\n try {\r\n const response = await TournamentAPI.submitTournamentFormResponseWithToken(\r\n token,\r\n JSON.stringify(this.formResponse)\r\n )\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('TournamentActionDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n }\r\n }\r\n\r\n async onJoinTournament() {\r\n // 5 and 6 are competion step for create and join team sequence\r\n this.step = this.action === 'join' ? 6 : 5\r\n await this.fetchJoinedTournamentTeam()\r\n\r\n // auto-confirm roster on solo tournament\r\n if (this.tournament && this.tournament.capacityMaxPlayersPerTeam === 1) {\r\n setTimeout(() => {\r\n this.registrationStatus.confirmRoster()\r\n }, 1000)\r\n }\r\n }\r\n\r\n async fetchJoinedTournamentTeam() {\r\n try {\r\n await this.tournamentModule.getMemberJoinedTournamentTeam(\r\n this.tournament!.tournamentId\r\n )\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n if (err.getStatusCode() >= 400 && err.getStatusCode() < 500) {\r\n return\r\n }\r\n\r\n this.$toast.error(err.getMessage())\r\n } else {\r\n this.$toast.error(this.$t('TournamentActionDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n\r\n await this.$router.push('/')\r\n }\r\n }\r\n\r\n async onAcceptTeamToken(payload: TokenAcceptPayload) {\r\n this.selectedTokenTeam = payload\r\n this.step = 4\r\n }\r\n\r\n async confirmTeamJoin() {\r\n if (!this.selectedTokenTeam || !this.selectedTokenTeam.token) return\r\n this.isJoiningTeamWithToken = true\r\n try {\r\n await TournamentAPI.joinTournamentTeamByTeamToken(\r\n this.selectedTokenTeam.token\r\n )\r\n await this.onJoinTournament()\r\n\r\n if (this.schemaLength) {\r\n await this.submitTournamentFormResponse(this.selectedTokenTeam.token)\r\n }\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('TournamentActionDialog.SystemErrorMessage'))\r\n console.error(err)\r\n }\r\n } finally {\r\n this.isJoiningTeamWithToken = false\r\n }\r\n }\r\n\r\n async submitFormResponse(value: any) {\r\n this.formResponse = value\r\n\r\n // Navigate to finishing step\r\n this.step = this.action === 'create' ? 4 : 5\r\n }\r\n\r\n /* Computed Properties */\r\n\r\n get tournament() {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get schemaLength() {\r\n return Object.keys(this.schema).length\r\n }\r\n\r\n get showBackButton() {\r\n if (this.hasJoinedTournament) {\r\n return false\r\n }\r\n\r\n if (this.isSoloTournament && this.step === 2) return false\r\n\r\n return this.step > 1 && this.step < 5\r\n }\r\n\r\n get hasJoinedTournament() {\r\n return !!this.tournamentModule.selectedTournamentTeam\r\n }\r\n\r\n get isSoloTournament() {\r\n return this.tournament && this.tournament.capacityMaxPlayersPerTeam === 1\r\n }\r\n\r\n get hideLFG() {\r\n if (!this.tournament) return false\r\n\r\n if (this.tournament.isAutomated) return true\r\n\r\n if (this.tournament.capacityMaxPlayersPerTeam === 1) return true\r\n\r\n return false\r\n }\r\n\r\n get isVisible() {\r\n return this.tournamentModule.tournamentActionDialogVisible\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!./TournamentActionDialog.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!./TournamentActionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentActionDialog.vue?vue&type=template&id=50f119e1&scoped=true&\"\nimport script from \"./TournamentActionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentActionDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TournamentActionDialog.vue?vue&type=style&index=0&id=50f119e1&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 \"50f119e1\",\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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VFadeTransition,VIcon,VSheet,VSpacer,VWindow,VWindowItem})\n","import TournamentActionDialog from './TournamentActionDialog.vue'\r\n\r\nexport { TournamentActionDialog }\r\nexport default TournamentActionDialog\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"320\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h6 red--text\"},[_c('v-icon',{attrs:{\"color\":\"red\",\"left\":\"\"}},[_vm._v(\"mdi-alert-circle\")]),_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistrationClosedDialog.Title'))+\" \")],1),_c('v-card-text',[(_vm.isAutomated)?[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistrationClosedDialog.InstantMatchContent'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistrationClosedDialog.InstantMatchContent2'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistrationClosedDialog.RegularContent'))+\" \")]],2),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.$t('TournamentRegistrationClosedDialog.OK'))+\" \")])],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\r\nimport { Component, Vue } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport tournamentStore from '@/modules/tournament/tournament.store'\r\nimport { TournamentTeamState } from '@/api/tournamentTeam'\r\n\r\n@Component\r\nexport default class TournamentRegistrationClosedDialog extends Vue {\r\n tournamentModule = getModule(tournamentStore, this.$store)\r\n\r\n get isVisible() {\r\n return (\r\n this.tournamentModule.tournamentRegistrationClosedDialogVisible &&\r\n (!this.tournamentModule.selectedTournamentTeam ||\r\n this.tournamentModule.selectedTournamentTeam.state !==\r\n TournamentTeamState.Registered)\r\n )\r\n }\r\n\r\n get tournament() {\r\n return this.tournamentModule.selectedTournament\r\n }\r\n\r\n get isAutomated() {\r\n return (\r\n this.tournamentModule.selectedTournament &&\r\n this.tournamentModule.selectedTournament.isAutomated\r\n )\r\n }\r\n\r\n close() {\r\n if (this.tournament && this.tournament.isAutomated) {\r\n setTimeout(() => {\r\n this.$router.push({\r\n name: 'InstantMatchCatalog'\r\n })\r\n }, 500)\r\n }\r\n\r\n this.tournamentModule.setTournamentRegistrationClosedDialogVisible(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!./TournamentRegistrationClosedDialog.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!./TournamentRegistrationClosedDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TournamentRegistrationClosedDialog.vue?vue&type=template&id=6d68ea3c&scoped=true&\"\nimport script from \"./TournamentRegistrationClosedDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TournamentRegistrationClosedDialog.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 \"6d68ea3c\",\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","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!./TournamentRegistration.vue?vue&type=style&index=0&id=c20a9e84&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!./TournamentRegistration.vue?vue&type=style&index=0&id=c20a9e84&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!./TeamRegistration.vue?vue&type=style&index=0&id=04d197f2&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!./TeamRegistration.vue?vue&type=style&index=0&id=04d197f2&lang=scss&scoped=true&\""],"sourceRoot":""}