summaryrefslogtreecommitdiff
path: root/source/features/linkify-user-edit-history-popup.tsx
blob: 2b945cdda37e75ce5d3b3e0be611eb815a9981e8 (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
import React from 'dom-chef';
import * as pageDetect from 'github-url-detection';

import {wrap} from '../helpers/dom-utils.js';
import features from '../feature-manager.js';
import observe from '../helpers/selector-observer.js';

function linkify(avatar: HTMLImageElement): void {
	const userName = avatar.alt.slice(1);
	// Linkify name first
	wrap(avatar.nextElementSibling!, <a className="Link--primary" href={`/${userName}`}/>);

	// Then linkify avatar
	wrap(avatar, <a href={`/${userName}`}/>);
}

function init(signal: AbortSignal): void {
	observe('details-dialog .Box-header .mr-3 > img:not([alt*="[bot]"])', linkify, {signal});
}

void features.add(import.meta.url, {
	include: [
		pageDetect.isConversation,
	],
	init,
});