gitea源码

issue.ts 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import type {Issue} from '../types.ts';
  2. // the getIssueIcon/getIssueColor logic should be kept the same as "templates/shared/issueicon.tmpl"
  3. export function getIssueIcon(issue: Issue) {
  4. if (issue.pull_request) {
  5. if (issue.state === 'open') {
  6. if (issue.pull_request.draft) {
  7. return 'octicon-git-pull-request-draft'; // WIP PR
  8. }
  9. return 'octicon-git-pull-request'; // Open PR
  10. } else if (issue.pull_request.merged) {
  11. return 'octicon-git-merge'; // Merged PR
  12. }
  13. return 'octicon-git-pull-request-closed'; // Closed PR
  14. }
  15. if (issue.state === 'open') {
  16. return 'octicon-issue-opened'; // Open Issue
  17. }
  18. return 'octicon-issue-closed'; // Closed Issue
  19. }
  20. export function getIssueColor(issue: Issue) {
  21. if (issue.pull_request) {
  22. if (issue.state === 'open') {
  23. if (issue.pull_request.draft) {
  24. return 'grey'; // WIP PR
  25. }
  26. return 'green'; // Open PR
  27. } else if (issue.pull_request.merged) {
  28. return 'purple'; // Merged PR
  29. }
  30. return 'red'; // Closed PR
  31. }
  32. if (issue.state === 'open') {
  33. return 'green'; // Open Issue
  34. }
  35. return 'red'; // Closed Issue
  36. }