summaryrefslogtreecommitdiff
path: root/source/features/sort-milestones-by-closest-due-date.tsx
blob: d9c7dcf8c15f31f3b23e7781ca9dbb412408e966 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import select from 'select-dom';
import * as pageDetect from 'github-url-detection';

import features from '.';

function init(): void {
	for (const a of select.all('a[href$="/milestones"], a[href*="/milestones?"]')) {
		const searchParameters = new URLSearchParams(a.search);
		// Only if they aren't explicitly sorted differently
		if (!searchParameters.get('direction') && !searchParameters.get('sort')) {
			searchParameters.set('direction', 'asc');
			searchParameters.set('sort', 'due_date');
			a.search = String(searchParameters);
		}
	}
}

void features.add(__filebasename, {
	include: [
		pageDetect.isRepo,
	],
	deduplicate: 'has-rgh-inner',
	init,
});