Skip to content

Commit

Permalink
Migrate overallStats store to pinia (#649)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rotzbua committed Mar 26, 2023
1 parent f6fed39 commit 03a389e
Show file tree
Hide file tree
Showing 12 changed files with 228 additions and 249 deletions.
20 changes: 11 additions & 9 deletions src/components/overall-statistics/HeroPictureSelect.vue
Expand Up @@ -77,12 +77,14 @@ import { Component, Prop } from "vue-property-decorator";
import { HeroPick } from "@/store/overallStats/types";
import { ERaceEnum } from "@/store/typings";
import { getAsset } from "@/helpers/url-functions";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({})
export default class HeroPictureSelect extends Vue {
@Prop() heroIndex!: number;
public dialogOpened = false;
private overallStatsStore = useOverallStatsStore();
openDialog() {
this.dialogOpened = true;
Expand All @@ -93,17 +95,17 @@ export default class HeroPictureSelect extends Vue {
if (hero.heroId === "none" || hero.heroId === "all") {
if (this.heroIndex === 0 || this.heroIndex === 3) {
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 1,
heroPick: hero,
});
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 2,
heroPick: hero,
});
}
if (this.heroIndex === 1 || this.heroIndex === 4) {
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 1,
heroPick: hero,
});
Expand All @@ -121,15 +123,15 @@ export default class HeroPictureSelect extends Vue {
allPickedRaces[1] !== hero.race &&
allPickedRaces[1] !== ERaceEnum.RANDOM
) {
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 1,
heroPick: {
name: "anyhero",
heroId: "all",
race: ERaceEnum.TOTAL,
},
});
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 2,
heroPick: {
name: "anyhero",
Expand All @@ -143,7 +145,7 @@ export default class HeroPictureSelect extends Vue {
allPickedRaces[2] !== hero.race &&
allPickedRaces[2] !== ERaceEnum.RANDOM
) {
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK({
this.overallStatsStore.SET_HERO_PICK({
index: this.heroIndex + 2,
heroPick: {
name: "anyhero",
Expand All @@ -154,8 +156,8 @@ export default class HeroPictureSelect extends Vue {
}
}
this.$store.direct.commit.overallStatistics.SET_HIRO_PICK(newPick);
this.$store.direct.dispatch.overallStatistics.loadHeroWinrates();
this.overallStatsStore.SET_HERO_PICK(newPick);
this.overallStatsStore.loadHeroWinrates();
this.dialogOpened = false;
}
Expand Down Expand Up @@ -245,7 +247,7 @@ export default class HeroPictureSelect extends Vue {
}
get heroPicks() {
return this.$store.direct.state.overallStatistics.heroPicks;
return this.overallStatsStore.heroPicks;
}
get heroPickName() {
Expand Down
11 changes: 7 additions & 4 deletions src/components/overall-statistics/HeroWinrate.vue
Expand Up @@ -40,31 +40,34 @@
import Vue from "vue";
import { Component } from "vue-property-decorator";
import HeroPictureSelect from "@/components/overall-statistics/HeroPictureSelect.vue";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: { HeroPictureSelect },
})
export default class HeroWinrate extends Vue {
private overallStatsStore = useOverallStatsStore();
get winrateClass() {
if (this.winrate > 0.55) return "won";
if (this.winrate < 0.45) return "lost";
return "";
}
get winrate() {
return this.$store.direct.state.overallStatistics.heroWinrate.winrate;
return this.overallStatsStore.heroWinrate.winrate;
}
get wins() {
return this.$store.direct.state.overallStatistics.heroWinrate.wins;
return this.overallStatsStore.heroWinrate.wins;
}
get losses() {
return this.$store.direct.state.overallStatistics.heroWinrate.losses;
return this.overallStatsStore.heroWinrate.losses;
}
mounted() {
this.$store.direct.dispatch.overallStatistics.loadHeroWinrates();
this.overallStatsStore.loadHeroWinrates();
}
}
</script>
6 changes: 4 additions & 2 deletions src/components/overall-statistics/tabs/HeroTab.vue
Expand Up @@ -50,6 +50,7 @@ import HeroWinrate from "@/components/overall-statistics/HeroWinrate.vue";
import PlayedHeroesChart from "@/components/overall-statistics/PlayedHeroesChart.vue";
import { EGameMode, EPick } from "@/store/typings";
import { PlayedHero } from "@/store/overallStats/types";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: {
PlayedHeroesChart,
Expand All @@ -62,10 +63,11 @@ import { PlayedHero } from "@/store/overallStats/types";
export default class HeroTab extends Mixins(GameModesMixin) {
public selectedHeroesPlayedPick = 0;
public selectedHeroesPlayedMode = EGameMode.GM_1ON1;
private overallStatsStore = useOverallStatsStore();
async mounted() {
await this.loadActiveGameModes();
await this.$store.direct.dispatch.overallStatistics.loadPlayedHeroes();
await this.overallStatsStore.loadPlayedHeroes();
}
get gameModes() {
Expand Down Expand Up @@ -94,7 +96,7 @@ export default class HeroTab extends Mixins(GameModesMixin) {
}
get selectedPlayedHeroes(): PlayedHero[] {
const heroes = this.$store.direct.state.overallStatistics.playedHeroes;
const heroes = this.overallStatsStore.playedHeroes;
if (heroes.length === 0) return [];
return (
heroes.filter((g) => g.gameMode == this.selectedHeroesPlayedMode)[0]
Expand Down
8 changes: 5 additions & 3 deletions src/components/overall-statistics/tabs/MmrDistributionTab.vue
Expand Up @@ -65,12 +65,14 @@ import GameModeSelect from "@/components/common/GameModeSelect.vue";
import MmrDistributionChart from "@/components/overall-statistics/MmrDistributionChart.vue";
import { Watch } from "vue-property-decorator";
import { useOauthStore } from "@/store/oauth/store";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: { MmrDistributionChart, GameModeSelect, GatewaySelect },
})
export default class PlayerActivityTab extends Mixins(GameModesMixin) {
private oauthStore = useOauthStore();
private overallStatsStore = useOverallStatsStore();
public selectedSeason: Season = { id: 1 };
public selectedGameMode: EGameMode = EGameMode.GM_1ON1;
public selectedGateWay: Gateways = Gateways.Europe;
Expand All @@ -81,7 +83,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
}
get loadingMapAndRaceStats(): boolean {
return this.$store.direct.state.overallStatistics.loadingMapAndRaceStats;
return this.overallStatsStore.loadingMapAndRaceStats;
}
public async setSelectedSeason(season: Season) {
Expand All @@ -105,7 +107,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
gameMode: this.selectedGameMode,
gateWay: this.selectedGateWay,
};
await this.$store.direct.dispatch.overallStatistics.loadMmrDistribution(payload);
await this.overallStatsStore.loadMmrDistribution(payload);
this.loadingData = false;
}
Expand Down Expand Up @@ -138,7 +140,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
}
get mmrDistribution() {
return this.$store.direct.state.overallStatistics.mmrDistribution;
return this.overallStatsStore.mmrDistribution;
}
get standardDeviation(): string {
Expand Down
24 changes: 13 additions & 11 deletions src/components/overall-statistics/tabs/PlayerActivityTab.vue
Expand Up @@ -182,6 +182,7 @@ import PopularGameTimeChart from "@/components/overall-statistics/PopularGameTim
import { EGameMode } from "@/store/typings";
import ActivityPerDayChart from "@/components/overall-statistics/ActivityPerDayChart.vue";
import MapsPerSeasonChart from "@/components/overall-statistics/MapsPerSeasonChart.vue";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: {
Expand All @@ -199,6 +200,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
public selectedSeasonForMaps = "All";
public overWrittenOnce = false;
public selectedModeForMaps = EGameMode.GM_1ON1;
private overallStatsStore = useOverallStatsStore();
async mounted(): Promise<void> {
await this.loadActiveGameModes();
Expand Down Expand Up @@ -254,7 +256,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
}
get loadingGamesPerDayStats(): boolean {
return this.$store.direct.state.overallStatistics.loadingGamesPerDayStats;
return this.overallStatsStore.loadingGamesPerDayStats;
}
get mapsPerSeason(): MapCount[] {
Expand All @@ -264,7 +266,7 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
}
const selectedSeasonMaps =
this.$store.direct.state.overallStatistics.matchesOnMapPerSeason.filter(
this.overallStatsStore.matchesOnMapPerSeason.filter(
(m) =>
m.season ===
(this.selectedSeasonForMaps === "All"
Expand All @@ -280,17 +282,17 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
}
get loadingPlayersPerDayStats(): boolean {
return this.$store.direct.state.overallStatistics.loadingPlayersPerDayStats;
return this.overallStatsStore.loadingPlayersPerDayStats;
}
get gameDays(): GameDayPerMode[] {
return this.$store.direct.state.overallStatistics.gamesPerDay[0];
return this.overallStatsStore.gamesPerDay[0];
}
get gameDaysForGateways(): GameDayPerMode[][] {
const all = this.$store.direct.state.overallStatistics.gamesPerDay[0];
const us = this.$store.direct.state.overallStatistics.gamesPerDay[1];
const eu = this.$store.direct.state.overallStatistics.gamesPerDay[2];
const all = this.overallStatsStore.gamesPerDay[0];
const us = this.overallStatsStore.gamesPerDay[1];
const eu = this.overallStatsStore.gamesPerDay[2];
const filterForCurrentMode = (all: GameDayPerMode[]) => {
return all.filter((g) => g.gameMode === this.selectedGamesPerDayMode);
};
Expand All @@ -303,21 +305,21 @@ export default class PlayerActivityTab extends Mixins(GameModesMixin) {
get playersPerDay(): GameDay[] {
return (
this.$store.direct.state.overallStatistics.playersPerDay
this.overallStatsStore.playersPerDay
.reverse()
?.splice(
0,
this.$store.direct.state.overallStatistics.playersPerDay.length - 1
this.overallStatsStore.playersPerDay.length - 1
) ?? []
);
}
get gameLength(): GameLength[] {
return this.$store.direct.state.overallStatistics.gameLengths;
return this.overallStatsStore.gameLengths;
}
get popularGameHours(): PopularGameHour[] {
return this.$store.direct.state.overallStatistics.popularGameHours;
return this.overallStatsStore.popularGameHours;
}
}
</script>
4 changes: 3 additions & 1 deletion src/components/overall-statistics/tabs/WinratesTab.vue
Expand Up @@ -101,6 +101,7 @@ import {
} from "@/store/overallStats/types";
import { Watch } from "vue-property-decorator";
import { ERaceEnum } from "@/store/typings";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: { PlayerStatsRaceVersusRaceOnMapTableCell },
})
Expand All @@ -109,6 +110,7 @@ export default class WinratesTab extends Vue {
public selectedPatch = "All";
public selectedMmr = 0;
public selectedMap = this.$t("common.overall");
private overallStatsStore = useOverallStatsStore();
get headers() {
return [
Expand Down Expand Up @@ -203,7 +205,7 @@ export default class WinratesTab extends Vue {
}
get statsPerRaceAndMap(): StatsPerWinrate[] {
return this.$store.direct.state.overallStatistics.statsPerMapAndRace;
return this.overallStatsStore.statsPerMapAndRace;
}
get patches() {
Expand Down
4 changes: 3 additions & 1 deletion src/components/player/tabs/PlayerStatisticTab.vue
Expand Up @@ -139,6 +139,7 @@ import PlayerHeroStatistics from "@/components/player/PlayerHeroStatistics.vue";
import PlayerHeroWinRate from "@/components/player/PlayerHeroWinRate.vue";
import { races } from "@/helpers/profile";
import { TranslateResult } from "vue-i18n";
import { useOverallStatsStore } from "@/store/overallStats/store";
@Component({
components: {
Expand All @@ -157,6 +158,7 @@ export default class PlayerStatisticTab extends Mixins(GameModesMixin) {
public selectedMap = "Overall";
public selectedMapHeroWinRate = "Overall";
public races = races;
private overallStatsStore = useOverallStatsStore();
get selectedSeason() {
return this.$store.direct.state.player.selectedSeason;
Expand Down Expand Up @@ -275,7 +277,7 @@ export default class PlayerStatisticTab extends Mixins(GameModesMixin) {
}
public getMaps(): void {
this.$store.direct.dispatch.overallStatistics.loadMapsPerSeason();
this.overallStatsStore.loadMapsPerSeason();
}
get maps() {
Expand Down
2 changes: 0 additions & 2 deletions src/store/index.ts
Expand Up @@ -5,7 +5,6 @@ import { createDirectStore } from "direct-vuex";
import tournaments from "./tournaments/index";
import player from "./player/index";
import matches from "./match/index";
import overallStatistics from "./overallStats/index";
import personalSettings from "./personalSettings/index";
import clan from "./clan/index";
import admin from "./admin/index";
Expand All @@ -26,7 +25,6 @@ const mod = {
player,
rankings,
matches,
overallStatistics,
personalSettings,
clan,
admin,
Expand Down

0 comments on commit 03a389e

Please sign in to comment.