Ссылки по самому сайту теперь не открывают новую вкладку

This commit is contained in:
Иван Кузьменко 2025-07-12 11:35:34 +03:00
parent e6cc0ef138
commit 778219127c
3 changed files with 30 additions and 12 deletions

View file

@ -62,4 +62,22 @@ export function tryGetIcon(link: string): string {
}
return getIconFromUrl(url) ?? icons['none'];
}
/**
* Проверка на "локальность" ссылки - принадлежность её этому сайту. Используется, например,
* в социальных ссылках, чтобы не открывать новую вкладку для страниц сайта.
* @param link Локальная либо глобальная ссылка
* @returns true, если ссылка не ведёт за пределы сайта
*/
export function isLinkLocal(link: string): boolean {
let url: URL;
try {
url = new URL(link);
} catch {
return true;
}
// Поддомены teasanctuary.ru должны всегда быть "внешними"
return url.hostname === "" || url.hostname === "teasanctuary.ru";
}