diff --git a/docusaurus.config.js b/docusaurus.config.js index 4a9ae2eeb..8630184b9 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -79,6 +79,13 @@ const config = { darkTheme: darkCodeTheme, additionalLanguages: ['http', 'java', 'ruby', 'php', 'csharp'], }, + mermaid: { + options: { + er: { + layoutDirection: 'RL' + } + }, + } }), plugins: plugins, diff --git a/src/components/ambassador/AmbassadorCards/index.js b/src/components/ambassador/AmbassadorCards/index.js index dd5d8268a..d717d8975 100644 --- a/src/components/ambassador/AmbassadorCards/index.js +++ b/src/components/ambassador/AmbassadorCards/index.js @@ -12,23 +12,35 @@ export default function AmbassadorCards({ const [loadingCards, setLoadingCards] = React.useState(true); const getPosts = async () => { - const data = await getAmbassadors(expert); - + let data = await getAmbassadors(expert, 1, 0); const resultset = [] - if (data.members) { - const memberDetails = await getAmbassadorDetails(data.members.map(item => item.id)) - for (const member of data.members) { - const memberDetail = memberDetails.users.filter(item => item.id === member.id)[0] - if (member.avatar_template.includes("developer.sailpoint.com") && memberDetail.bio_excerpt && memberDetail.bio_excerpt.length > 150) { - resultset.push(await getMemberList(member, memberDetail)) - } + + if (data.meta) { + let count = 0 + while (count < data.meta.total) { + data = await getAmbassadors(expert, 50, count); + count += 50 + if (data.members) { + const memberDetails = await getAmbassadorDetails(data.members.map(item => item.id)) + for (const member of data.members) { + const memberDetail = memberDetails.users.filter(item => item.id === member.id)[0] + if (member.avatar_template.includes("developer.sailpoint.com") && memberDetail.bio_excerpt && memberDetail.bio_excerpt.length > 150) { + resultset.push(await getMemberList(member, memberDetail)) + } + } + } } - resultset.sort((a, b) => a.date - b.date) - setCardData(resultset); - } else { setCardData(undefined); + setLoadingCards(false); + return } + + + + resultset.sort((a, b) => a.date - b.date) + setCardData(resultset); + setLoadingCards(false); }; diff --git a/src/services/DiscourseService.js b/src/services/DiscourseService.js index 52a47932a..03b04eecd 100644 --- a/src/services/DiscourseService.js +++ b/src/services/DiscourseService.js @@ -10,16 +10,16 @@ export async function getTopPosts() { return []; } } -export async function getAmbassadors(expert) { +export async function getAmbassadors(expert, limit, offset) { try { if (expert) { const response = await fetch( - discourseBaseURL() + 'groups/ambassador_expert/members.json', + discourseBaseURL() + 'groups/ambassador_expert/members.json?limit=' + limit + '&offset=' + offset, ); return await response.json(); } else { const response = await fetch( - discourseBaseURL() + 'groups/ambassador/members.json', + discourseBaseURL() + 'groups/ambassador/members.json?limit=' + limit + '&offset=' + offset, ); return await response.json(); }