2019-03-30 22:55:48 +00:00
|
|
|
import Vue from 'vue'
|
2019-08-31 17:19:48 +00:00
|
|
|
import VueAxios from './plugins/axios'
|
2020-06-26 15:27:22 +00:00
|
|
|
import VueMeta from 'vue-meta'
|
2021-03-03 20:35:12 +00:00
|
|
|
import { VuePlausible } from 'vue-plausible'
|
2022-02-16 22:51:06 +00:00
|
|
|
import PortalVue from 'portal-vue'
|
2021-03-03 20:35:12 +00:00
|
|
|
|
2019-03-30 22:55:48 +00:00
|
|
|
|
2019-04-10 20:05:52 +00:00
|
|
|
import '@/assets/css/main.css'
|
2019-03-30 22:55:48 +00:00
|
|
|
|
|
|
|
|
import App from './App.vue'
|
|
|
|
|
import router from './router'
|
2019-08-22 22:50:00 +00:00
|
|
|
import store from './store'
|
2019-03-30 22:55:48 +00:00
|
|
|
|
|
|
|
|
Vue.config.productionTip = false
|
2019-08-31 17:19:48 +00:00
|
|
|
Vue.use(VueAxios)
|
2021-03-03 20:35:12 +00:00
|
|
|
Vue.use(VuePlausible, {
|
|
|
|
|
domain: 'leaguestats.gg',
|
|
|
|
|
trackLocalhost: false,
|
2021-03-09 19:24:27 +00:00
|
|
|
apiHost: 'https://stats.leaguestats.gg'
|
2021-03-03 20:35:12 +00:00
|
|
|
})
|
|
|
|
|
Vue.$plausible.enableAutoPageviews()
|
2020-06-26 15:27:22 +00:00
|
|
|
Vue.use(VueMeta)
|
2022-02-16 22:51:06 +00:00
|
|
|
Vue.use(PortalVue)
|
2019-08-22 22:50:00 +00:00
|
|
|
|
2019-11-10 18:01:26 +00:00
|
|
|
Vue.filter('capitalize', (value) => {
|
|
|
|
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase()
|
|
|
|
|
})
|
|
|
|
|
|
2022-02-16 23:55:57 +00:00
|
|
|
Vue.filter('kilo', (value, shortFormat = true) => {
|
|
|
|
|
return value > 1000 || shortFormat ? `${+(value / 1000).toFixed(1)}k` : value
|
2019-12-16 20:15:10 +00:00
|
|
|
})
|
|
|
|
|
|
2020-01-03 21:50:09 +00:00
|
|
|
Vue.filter('secToTime', (sec, dotNotation = false) => {
|
2022-01-30 17:01:05 +00:00
|
|
|
if (isNaN(sec)) return 0
|
|
|
|
|
|
2019-11-08 14:39:56 +00:00
|
|
|
const min = Math.floor(sec / 60)
|
2020-01-03 21:50:09 +00:00
|
|
|
let newSec = Math.floor(sec - min * 60)
|
|
|
|
|
newSec = newSec < 10 ? '0' + newSec : newSec
|
|
|
|
|
|
|
|
|
|
return dotNotation ? `${min}:${newSec}` : `${min}m${newSec}s`
|
2019-11-08 14:39:56 +00:00
|
|
|
})
|
|
|
|
|
|
2022-02-16 23:37:28 +00:00
|
|
|
Vue.filter('secToHours', (sec) => {
|
|
|
|
|
if (isNaN(sec)) return 0
|
|
|
|
|
|
2022-02-16 23:55:57 +00:00
|
|
|
const result = []
|
|
|
|
|
const d = Math.floor(sec / (3600 * 24))
|
|
|
|
|
const h = Math.floor(sec % (3600 * 24) / 3600)
|
|
|
|
|
const m = Math.floor(sec % 3600 / 60)
|
|
|
|
|
|
|
|
|
|
if (d > 0) {
|
|
|
|
|
result.push(d + ' days')
|
|
|
|
|
} else {
|
|
|
|
|
if (h > 0) {
|
|
|
|
|
result.push(h + 'h')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (m > 0) {
|
|
|
|
|
result.push(m + 'm')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result.join(' ')
|
2022-02-16 23:37:28 +00:00
|
|
|
})
|
|
|
|
|
|
2019-11-08 14:39:56 +00:00
|
|
|
Vue.filter('percent', (value) => {
|
2019-11-24 13:26:27 +00:00
|
|
|
return `${+value.toFixed(1)}%`
|
2019-11-08 14:39:56 +00:00
|
|
|
})
|
|
|
|
|
|
2019-12-21 16:56:31 +00:00
|
|
|
Vue.filter('round', (value, decimals = 2) => {
|
2022-01-30 17:01:05 +00:00
|
|
|
if (isNaN(value)) return 0
|
|
|
|
|
|
2019-12-21 16:56:31 +00:00
|
|
|
return parseFloat(value.toFixed(decimals))
|
2019-11-08 15:04:02 +00:00
|
|
|
})
|
|
|
|
|
|
2019-03-30 22:55:48 +00:00
|
|
|
new Vue({
|
|
|
|
|
router,
|
2019-08-22 22:50:00 +00:00
|
|
|
store,
|
2019-03-30 22:55:48 +00:00
|
|
|
render: h => h(App),
|
|
|
|
|
}).$mount('#app')
|