From 5f95313d3f3265c8fa46e3b748bb8c0eb03c7ed2 Mon Sep 17 00:00:00 2001 From: bmuenzenmeyer Date: Sun, 12 Oct 2025 09:43:47 -0500 Subject: [PATCH 1/3] feat(supporters): sort supporters and add link to profile --- apps/site/components/Common/Supporters/index.tsx | 9 +++++++-- apps/site/next-data/generators/supportersData.mjs | 6 +++++- apps/site/types/partners.ts | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/site/components/Common/Supporters/index.tsx b/apps/site/components/Common/Supporters/index.tsx index 75a01c83f42ee..67f985b91c466 100644 --- a/apps/site/components/Common/Supporters/index.tsx +++ b/apps/site/components/Common/Supporters/index.tsx @@ -11,8 +11,13 @@ type SupportersListProps = { const SupportersList: FC = ({ supporters }) => (
- {supporters.map(({ name, image }, i) => ( - + {supporters.map(({ name, image, profile }, i) => ( + ))}
); diff --git a/apps/site/next-data/generators/supportersData.mjs b/apps/site/next-data/generators/supportersData.mjs index 1ffce2476b179..8e5be2378699a 100644 --- a/apps/site/next-data/generators/supportersData.mjs +++ b/apps/site/next-data/generators/supportersData.mjs @@ -13,10 +13,14 @@ async function fetchOpenCollectiveData() { const members = payload .filter(({ role, isActive }) => role === 'BACKER' && isActive) - .map(({ name, website, image }) => ({ + .sort((a, b) => { + return a.totalAmountDonated >= b.totalAmountDonated; + }) + .map(({ name, website, image, profile }) => ({ name, image, url: website, + profile, source: 'opencollective', })); diff --git a/apps/site/types/partners.ts b/apps/site/types/partners.ts index b0276715e9e84..705dada162e5a 100644 --- a/apps/site/types/partners.ts +++ b/apps/site/types/partners.ts @@ -34,6 +34,7 @@ export type Supporters = { name: string; image: string; url: string; + profile: string; source: 'opencollective' | 'github'; }; From d7b9ce48d29604cc6135d28d6721245b3b1389d8 Mon Sep 17 00:00:00 2001 From: bmuenzenmeyer Date: Sun, 12 Oct 2025 09:48:46 -0500 Subject: [PATCH 2/3] chore: fix sort logic --- apps/site/next-data/generators/supportersData.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/next-data/generators/supportersData.mjs b/apps/site/next-data/generators/supportersData.mjs index 8e5be2378699a..a137c514027a5 100644 --- a/apps/site/next-data/generators/supportersData.mjs +++ b/apps/site/next-data/generators/supportersData.mjs @@ -14,7 +14,7 @@ async function fetchOpenCollectiveData() { const members = payload .filter(({ role, isActive }) => role === 'BACKER' && isActive) .sort((a, b) => { - return a.totalAmountDonated >= b.totalAmountDonated; + return b.totalAmountDonated - a.totalAmountDonated; //descending }) .map(({ name, website, image, profile }) => ({ name, From 7bf42a7d327a4039eefef82dd65d63228141a5a7 Mon Sep 17 00:00:00 2001 From: bmuenzenmeyer Date: Sun, 12 Oct 2025 16:26:34 -0400 Subject: [PATCH 3/3] chore: cleanup --- apps/site/next-data/generators/supportersData.mjs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/site/next-data/generators/supportersData.mjs b/apps/site/next-data/generators/supportersData.mjs index a137c514027a5..fd788a7c14074 100644 --- a/apps/site/next-data/generators/supportersData.mjs +++ b/apps/site/next-data/generators/supportersData.mjs @@ -13,9 +13,7 @@ async function fetchOpenCollectiveData() { const members = payload .filter(({ role, isActive }) => role === 'BACKER' && isActive) - .sort((a, b) => { - return b.totalAmountDonated - a.totalAmountDonated; //descending - }) + .sort((a, b) => b.totalAmountDonated - a.totalAmountDonated) .map(({ name, website, image, profile }) => ({ name, image,