Files
shields/services/gitea/gitea-helper.js
CanisHelix 372052c6b1 [GITEA] add forks, stars, issues and pr badges (#9923)
* feat(gitea): add forks, stars, issues and pr badges

* doc(comment): update comments

* fix(gitea): update based on feedback

* refactor(fetch): refactor fetch to be more generic

* refactor(fetch): remove unused function

* use isMetric

---------

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2024-02-11 15:17:31 +00:00

36 lines
1.1 KiB
JavaScript

import { metric } from '../text-formatters.js'
const description = `
By default this badge looks for repositories on [gitea.com](https://gitea.com).
To specify another instance like [codeberg](https://codeberg.org/), [forgejo](https://forgejo.org/) or a self-hosted instance, use the \`gitea_url\` query param.
`
function httpErrorsFor() {
return {
403: 'private repo',
404: 'user or repo not found',
}
}
function renderIssue({ variant, labels, defaultBadgeData, count }) {
const state = variant.split('-')[0]
const raw = variant.endsWith('-raw')
const isMultiLabel = labels && labels.includes(',')
const labelText = labels ? `${isMultiLabel ? `${labels}` : labels} ` : ''
let labelPrefix = ''
let messageSuffix = ''
if (raw) {
labelPrefix = `${state} `
} else {
messageSuffix = state
}
return {
label: `${labelPrefix}${labelText}${defaultBadgeData.label}`,
message: `${metric(count)}${messageSuffix ? ' ' : ''}${messageSuffix}`,
color: count > 0 ? 'yellow' : 'brightgreen',
}
}
export { description, httpErrorsFor, renderIssue }