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})