master
1import { define } from '#src'
2
3export default define({
4 url: import.meta.url,
5 badges: ['star-gazer', 'self-star'] as const,
6 present(data, grant) {
7 if (data.user.starredRepositories?.totalCount >= 1000) {
8 grant('star-gazer', "I'm a star gazer!").evidence(
9 "I've starred over 1000 repositories!",
10 )
11 }
12
13 const selfStars: { nameWithOwner: string; url: string }[] = []
14 for (const repo of data.starredRepositories) {
15 if (repo.owner.login === data.user.login) {
16 selfStars.push({ nameWithOwner: repo.nameWithOwner, url: repo.url })
17 }
18 }
19
20 if (selfStars.length >= 1) {
21 grant(
22 'self-star',
23 `I've starred ${selfStars.length} my own repositories.`,
24 ).evidence(
25 selfStars
26 .map((x) => `- <a href="${x.url}">${x.nameWithOwner}</a>`)
27 .join('\n'),
28 )
29 }
30 },
31})