diff --git a/packages/builder/src/components/grants/stats/StatCard.tsx b/packages/builder/src/components/grants/stats/StatCard.tsx index bee1ddfaf..f90936bfc 100644 --- a/packages/builder/src/components/grants/stats/StatCard.tsx +++ b/packages/builder/src/components/grants/stats/StatCard.tsx @@ -27,7 +27,7 @@ export default function StatCard({ >
-
+
{heading}{" "}
diff --git a/packages/builder/src/components/grants/stats/Stats.tsx b/packages/builder/src/components/grants/stats/Stats.tsx index c2044d3cc..c80c41419 100644 --- a/packages/builder/src/components/grants/stats/Stats.tsx +++ b/packages/builder/src/components/grants/stats/Stats.tsx @@ -1,5 +1,5 @@ import { Spinner } from "@chakra-ui/react"; -import { BaseDonorValues, useDataLayer } from "data-layer"; +import { DirectDonationValues, useDataLayer } from "data-layer"; import { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { useParams } from "react-router-dom"; @@ -60,15 +60,17 @@ export default function RoundStats() { let totalDirectDonationCount = 0; try { - const directDonations: BaseDonorValues[] = + const directDonations: DirectDonationValues[] = await dataLayer.getDirectDonationsByProjectId({ projectId: props.projectID, chainIds: allChains.map((chain) => chain.id), }); + console.log("directDonations", directDonations); + totalDirectDonationCount = directDonations.length; + directDonations.forEach((donation) => { - totalDirectDonations += donation.totalAmountDonatedInUsd; - totalDirectDonationCount += donation.totalDonationsCount; + totalDirectDonations += donation.amountInUsd; }); } catch (e) { console.error("Error fetching direct donations", e); diff --git a/packages/data-layer/src/data-layer.ts b/packages/data-layer/src/data-layer.ts index 456b41f21..00710be8c 100644 --- a/packages/data-layer/src/data-layer.ts +++ b/packages/data-layer/src/data-layer.ts @@ -27,6 +27,7 @@ import { RoundApplicationPayout, ProjectApplicationWithRoundAndProgram, BaseDonorValues, + DirectDonationValues, } from "./data.types"; import { ApplicationSummary, @@ -976,12 +977,16 @@ export class DataLayer { }: { projectId: string; chainIds: number[]; - }): Promise { - const response: { rounds: BaseDonorValues[] } = await request( + }): Promise { + const response: { rounds: { donations: DirectDonationValues[] }[] } = await request( this.gsIndexerEndpoint, getDirectDonationsByProjectId, - { projectId, chainIds }, + { projectId, chainIds } ); - return response.rounds; - } + + // Flatten the donations from all rounds into a single array + const allDonations = response.rounds.flatMap(round => round.donations); + + return allDonations; + } } diff --git a/packages/data-layer/src/data.types.ts b/packages/data-layer/src/data.types.ts index 75070ecc8..9a753330c 100644 --- a/packages/data-layer/src/data.types.ts +++ b/packages/data-layer/src/data.types.ts @@ -264,6 +264,12 @@ export type BaseDonorValues = { uniqueDonorsCount: number; }; +export type DirectDonationValues = { + amount: number; + donorAddress: string; + amountInUsd: number; +}; + /** * The project application type for v2 * diff --git a/packages/data-layer/src/queries.ts b/packages/data-layer/src/queries.ts index 33fd676d1..61d001d9b 100644 --- a/packages/data-layer/src/queries.ts +++ b/packages/data-layer/src/queries.ts @@ -849,11 +849,10 @@ export const getDirectDonationsByProjectId = gql` ) { donations(filter: { projectId: { equalTo: $projectId } }) { id + amount + donorAddress + amountInUsd } - id - uniqueDonorsCount - totalAmountDonatedInUsd - totalDonationsCount } } `;