From 7f6aa9aa6556f4a1753b98c2a70f33c117cabf21 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Thu, 1 Jun 2023 09:13:37 -0700 Subject: [PATCH 1/3] Update schedules query ID --- app/splatnet/SplatNet3Client.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/splatnet/SplatNet3Client.mjs b/app/splatnet/SplatNet3Client.mjs index b899850..9e72dd8 100644 --- a/app/splatnet/SplatNet3Client.mjs +++ b/app/splatnet/SplatNet3Client.mjs @@ -117,7 +117,7 @@ export default class SplatNet3Client // Specific queries getStageScheduleData() { - return this.getGraphQLPersistedQuery(1, '011e394c0e384d77a0701474c8c11a20'); + return this.getGraphQLPersistedQuery(1, 'd1f062c14f74f758658b2703a5799002'); } getStageRecordData() { From edfeb9b51ced67e426c74e3c12d27a450f195f65 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Thu, 1 Jun 2023 09:32:42 -0700 Subject: [PATCH 2/3] Retrieve translations for events --- app/data/updaters/StageScheduleUpdater.mjs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/data/updaters/StageScheduleUpdater.mjs b/app/data/updaters/StageScheduleUpdater.mjs index e0975cc..38f75bc 100644 --- a/app/data/updaters/StageScheduleUpdater.mjs +++ b/app/data/updaters/StageScheduleUpdater.mjs @@ -40,6 +40,16 @@ export default class StageScheduleUpdater extends DataUpdater id: '__splatoon3ink_id', values: 'name', }, + { + key: 'events', + nodes: '$..eventSchedules.nodes.*.leagueMatchSetting.leagueMatchEvent', + id: 'id', + values: [ + 'name', + 'desc', + 'regulation', + ], + }, ]; async getData(locale) { From 795f71c0cb36aef286d36216b5b16b833029d721 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Fri, 2 Jun 2023 06:13:59 -0700 Subject: [PATCH 3/3] Add a data store for challenge events --- src/stores/schedules.mjs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/stores/schedules.mjs b/src/stores/schedules.mjs index e38c6a1..823b791 100644 --- a/src/stores/schedules.mjs +++ b/src/stores/schedules.mjs @@ -3,6 +3,8 @@ import { computed } from "vue"; import { useSchedulesDataStore } from "./data.mjs"; import { useTimeStore } from "./time.mjs"; import sortBy from 'lodash/sortBy.js'; +import min from 'lodash/min.js'; +import max from 'lodash/max.js'; // Schedule store definition (used for each type of schedule) function defineScheduleStore(id, options) { @@ -69,6 +71,17 @@ export const useSplatfestSchedulesStore = defineScheduleStore('splatfest', { settings: node => node.festMatchSetting, }); +// Challenge Events +export const useEventSchedulesStore = defineScheduleStore('event', { + nodes: () => useSchedulesDataStore().data?.eventSchedules.nodes.map(node => ({ + // Find the overall start/end times for the event based on all time periods + startTime: min(node.timePeriods.map(t => t.startTime)), + endTime: max(node.timePeriods.map(t => t.endTime)), + ...node, + })), + settings: node => node.leagueMatchSetting, +}); + // Salmon Run export const useSalmonRunSchedulesStore = defineScheduleStore('salmonRun', { nodes: () => { @@ -102,6 +115,7 @@ if (import.meta.hot) { import.meta.hot.accept(acceptHMRUpdate(useAnarchyOpenSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useXSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useSplatfestSchedulesStore, import.meta.hot)); + import.meta.hot.accept(acceptHMRUpdate(useEventSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useSalmonRunSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useEggstraWorkSchedulesStore, import.meta.hot)); }