Skip to content

Commit 8f3099d

Browse files
committed
refactor(api): use graphql api for issue and pull request enrichment
Signed-off-by: Adam Setch <[email protected]>
1 parent 5a198b7 commit 8f3099d

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

src/renderer/utils/notifications/handlers/issue.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type { FC } from 'react';
33
import type { OcticonProps } from '@primer/octicons-react';
44
import {
55
IssueClosedIcon,
6-
IssueDraftIcon,
76
IssueOpenedIcon,
87
IssueReopenedIcon,
98
SkipIcon,
@@ -16,6 +15,10 @@ import type {
1615
Subject,
1716
} from '../../../typesGitHub';
1817
import { fetchIssueByNumber } from '../../api/client';
18+
import {
19+
IssueState,
20+
IssueStateReason,
21+
} from '../../api/graphql/generated/graphql';
1922
import { isStateFilteredOut, isUserFilteredOut } from '../filters/filter';
2023
import { DefaultHandler } from './default';
2124
import { getSubjectAuthor } from './utils';
@@ -58,15 +61,16 @@ class IssueHandler extends DefaultHandler {
5861
}
5962

6063
iconType(subject: Subject): FC<OcticonProps> | null {
61-
switch (subject.state) {
62-
case 'draft':
63-
return IssueDraftIcon;
64-
case 'closed':
65-
case 'completed':
64+
const state = subject.state as IssueState | IssueStateReason;
65+
66+
switch (state) {
67+
case IssueState.Closed:
68+
case IssueStateReason.Completed:
6669
return IssueClosedIcon;
67-
case 'not_planned':
70+
case IssueStateReason.Duplicate:
71+
case IssueStateReason.NotPlanned:
6872
return SkipIcon;
69-
case 'reopened':
73+
case IssueStateReason.Reopened:
7074
return IssueReopenedIcon;
7175
default:
7276
return IssueOpenedIcon;

src/renderer/utils/notifications/handlers/pullRequest.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import type {
1717
Subject,
1818
} from '../../../typesGitHub';
1919
import { fetchPullByNumber } from '../../api/client';
20-
import type {
21-
FetchPullByNumberQuery,
20+
import {
21+
type FetchPullByNumberQuery,
2222
PullRequestState,
2323
} from '../../api/graphql/generated/graphql';
2424
import { isStateFilteredOut, isUserFilteredOut } from '../filters/filter';
@@ -72,11 +72,15 @@ class PullRequestHandler extends DefaultHandler {
7272
}
7373

7474
iconType(subject: Subject): FC<OcticonProps> | null {
75-
switch (subject.state) {
75+
const state = subject.state as PullRequestStateType | PullRequestState;
76+
77+
switch (state) {
7678
case 'draft':
7779
return GitPullRequestDraftIcon;
80+
case PullRequestState.Closed:
7881
case 'closed':
7982
return GitPullRequestClosedIcon;
83+
case PullRequestState.Merged:
8084
case 'merged':
8185
return GitMergeIcon;
8286
default:

0 commit comments

Comments
 (0)