blob: 777b66b23f5ccd3b4f2eade0ddc18587b106b2f4 (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import * as pageDetect from 'github-url-detection';
import observe from '../helpers/selector-observer.js';
import features from '../feature-manager.js';
import {createHeatIndexFunction} from '../helpers/math.js';
const calculateHeatIndex = createHeatIndexFunction([0, -2_000_000_000]);
function addHeatIndex(lastUpdateElement: HTMLElement): void {
// `datetime` attribute used by pre-React version
const lastUpdate = new Date(lastUpdateElement.getAttribute('datetime') ?? lastUpdateElement.title);
const diff = Date.now() - lastUpdate.getTime();
lastUpdateElement.setAttribute('data-rgh-heat', String(calculateHeatIndex(-diff)));
}
function init(signal: AbortSignal): void {
observe([
'#files ~ div .js-navigation-item relative-time', // TODO: Drop old view in 2024
'.react-directory-commit-age > [title]',
], addHeatIndex, {signal});
}
void features.add(import.meta.url, {
include: [
pageDetect.isRepoTree,
],
exclude: [
pageDetect.isRepoFile404,
],
init,
});
/*
Test URLs:
https://github.com/refined-github/refined-github
https://github.com/refined-github/refined-github/tree/main/source
*/
|