@@ -286,28 +286,40 @@ TEST: addTests('isQuickPR', [
286
286
'https://github.com/sindresorhus/refined-github/compare/test-branch?quick_pull=1' ,
287
287
] ) ;
288
288
289
- const prStateSelector = [
289
+ const stateSelector = [
290
290
'.State' ,
291
- '[class^="StateLabel "]' ,
291
+ '[data-testid="header-state "]' ,
292
292
] . join ( ',' ) ;
293
293
294
- export const isDraftPR = ( ) : boolean => $ ( prStateSelector ) ! . textContent ! . trim ( ) === 'Draft' ;
294
+ export const isDraftPR = ( ) : boolean => $ ( stateSelector ) ? .textContent ! . trim ( ) === 'Draft' ;
295
295
export const isOpenPR = ( ) : boolean => {
296
- const status = $ ( prStateSelector ) ! . textContent ! . trim ( ) ;
296
+ if ( ! isPR ( ) ) {
297
+ return false ;
298
+ }
299
+
300
+ const status = $ ( stateSelector ) ! . textContent ! . trim ( ) ;
297
301
return status === 'Open' || status === 'Draft' ;
298
302
} ;
299
303
300
- export const isMergedPR = ( ) : boolean => {
301
- const status = $ ( prStateSelector ) ! . textContent ! . trim ( ) ;
302
- return status === 'Merged' ;
303
- } ;
304
+ export const isMergedPR = ( ) : boolean => $ ( stateSelector ) ?. textContent ! . trim ( ) === 'Merged' ;
304
305
305
306
export const isClosedPR = ( ) : boolean => {
306
- const status = $ ( prStateSelector ) ! . textContent ! . trim ( ) ;
307
+ if ( ! isPR ( ) ) {
308
+ return false ;
309
+ }
310
+
311
+ const status = $ ( stateSelector ) ! . textContent ! . trim ( ) ;
307
312
return status === 'Closed' || status === 'Merged' ;
308
313
} ;
309
314
310
- export const isClosedIssue = ( ) : boolean => exists ( '#partial-discussion-header :is(.octicon-issue-closed, .octicon-skip)' ) ;
315
+ export const isClosedIssue = ( ) : boolean => {
316
+ if ( ! isIssue ( ) ) {
317
+ return false ;
318
+ }
319
+
320
+ const status = $ ( stateSelector ) ! . textContent ! . trim ( ) ;
321
+ return status === 'Closed' || status === 'Closed as not planned' ;
322
+ } ;
311
323
312
324
export const isReleases = ( url : URL | HTMLAnchorElement | Location = location ) : boolean => getRepo ( url ) ?. path === 'releases' ;
313
325
TEST: addTests ( 'isReleases' , [
0 commit comments