You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
4.5 KiB
103 lines
4.5 KiB
<template>
|
|
<md-dialog :md-active.sync="show" @close="show=false" :mdClickOutsideToClose="true">
|
|
<div class="md-layout md-alignment-bottom-center">
|
|
<div class="md-layout-item md-size-100 md-small-size-100 md-alignment-bottom-center rounded-only">
|
|
<div style="padding: 0% 5%; min-width: 450px; max-width: 450px">
|
|
<h5 style="text-align: center">Статистика за все серверы</h5>
|
|
<p>Статистика с учетом игры более 5 минут, уникальностью являются разные ip адреса, данные со всех серверов начиная с 2018 года</p>
|
|
</div>
|
|
<div style="padding: 0% 5%; min-width: 450px; max-width: 450px">
|
|
<h5 style="text-align: center">Игроки по странам</h5>
|
|
<div class="md-layout md-alignment-bottom-center">
|
|
<div class="md-layout-item md-size-20" style="text-align: center">
|
|
<img style="height: 32px" :src="require('/src/assets/flags/Flag_of_Russia.svg')" alt="Русские">
|
|
<p>{{this.countries.Russia}}</p>
|
|
</div>
|
|
<div class="md-layout-item md-size-20" style="text-align: center">
|
|
<img style="height: 32px" :src="require('/src/assets/flags/Flag_of_Belarus.svg')" alt="Белоруссы">
|
|
<p>{{this.countries.Belarus}}</p>
|
|
</div>
|
|
<div class="md-layout-item md-size-20" style="text-align: center">
|
|
<img style="height: 32px" :src="require('/src/assets/flags/Flag_of_Kazakhstan.svg')" alt="Казахи">
|
|
<p>{{this.countries.Kazakhstan}}</p>
|
|
</div>
|
|
<div class="md-layout-item md-size-20" style="text-align: center">
|
|
<img style="height: 32px" :src="require('/src/assets/flags/Flag_of_Shit.svg')" alt="Хохлы">
|
|
<p>{{this.countries.Ukraine}}</p>
|
|
</div>
|
|
<div class="md-layout-item md-size-20" style="text-align: center">
|
|
<img style="height: 32px" :src="require('/src/assets/flags/Flag_of_SoyGoys.svg')" alt="Скот">
|
|
<p>{{this.countries.OtherGoys}}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="padding: 1% 5%; min-width: 450px; max-width: 450px">
|
|
<h5 style="text-align: center; margin: 0 0">Уникальные игроки</h5>
|
|
<p>За текущий день {{uniq.day}} игроков</p>
|
|
<p>За текущий месяц {{uniq.month}} игроков</p>
|
|
<p>За текущий год {{uniq.year}} игроков</p>
|
|
<p>За все существование {{uniq.total}} игроков</p>
|
|
</div>
|
|
<div style="text-align: center">
|
|
<md-button class="btn-boss" v-on:click="show=false">А вот у куплинова больше</md-button>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</md-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import axios from "axios";
|
|
import Random from "@/api/Random";
|
|
|
|
export default {
|
|
name: "SummaryStatsDialog",
|
|
data: () => ({
|
|
show: false,
|
|
countries: {"Russia":0, "Ukraine": 0, "Belarus":0, "Kazakhstan":0, "OtherGoys":0},
|
|
uniq: {"total":0,"month":0,"year":0,"day":0}
|
|
}),
|
|
methods: {
|
|
showMe(b) {
|
|
if (b === true) this.preShow();
|
|
//this.show = b;
|
|
},
|
|
preShow(){
|
|
let countries_load = false;
|
|
let uniq_load = false;
|
|
|
|
axios.get(`/api/stats?filter=countries` + Random.getRndWebAppend())
|
|
.then(response => response.data)
|
|
.then(response => {
|
|
countries_load = true;
|
|
this.countries = response['countries'];
|
|
this.countries["OtherGoys"] = 0;
|
|
for (const country in response["countries"]) {
|
|
if (["Russia", "Ukraine", "Belarus", "Kazakhstan", "OtherGoys"].indexOf(country) !== -1) continue;
|
|
this.countries["OtherGoys"] += response["countries"][country];
|
|
}
|
|
})
|
|
.catch(err => {
|
|
console.log(`[API] cannot request country stats, err: ${err}`);
|
|
}).finally(() => {
|
|
this.show = countries_load && uniq_load;
|
|
});
|
|
|
|
axios.get(`/api/stats?filter=uniq` + Random.getRndWebAppend())
|
|
.then(response => response.data)
|
|
.then(response => {
|
|
uniq_load = true;
|
|
this.uniq = response['uniq'];
|
|
})
|
|
.catch(err => {
|
|
console.log(`[API] cannot request uniq stats, err: ${err}`);
|
|
}).finally(() => {
|
|
this.show = countries_load && uniq_load;
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|
|
</script>
|