diff --git a/src/assets/i18n/de-DE.json b/src/assets/i18n/de-DE.json index e710239..89e6669 100644 --- a/src/assets/i18n/de-DE.json +++ b/src/assets/i18n/de-DE.json @@ -26,7 +26,9 @@ "open": "Offen", "regular": "Standardkampf", "anarchy": "Anarchie-Kampf", - "splatfest": "Splatfest-Kampf" + "splatfest": "Splatfest-Kampf", + "xmatch": "X-Kampf", + "league": "Ligakampf" }, "all-upcoming": "Alle bevorstehenden Arenen" }, diff --git a/src/assets/i18n/en-GB.json b/src/assets/i18n/en-GB.json index 5b042db..b54b0bd 100644 --- a/src/assets/i18n/en-GB.json +++ b/src/assets/i18n/en-GB.json @@ -25,7 +25,9 @@ "open": "Open", "regular": "Regular Battle", "anarchy": "Anarchy Battle", - "splatfest": "Splatfest Battle" + "splatfest": "Splatfest Battle", + "xmatch": "X Battle", + "league": "League Battle" }, "all-upcoming": "All Upcoming Stages" }, diff --git a/src/assets/i18n/en-US.json b/src/assets/i18n/en-US.json index f440a16..71630b8 100644 --- a/src/assets/i18n/en-US.json +++ b/src/assets/i18n/en-US.json @@ -26,7 +26,9 @@ "open": "Open", "regular": "Regular Battle", "anarchy": "Anarchy Battle", - "splatfest": "Splatfest Battle" + "splatfest": "Splatfest Battle", + "xmatch": "X Battle", + "league": "League Battle" }, "all-upcoming": "All Upcoming Stages" }, diff --git a/src/assets/i18n/es-ES.json b/src/assets/i18n/es-ES.json index c2f41e0..55ba073 100644 --- a/src/assets/i18n/es-ES.json +++ b/src/assets/i18n/es-ES.json @@ -25,7 +25,9 @@ "open": "Informal", "regular": "Combate amistoso", "anarchy": "Combate caótico", - "splatfest": "Combate temático" + "splatfest": "Combate temático", + "xmatch": "Combate X", + "league": "Combate del torneo" } }, "salmonrun": { diff --git a/src/assets/i18n/es-MX.json b/src/assets/i18n/es-MX.json index 8e8b2cf..f36004a 100644 --- a/src/assets/i18n/es-MX.json +++ b/src/assets/i18n/es-MX.json @@ -25,7 +25,9 @@ "open": "Informal", "regular": "Combate amistoso", "anarchy": "Combate caótico", - "splatfest": "Combate temático" + "splatfest": "Combate temático", + "xmatch": "Combate X", + "league": "Combate de liga" } }, "salmonrun": { diff --git a/src/assets/i18n/fr-CA.json b/src/assets/i18n/fr-CA.json index 003e309..accb5af 100644 --- a/src/assets/i18n/fr-CA.json +++ b/src/assets/i18n/fr-CA.json @@ -25,7 +25,9 @@ "open": "Ouvert", "regular": "Match classique", "anarchy": "Match anarchie", - "splatfest": "Festimatch" + "splatfest": "Festimatch", + "xmatch": "Match X", + "league": "Match de ligue" }, "all-upcoming": "Les stages à venir" }, diff --git a/src/assets/i18n/fr-FR.json b/src/assets/i18n/fr-FR.json index 03e0f36..350c13f 100644 --- a/src/assets/i18n/fr-FR.json +++ b/src/assets/i18n/fr-FR.json @@ -26,7 +26,9 @@ "open": "Ouvert", "regular": "Match classique", "anarchy": "Match anarchie", - "splatfest": "Festimatch" + "splatfest": "Festimatch", + "xmatch": "Match X", + "league": "Match de ligue" }, "all-upcoming": "Les stages à venir" }, diff --git a/src/assets/i18n/it-IT.json b/src/assets/i18n/it-IT.json index d8d1a63..6b92c86 100644 --- a/src/assets/i18n/it-IT.json +++ b/src/assets/i18n/it-IT.json @@ -25,7 +25,9 @@ "open": "Aperta", "regular": "Partita amichevole", "anarchy": "Partita anarchica", - "splatfest": "Partita tematica" + "splatfest": "Partita tematica", + "xmatch": "Partita X", + "league": "Partita di lega" } }, "salmonrun": { diff --git a/src/assets/i18n/ja-JP.json b/src/assets/i18n/ja-JP.json index 744148d..1bf91b8 100644 --- a/src/assets/i18n/ja-JP.json +++ b/src/assets/i18n/ja-JP.json @@ -25,7 +25,9 @@ "open": "オープン", "regular": "レギュラーマッチ", "anarchy": "バンカラマッチ", - "splatfest": "フェスマッチ" + "splatfest": "フェスマッチ", + "xmatch": "Xマッチ", + "league": "リーグマッチ" } }, "salmonrun": { diff --git a/src/assets/i18n/ko-KR.json b/src/assets/i18n/ko-KR.json index 4685a91..c56291b 100644 --- a/src/assets/i18n/ko-KR.json +++ b/src/assets/i18n/ko-KR.json @@ -25,7 +25,9 @@ "open": "오픈", "regular": "레귤러 매치", "anarchy": "카오폴리스 매치", - "splatfest": "페스티벌 매치" + "splatfest": "페스티벌 매치", + "xmatch": "X 매치", + "league": "리그 매치" } }, "salmonrun": { diff --git a/src/assets/i18n/nl-NL.json b/src/assets/i18n/nl-NL.json index b563475..970486c 100644 --- a/src/assets/i18n/nl-NL.json +++ b/src/assets/i18n/nl-NL.json @@ -25,7 +25,9 @@ "open": "Open", "regular": "Standaardgevecht", "anarchy": "Chaosgevecht", - "splatfest": "Splatfest-gevecht" + "splatfest": "Splatfest-gevecht", + "xmatch": "X-gevecht", + "league": "Toernooigevecht" } }, "salmonrun": { diff --git a/src/assets/i18n/ru-RU.json b/src/assets/i18n/ru-RU.json index f377eea..d4d6f4a 100644 --- a/src/assets/i18n/ru-RU.json +++ b/src/assets/i18n/ru-RU.json @@ -25,7 +25,9 @@ "open": "Открытый", "regular": "Бой салаг", "anarchy": "Стихийный бой", - "splatfest": "Сплатфест-бой" + "splatfest": "Сплатфест-бой", + "xmatch": "Бой X", + "league": "Бой лиги" } }, "salmonrun": { diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json index fa40e3d..ebcef79 100644 --- a/src/assets/i18n/zh-CN.json +++ b/src/assets/i18n/zh-CN.json @@ -25,7 +25,9 @@ "open": "开放", "regular": "一般比赛", "anarchy": "蛮颓比赛", - "splatfest": "祭典比赛" + "splatfest": "祭典比赛", + "xmatch": "X比赛", + "league": "联盟比赛" }, "all-upcoming": "接下来的对战场地" }, diff --git a/src/assets/i18n/zh-TW.json b/src/assets/i18n/zh-TW.json index f7586b6..c40a146 100644 --- a/src/assets/i18n/zh-TW.json +++ b/src/assets/i18n/zh-TW.json @@ -25,7 +25,9 @@ "open": "開放", "regular": "一般比賽", "anarchy": "蠻頹比賽", - "splatfest": "祭典比賽" + "splatfest": "祭典比賽", + "xmatch": "X比賽", + "league": "聯盟比賽" } }, "salmonrun": { diff --git a/src/assets/img/modes/x.svg b/src/assets/img/modes/x.svg index 0436f01..dca5001 100644 --- a/src/assets/img/modes/x.svg +++ b/src/assets/img/modes/x.svg @@ -1,7 +1,7 @@ - - - + + + - + diff --git a/src/components/concerns/scheduleTypes.mjs b/src/components/concerns/scheduleTypes.mjs index 68d4bce..cc7a39e 100644 --- a/src/components/concerns/scheduleTypes.mjs +++ b/src/components/concerns/scheduleTypes.mjs @@ -1,6 +1,9 @@ import { useAnarchyOpenSchedulesStore, useAnarchySeriesSchedulesStore, useRegularSchedulesStore, useSplatfestSchedulesStore } from '@/stores/schedules'; import battleRegularSvg from '@/assets/img/modes/regular.svg'; import battleBankaraSvg from '@/assets/img/modes/bankara.svg'; +import battleXSvg from '@/assets/img/modes/x.svg'; +import battleLeagueSvg from '@/assets/img/modes/league.svg'; +import { useLeagueSchedulesStore, useXSchedulesStore } from '../../stores/schedules.mjs'; export function useScheduleTypes() { const types = { @@ -25,6 +28,20 @@ export function useScheduleTypes() { img: battleBankaraSvg, bg: 'bg-splatoon-battle-ranked bg-tapes', }, + xMatch: { + name: 'schedule.types.xmatch', + badge: null, + store: useXSchedulesStore(), + img: battleXSvg, + bg: 'bg-splatoon-battle-xmatch bg-tapes', + }, + league: { + name: 'schedule.types.league', + badge: null, + store: useLeagueSchedulesStore(), + img: battleLeagueSvg, + bg: 'bg-splatoon-battle-league bg-tapes', + }, splatfest: { name: 'schedule.types.splatfest', badge: null, diff --git a/src/stores/schedules.mjs b/src/stores/schedules.mjs index 1ad8bfc..ad2baab 100644 --- a/src/stores/schedules.mjs +++ b/src/stores/schedules.mjs @@ -56,6 +56,18 @@ export const useAnarchyOpenSchedulesStore = defineScheduleStore('anarchy/open', settings: node => node.bankaraMatchSettings?.find(s => s.mode === 'OPEN'), }); +// X Battle +export const useXSchedulesStore = defineScheduleStore('xmatch', { + nodes: () => useSchedulesDataStore().data?.xSchedules.nodes, + settings: node => node.xMatchSetting, +}); + +// League Battle +export const useLeagueSchedulesStore = defineScheduleStore('league', { + nodes: () => useSchedulesDataStore().data?.leagueSchedules.nodes, + settings: node => node.leagueMatchSetting, +}); + // Splatfest Battle export const useSplatfestSchedulesStore = defineScheduleStore('splatfest', { nodes: () => useSchedulesDataStore().data?.festSchedules.nodes, @@ -72,6 +84,8 @@ if (import.meta.hot) { import.meta.hot.accept(acceptHMRUpdate(useRegularSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useAnarchySeriesSchedulesStore, 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(useLeagueSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useSplatfestSchedulesStore, import.meta.hot)); import.meta.hot.accept(acceptHMRUpdate(useSalmonRunSchedulesStore, import.meta.hot)); } diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 98af025..f0e9a47 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -8,12 +8,16 @@ -
- - - -
- +