{"version":3,"sources":["webpack:///./src/renderer/modules/member/components/ProfileHeader/ProfileHeader.vue?ffa6","webpack:///./src/renderer/modules/member/components/ProfileHeader/ProfileHeader.vue","webpack:///./src/renderer/modules/member/components/ProfileHeader/ProfileHeader.vue?c163","webpack:///./src/renderer/modules/member/components/ProfileHeader/ProfileHeader.vue?a917","webpack:///./src/renderer/modules/member/components/ProfileHeader/index.ts","webpack:///./src/renderer/modules/member/member.store.ts","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?87f4","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?0633","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?fb95","webpack:///./src/renderer/modules/shared/components/TeamAvatar/index.ts","webpack:///./src/renderer/utils/index.ts","webpack:///./src/renderer/modules/shared/components/TeamAvatar/TeamAvatar.vue?e5d6","webpack:///./src/renderer/modules/member/components/ProfileHeader/ProfileHeader.vue?9395","webpack:///./src/renderer/utils/window.ts","webpack:///./src/renderer/assets/country/hk.svg","webpack:///./src/renderer/assets/country/tw.svg"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","_s","header","staticRenderFns","required","component","VCol","VRow","MemberModule","memberId","member","matchHistory","matchHistoryCurrentPage","matchHistoryHasMorePage","tournamentHistory","tournamentHistoryCurrentPage","tournamentHistoryHasMorePage","isPhoneVerificationVisible","isDiscordIdDialogVisible","getMember","response","payload","data","status","Ok","context","commit","params","page","game","getMemberMatchHistory","matchHistories","hasMorePage","items","getMemberTournamentHistory","tournamentHistories","isVisible","rootGetters","authedMemberId","rawError","dynamic","store","namespaced","name","class","noGutters","size","teamLogo","color","domProps","teamNameInitial","length","teamName","substring","toUpperCase","type","String","default","Boolean","VAvatar","VContainer","VImg","unixTimestampToDateTime","unixTimestamp","utc","local","toDate","upperCase","string","capitalSpacing","replace","date","number","isNaN","dateTime","Date","getFullYear","toString","padStart","getMonth","getDate","join","getHours","getMinutes","getElementScrollRemaining","element","scrollHeight","offsetHeight","scrollTop","minimize","console","log","window","ipcRenderer","send","quit","module","exports"],"mappings":"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","file":"js/member-layout~member-match-history~member-tournament-history.e3af51b0.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"profile-heading\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.header)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class ProfileHeader extends Vue {\r\n @Prop({ required: true }) readonly header!: 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!./ProfileHeader.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!./ProfileHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfileHeader.vue?vue&type=template&id=3a5f6c5d&scoped=true&\"\nimport script from \"./ProfileHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfileHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProfileHeader.vue?vue&type=style&index=0&id=3a5f6c5d&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 \"3a5f6c5d\",\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 { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","import ProfileHeader from './ProfileHeader.vue'\r\n\r\nexport { ProfileHeader }\r\nexport default ProfileHeader\r\n","import { VuexModule, Module, Action, Mutation } from 'vuex-module-decorators'\r\nimport { IMemberState } from '@/store/types'\r\nimport { ResponseStatus, MemberAPI, MemberEntity } from '@/api/member'\r\n\r\nimport {\r\n MemberMatchHistoryPaginatedResponse,\r\n MemberMatchHistoryEntity,\r\n MatchGameType,\r\n MatchAPI\r\n} from '@/api/match'\r\n\r\nimport {\r\n MemberTournamentHistoryPaginatedResponse,\r\n MemberTournamentHistoryItemEntity,\r\n TournamentGameType,\r\n TournamentAPI\r\n} from '@/api/tournament'\r\n\r\nimport store from '@/store'\r\nimport { AccountInfo, IdentityAPI } from '@/api/identity'\r\n\r\n@Module({ dynamic: true, store: store, namespaced: true, name: 'member' })\r\nexport default class MemberModule extends VuexModule implements IMemberState {\r\n // the active profile id\r\n memberId: string = ''\r\n member: MemberEntity | null = null\r\n\r\n matchHistory: MemberMatchHistoryEntity[] = []\r\n matchHistoryCurrentPage: number = 0\r\n matchHistoryHasMorePage: boolean = true\r\n\r\n tournamentHistory: MemberTournamentHistoryItemEntity[] = []\r\n tournamentHistoryCurrentPage: number = 0\r\n tournamentHistoryHasMorePage: boolean = true\r\n\r\n isPhoneVerificationVisible: boolean = false\r\n isDiscordIdDialogVisible: boolean = false\r\n\r\n // Selected member\r\n @Mutation\r\n SET_SELECTED_MEMBER(member: MemberEntity | null) {\r\n if (member === null) {\r\n this.memberId = ''\r\n this.member = null\r\n } else {\r\n this.memberId = member!.memberId\r\n this.member = member\r\n }\r\n }\r\n\r\n @Action({ rawError: true })\r\n async setSelectedMember(memberId: string) {\r\n try {\r\n const response = await MemberAPI.getMember(memberId)\r\n let payload = response.data.payload\r\n if (response.data.status === ResponseStatus.Ok && payload) {\r\n this.context.commit('SET_SELECTED_MEMBER', payload)\r\n }\r\n } catch {}\r\n }\r\n\r\n @Action\r\n resetSelectedMember() {\r\n this.context.commit('SET_SELECTED_MEMBER', null)\r\n }\r\n\r\n // Member Match History\r\n @Action({ rawError: true })\r\n async fetchMemberMatchHistory(params: { page: number; game: MatchGameType }) {\r\n let page = params.page\r\n let game = params.game\r\n if (!this.memberId) return\r\n if (page <= this.matchHistoryCurrentPage || !this.matchHistoryHasMorePage) {\r\n return\r\n }\r\n this.context.commit('SET_MATCH_HISTORY_CURRENT_PAGE', page)\r\n try {\r\n const response = await MatchAPI.getMemberMatchHistory(\r\n this.memberId,\r\n page,\r\n game\r\n )\r\n let payload = response.data.payload\r\n if (response.data.status === ResponseStatus.Ok && payload) {\r\n this.context.commit('SET_MATCH_HISTORY', payload)\r\n }\r\n } catch {}\r\n }\r\n\r\n @Action\r\n resetMemberMatchHistory() {\r\n this.context.commit('RESET_MATCH_HISTORY')\r\n }\r\n\r\n @Mutation\r\n SET_MATCH_HISTORY_CURRENT_PAGE(page: number) {\r\n this.matchHistoryCurrentPage = page\r\n }\r\n\r\n @Mutation\r\n SET_MATCH_HISTORY(matchHistories: MemberMatchHistoryPaginatedResponse) {\r\n this.matchHistoryHasMorePage = matchHistories.hasMorePage\r\n this.matchHistory = [...this.matchHistory, ...matchHistories.items]\r\n }\r\n\r\n @Mutation\r\n RESET_MATCH_HISTORY() {\r\n this.matchHistory = []\r\n this.matchHistoryCurrentPage = 0\r\n this.matchHistoryHasMorePage = true\r\n }\r\n\r\n // Member Tournament History\r\n @Action({ rawError: true })\r\n async fetchMemberTournamentHistory(params: {\r\n page: number\r\n game: TournamentGameType\r\n }) {\r\n let page = params.page\r\n let game = params.game\r\n if (!this.memberId) return\r\n if (\r\n page <= this.tournamentHistoryCurrentPage ||\r\n !this.tournamentHistoryHasMorePage\r\n ) {\r\n return\r\n }\r\n this.context.commit('SET_TOURNAMENT_HISTORY_CURRENT_PAGE', page)\r\n try {\r\n const response = await TournamentAPI.getMemberTournamentHistory(\r\n this.memberId,\r\n page,\r\n game\r\n )\r\n let payload = response.data.payload\r\n if (response.data.status === ResponseStatus.Ok && payload) {\r\n this.context.commit('SET_TOURNAMENT_HISTORY', payload)\r\n }\r\n } catch {}\r\n }\r\n\r\n @Action\r\n resetMemberTournamentHistory() {\r\n this.context.commit('RESET_TOURNAMENT_HISTORY')\r\n }\r\n\r\n @Mutation\r\n SET_TOURNAMENT_HISTORY_CURRENT_PAGE(page: number) {\r\n this.tournamentHistoryCurrentPage = page\r\n }\r\n\r\n @Mutation\r\n SET_TOURNAMENT_HISTORY(\r\n tournamentHistories: MemberTournamentHistoryPaginatedResponse\r\n ) {\r\n this.tournamentHistoryHasMorePage = tournamentHistories.hasMorePage\r\n this.tournamentHistory = [\r\n ...this.tournamentHistory,\r\n ...tournamentHistories.items\r\n ]\r\n }\r\n\r\n @Mutation\r\n RESET_TOURNAMENT_HISTORY() {\r\n this.tournamentHistory = []\r\n this.tournamentHistoryCurrentPage = 0\r\n this.tournamentHistoryHasMorePage = true\r\n }\r\n\r\n get authedMemberId(): string {\r\n return this.context.rootGetters['user/memberId'] || ''\r\n }\r\n\r\n get isProfileOwner() {\r\n if (!this.authedMemberId) return false\r\n return this.authedMemberId === this.memberId\r\n }\r\n\r\n // Phone verification\r\n @Mutation\r\n SET_IS_PHONE_VERIFICATION_VISIBLE(isVisible = false) {\r\n this.isPhoneVerificationVisible = isVisible\r\n }\r\n\r\n @Action({ rawError: true })\r\n setIsPhoneVerificationVisible(params: { isVisible: boolean }) {\r\n this.context.commit('SET_IS_PHONE_VERIFICATION_VISIBLE', params.isVisible)\r\n }\r\n\r\n // Discord\r\n @Mutation\r\n SET_IS_DISCORD_ID_DIALOG_VISIBLE(isVisible = false) {\r\n this.isDiscordIdDialogVisible = isVisible\r\n }\r\n\r\n @Action({ rawError: true })\r\n setIsDiscordIdDialogVisible(params: { isVisible: boolean }) {\r\n this.context.commit('SET_IS_DISCORD_ID_DIALOG_VISIBLE', params.isVisible)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"avatar-container\",class:{ 'pa-0': _vm.noGutters }},[(_vm.hasValidImage)?_c('v-img',{staticClass:\"team-logo mx-auto\",attrs:{\"height\":_vm.size,\"width\":_vm.size,\"position\":\"center\",\"src\":_vm.teamLogo}}):_c('v-avatar',{staticClass:\"mx-auto team-name\",attrs:{\"color\":_vm.color,\"height\":_vm.size,\"width\":_vm.size},domProps:{\"textContent\":_vm._s(_vm.teamNameInitial)}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\nexport default class TeamAvatar extends Vue {\r\n @Prop({ type: String, required: true }) teamLogo!: string\r\n @Prop({ type: String, required: true }) teamName!: string\r\n @Prop({ type: String, default: '5rem' }) size!: string\r\n @Prop({ type: String, default: 'primary' }) color!: string\r\n @Prop({ type: Boolean, default: false }) noGutters!: boolean\r\n\r\n /* Methods */\r\n get hasValidImage() {\r\n return !!this.teamLogo.length\r\n }\r\n\r\n get teamNameInitial() {\r\n return this.teamName.substring(0, 1).toUpperCase()\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TeamAvatar.vue?vue&type=template&id=6991e535&scoped=true&\"\nimport script from \"./TeamAvatar.vue?vue&type=script&lang=ts&\"\nexport * from \"./TeamAvatar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6991e535\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VAvatar,VContainer,VImg})\n","import TeamAvatar from './TeamAvatar.vue'\r\nexport default TeamAvatar\r\nexport { TeamAvatar }\r\n","import { Console } from 'console'\r\nimport { padStart } from 'lodash'\r\nimport moment from 'moment'\r\n\r\nexport function countryFlag(countryCode: string) {\r\n if (!countryCode || !countryCode.length) {\r\n return null\r\n }\r\n\r\n switch (countryCode.toLowerCase()) {\r\n case 'tw':\r\n return require('@/assets/country/tw.svg')\r\n case 'hk':\r\n return require('@/assets/country/hk.svg')\r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\nexport function sleep(duration: number) {\r\n return new Promise(resolve => setTimeout(resolve, duration))\r\n}\r\n\r\nexport function unixTimestampToDateTime(unixTimestamp: number): Date {\r\n return moment\r\n .utc(unixTimestamp * 1000)\r\n .local()\r\n .toDate()\r\n}\r\n\r\nexport function upperCase(string: string): string {\r\n return string.toUpperCase()\r\n}\r\n\r\nexport function lowerCase(string: string): string {\r\n return string.toLowerCase()\r\n}\r\n\r\nexport function capitalSpacing(string: string): string {\r\n return string.replace(/([a-z])([A-Z])/g, '$1 $2')\r\n}\r\n\r\nexport function capitalizeFirstLetter(string: string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1)\r\n}\r\n\r\nexport function numberWithCommas(number: number) {\r\n if (!number) return 0\r\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\r\n}\r\n\r\nexport function date(number: number) {\r\n if (isNaN(number)) return ''\r\n const dateTime = new Date(number * 1000)\r\n return [\r\n dateTime\r\n .getFullYear()\r\n .toString()\r\n .padStart(4, '0'),\r\n (dateTime.getMonth() + 1).toString().padStart(2, '0'),\r\n dateTime\r\n .getDate()\r\n .toString()\r\n .padStart(2, '0')\r\n ].join('/')\r\n}\r\n\r\nexport function dateTime(number: number) {\r\n if (isNaN(number)) return ''\r\n const dateTime = new Date(number * 1000)\r\n return (\r\n [\r\n dateTime\r\n .getFullYear()\r\n .toString()\r\n .padStart(4, '0'),\r\n (dateTime.getMonth() + 1).toString().padStart(2, '0'),\r\n dateTime\r\n .getDate()\r\n .toString()\r\n .padStart(2, '0')\r\n ].join('/') +\r\n ' ' +\r\n [\r\n dateTime\r\n .getHours()\r\n .toString()\r\n .padStart(2, '0'),\r\n dateTime\r\n .getMinutes()\r\n .toString()\r\n .padStart(2, '0')\r\n ].join(':')\r\n )\r\n}\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!./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./TeamAvatar.vue?vue&type=style&index=0&id=6991e535&lang=scss&scoped=true&\"","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!./ProfileHeader.vue?vue&type=style&index=0&id=3a5f6c5d&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!./ProfileHeader.vue?vue&type=style&index=0&id=3a5f6c5d&lang=scss&scoped=true&\"","import { isElectron } from '@/utils/electron'\r\n\r\nexport function getScrollTop() {\r\n return window.pageYOffset !== undefined\r\n ? window.pageYOffset\r\n : document.documentElement.scrollTop\r\n}\r\n\r\nexport function getWindowHeight() {\r\n return document.documentElement.clientHeight\r\n}\r\n\r\nexport function getElementScrollRemaining(element: HTMLElement) {\r\n return element.scrollHeight - element.offsetHeight - element.scrollTop\r\n}\r\n\r\nexport async function minimize() {\r\n if (!isElectron()) {\r\n console.log('Not support minimizing in non-electron mode')\r\n } else {\r\n await window.ipcRenderer.send('minimize-window')\r\n }\r\n}\r\n\r\nexport async function quit() {\r\n if (!isElectron()) {\r\n console.log('Not support closing window in non-electron mode')\r\n } else {\r\n await window.ipcRenderer.send('quit')\r\n }\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/hk.901fbb55.svg\";","module.exports = __webpack_public_path__ + \"img/tw.790bc738.svg\";"],"sourceRoot":""}