summaryrefslogtreecommitdiff
path: root/source/features/no-duplicate-list-update-time.tsx
blob: 8357d1f0dc50dc47e2197c7ab69923db4136e171 (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
25
26
27
import select from 'select-dom';
import * as pageDetect from 'github-url-detection';

import features from '.';

function parseTime(element: HTMLElement): number {
	return new Date(element.getAttribute('datetime')!).getTime();
}

function init(): void {
	for (const issue of select.all('.js-navigation-item[id^="issue_"]')) {
		const [stateChangeTime, updateTime] = select.all('relative-time', issue);
		if (parseTime(updateTime) - parseTime(stateChangeTime) < 10_000) { // Hide if within 10 seconds
			updateTime.parentElement!.remove();
		}
	}
}

void features.add(__filebasename, {
	include: [
		pageDetect.isConversationList,
	],
	exclude: [
		() => !location.search.includes('sort%3Aupdated-'),
	],
	init,
});