` +
`` +
iconHtml +
`` +
`${escapeHtml(name)}` +
`${escapeHtml(domain)}` +
`` +
(rank === undefined
? ''
: `#${rank}`) +
`
` +
`` +
statsHtml +
`${escapeHtml(t('card.reviews', { n: mint.review_count }))}` +
`
` +
`` +
(pos > 0 ? `` : '') +
(neg > 0 ? `` : '') +
`
` +
`` +
``
);
}
/**
* One ecosystem's full listing, or null.
*
* Null on anything at all going wrong, and the caller's job is then to do nothing: the
* prerendered grid is already on screen and correct as of the last build, so a failed
* refresh should be invisible rather than an error message about a list the reader can
* see. This is the same rule the reviews panel and the pulse ticker follow.
*/
export async function fetchListing(type: string): Promise