diff --git a/website/fetchSupporters.js b/website/fetchSupporters.js
index 212d63ffff69..35dfeddcf0ac 100644
--- a/website/fetchSupporters.js
+++ b/website/fetchSupporters.js
@@ -6,19 +6,22 @@ const fs = require('fs');
const request = require('request');
const path = require('path');
-const REQUIRED_KEYS = ['id'];
+const REQUIRED_KEYS = ['fromAccount', 'tier', 'totalDonations'];
request(
- 'https://opencollective.com/api/groups/jest/backers',
+ 'https://rest.opencollective.com/v2/jest/orders/incoming/active?limit=1000',
(err, response, body) => {
if (err) console.error('Failed to fetch backers: ', err);
// Basic validation
- const content = JSON.parse(body);
+ const result = JSON.parse(body);
+ if (!result || !Array.isArray(result.nodes)) {
+ throw new Error('backer info is not an array');
+ }
- if (!Array.isArray(content)) throw new Error('backer info is not an array');
+ const backers = result.nodes;
- for (const item of content) {
+ for (const item of backers) {
for (const key of REQUIRED_KEYS) {
if (!item || typeof item !== 'object')
throw new Error(
@@ -31,10 +34,14 @@ request(
}
}
- fs.writeFile(path.resolve(__dirname, 'backers.json'), body, err => {
- if (err) {
- console.error('Failed to write backers file: ', err);
- } else console.log('Fetched 1 file: backers.json');
- });
+ fs.writeFile(
+ path.resolve(__dirname, 'backers.json'),
+ JSON.stringify(backers),
+ err => {
+ if (err) {
+ console.error('Failed to write backers file: ', err);
+ } else console.log('Fetched 1 file: backers.json');
+ }
+ );
}
);
diff --git a/website/pages/en/index.js b/website/pages/en/index.js
index 99b244f8e52a..0ca160b18e76 100755
--- a/website/pages/en/index.js
+++ b/website/pages/en/index.js
@@ -36,6 +36,48 @@ Button.defaultProps = {
target: '_self',
};
+const Sponsor = ({
+ fromAccount: {name, slug, website, imageUrl},
+ totalDonations,
+}) => (
+
+ {
+
+ }
+
+);
+
+const Backer = ({
+ fromAccount: {name, slug, website, imageUrl},
+ totalDonations,
+}) => (
+
+ {
+
+ }
+
+);
+
class Contributors extends React.Component {
render() {
return (
@@ -50,28 +92,8 @@ class Contributors extends React.Component {