{"version":3,"sources":["webpack:///./src/views/settings/components/PfpController.vue?30de","webpack:///./src/views/settings/components/PfpController.vue","webpack:///./src/views/settings/components/PfpController.vue?fdd7","webpack:///./src/views/settings/components/PfpController.vue?fd63","webpack:///./src/views/settings/components/PfpController.vue?8ba8"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","$t","_e","attrs","pfpurl","VBtn","loading","on","handleUpload","VIcon","file","ref","handleFileChange","cancelChange","isDefaultPfp","removeImage","squareImage","staticRenderFns","PfpController","filePreview","ev","files","target","img","Image","reader","FileReader","onload","result","src","Math","abs","width","height","readAsDataURL","el","$refs","fileInput","click","uploadPfp","removePfp","pfp","Vue","__decorate","Getter","Action","Component","component"],"mappings":"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","file":"assets/js/chunk-035ef681.fd2e82f3.js","sourcesContent":["import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-4 d-flex flex-column align-end\"},[(_vm.file)?_c('div',{staticClass:\"mb-4\"},[_vm._v(_vm._s(_vm.$t(\"pfp.preview\")))]):_vm._e(),_c('img',{staticClass:\"image\",attrs:{\"src\":_vm.pfpurl}}),_c('div',{staticClass:\"mt-4 d-flex align-end\"},[_c('div',[_c(VBtn,{attrs:{\"elevation\":\"0\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":_vm.handleUpload}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(_vm._s(_vm.file ? \"mdi-upload\" : \"mdi-image\"))]),_c('span',[_vm._v(_vm._s(_vm.file ? _vm.$t(\"pfp.uploadNew\") : _vm.$t(\"pfp.chooseNew\")))])],1),_c('input',{ref:\"fileInput\",attrs:{\"type\":\"file\",\"accept\":\"image/*\",\"hidden\":\"\"},on:{\"input\":_vm.handleFileChange}})],1),(_vm.file)?_c(VBtn,{staticClass:\"ml-4\",attrs:{\"elevation\":\"0\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":_vm.cancelChange}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-close\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"pfp.cancelChange\")))])],1):_vm._e(),(!_vm.isDefaultPfp && !_vm.file)?_c(VBtn,{staticClass:\"ml-4\",attrs:{\"elevation\":\"0\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":_vm.removeImage}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-close\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"pfp.removeImage\")))])],1):_vm._e()],1),(!_vm.squareImage)?_c('div',{staticClass:\"mt-4\"},[_vm._v(_vm._s(_vm.$t(\"pfp.recSquare\")))]):_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\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class PfpController extends Vue {\r\n @Getter(\"profile/pfp\") pfp!: string;\r\n @Getter(\"profile/isDefaultPfp\") isDefaultPfp!: boolean;\r\n @Action(\"profile/uploadPfp\") uploadPfp!: (file: File) => Promise;\r\n @Action(\"profile/removePfp\") removePfp!: () => Promise;\r\n\r\n loading = false;\r\n file: File | null = null;\r\n filePreview: string | null = null;\r\n squareImage = true;\r\n\r\n handleFileChange(ev: any) {\r\n const files = (ev.target.files || []) as FileList;\r\n const file = files[0];\r\n if (!file) {\r\n this.filePreview = null;\r\n return;\r\n }\r\n const img = new Image();\r\n const reader = new FileReader();\r\n reader.onload = () => {\r\n this.filePreview = reader.result as string;\r\n img.src = reader.result as string;\r\n img.onload = () => {\r\n this.squareImage = Math.abs(img.width / img.height - 1) < 0.1;\r\n };\r\n };\r\n reader.readAsDataURL(file);\r\n\r\n this.file = file;\r\n }\r\n async handleUpload() {\r\n if (!this.file) {\r\n const el = this.$refs.fileInput as HTMLInputElement;\r\n el.click();\r\n return;\r\n }\r\n this.loading = true;\r\n await this.uploadPfp(this.file);\r\n this.loading = false;\r\n this.cancelChange();\r\n }\r\n cancelChange() {\r\n this.file = null;\r\n this.filePreview = null;\r\n this.squareImage = true;\r\n }\r\n async removeImage() {\r\n this.loading = true;\r\n await this.removePfp();\r\n this.loading = false;\r\n }\r\n\r\n get pfpurl() {\r\n if (this.filePreview) return this.filePreview;\r\n return this.pfp;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PfpController.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PfpController.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PfpController.vue?vue&type=template&id=131c8bf4&scoped=true&\"\nimport script from \"./PfpController.vue?vue&type=script&lang=ts&\"\nexport * from \"./PfpController.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PfpController.vue?vue&type=style&index=0&id=131c8bf4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"131c8bf4\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PfpController.vue?vue&type=style&index=0&id=131c8bf4&prod&scoped=true&lang=css&\""],"sourceRoot":""}