\n 250}\"\n >\n \n \n \n \n \n
\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollToTop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollToTop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScrollToTop.vue?vue&type=template&id=8c8bc4c4&scoped=true&\"\nimport script from \"./ScrollToTop.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollToTop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScrollToTop.vue?vue&type=style&index=0&id=8c8bc4c4&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 \"8c8bc4c4\",\n null\n \n)\n\nexport default component.exports","export default {\n data: () => ({\n version: localStorage.getItem('_version'),\n latestVersion: null\n }),\n watch: {\n latestVersion (val) {\n if (this.version === null) {\n this.version = val\n localStorage.setItem('_version', this.latestVersion)\n }\n\n if (val !== this.version) {\n // eslint-disable-next-line no-alert\n this.$swal({\n title: 'Atualização Disponível!',\n text: 'Você está rodando uma versão diferente do servidor, para evitar bugs e instabilidades, por favor clique no botão \"Recarregar\" a baixo.',\n icon: 'info',\n confirmButtonText: 'Recarregar',\n allowOutsideClick: false,\n customClass: {\n confirmButton: 'btn btn-primary'\n },\n buttonsStyling: false\n }).then(buttons => (buttons.isConfirmed\n ? this.updateVersion(val)\n : null))\n }\n }\n },\n async mounted () {\n await this.getLatestVersion()\n\n setInterval(() => {\n this.getLatestVersion()\n }, 120000)\n },\n methods: {\n async getLatestVersion () {\n this.$http.get('/version')\n .then(res => {\n this.latestVersion = res.data\n })\n .catch(err => {\n if (err.response.status === 503) {\n if (window.location.hash !== '#/manutencao') {\n this.$router.push({ name: 'Maintenance' })\n }\n }\n\n if (err.response.status === 403 && err.response.data.message === 'You are banned from this site.') {\n if (window.location.hash !== '#/banido_por_ip') {\n this.$router.push({ name: 'Banido por IP' })\n }\n // eslint-disable-next-line no-alert\n // alert('Você foi banido do site!')\n }\n })\n },\n async updateVersion (version) {\n localStorage.setItem('_version', version)\n window.location.reload(true)\n }\n }\n}\n","export default {\n methods: {\n axiosHandler () {\n this.$http.interceptors.response.use(\n res => res,\n err => {\n if (err.response.status === 503) {\n if (window.location.hash !== '#/manutencao') {\n this.$router.push({ name: 'Maintenance' })\n }\n }\n\n if (err.response.status === 403 && err.response.data.message === 'You are banned per IP from this site.') {\n if (window.location.hash !== '#/banido_por_ip') {\n this.$router.push({ name: 'Banido por IP' })\n }\n }\n\n if (err.response.status === 401) {\n localStorage.removeItem('userData')\n localStorage.removeItem('accessToken')\n\n this.$router.push({ name: 'auth-login' })\n .then(() => {\n window.location.reload(true)\n })\n return\n }\n\n if (err.response.status === 403 && err.response.data.message === 'You are banned from this site.') {\n if (window.location.hash !== '#/banido') {\n this.$router.push({ name: 'Banido' })\n }\n }\n\n return {\n status: err.response.status,\n data: err.response.data\n }\n }\n )\n }\n },\n mounted () {\n this.axiosHandler()\n }\n}\n","