diff --git a/src/features/ServerPage/features/WarStatsPage/WarStatsPage.tsx b/src/features/ServerPage/features/WarStatsPage/WarStatsPage.tsx index 4add88e..e4961ab 100644 --- a/src/features/ServerPage/features/WarStatsPage/WarStatsPage.tsx +++ b/src/features/ServerPage/features/WarStatsPage/WarStatsPage.tsx @@ -80,6 +80,15 @@ function WarStatsPage() { players: Player[] = [], tribes: Tribe[] = [] ): SideResult => { + let totalVillages = 0; + tribes.forEach(t => { + totalVillages += t.totalVillages; + }); + players + .filter(p => !p.tribe || !tribes.some(t => t.id === p.tribe?.id)) + .forEach(p => { + totalVillages += p.totalVillages; + }); return { gained: totalGained, lost: totalLost, @@ -87,6 +96,7 @@ function WarStatsPage() { difference: totalGained - totalLost, players, tribes, + totalVillages, }; }; diff --git a/src/features/ServerPage/features/WarStatsPage/components/Results/OneSideResult.tsx b/src/features/ServerPage/features/WarStatsPage/components/Results/OneSideResult.tsx index bf21879..1872023 100644 --- a/src/features/ServerPage/features/WarStatsPage/components/Results/OneSideResult.tsx +++ b/src/features/ServerPage/features/WarStatsPage/components/Results/OneSideResult.tsx @@ -52,6 +52,10 @@ function OneSideResult({ data, t, server, title }: Props) { ))} )} + + {t('results.villages')}:{' '} + {formatNumber('commas', data.totalVillages)} + {t('results.gained')}:{' '} {formatNumber('commas', data.gained)} diff --git a/src/features/ServerPage/features/WarStatsPage/queries.ts b/src/features/ServerPage/features/WarStatsPage/queries.ts index fe087b4..022da20 100644 --- a/src/features/ServerPage/features/WarStatsPage/queries.ts +++ b/src/features/ServerPage/features/WarStatsPage/queries.ts @@ -18,6 +18,10 @@ export const PLAYERS = gql` items { id name + totalVillages + tribe { + id + } } } } @@ -41,6 +45,7 @@ export const TRIBES = gql` items { id tag + totalVillages } } } diff --git a/src/features/ServerPage/features/WarStatsPage/types.ts b/src/features/ServerPage/features/WarStatsPage/types.ts index 1c340cf..fcc1415 100644 --- a/src/features/ServerPage/features/WarStatsPage/types.ts +++ b/src/features/ServerPage/features/WarStatsPage/types.ts @@ -3,6 +3,7 @@ import { List, EnnoblementFilter } from '@libs/graphql/types'; export type Tribe = { id: number; tag: string; + totalVillages: number; }; export type TribeList = { @@ -12,6 +13,10 @@ export type TribeList = { export type Player = { id: number; name: string; + totalVillages: number; + tribe?: { + id: number; + }; }; export type PlayerList = { @@ -68,6 +73,7 @@ export type SideResult = { againstOppositeSide: number; players: Player[]; tribes: Tribe[]; + totalVillages: number; }; export type Results = {