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