Все ссылки на ленты в меню

Слева в меню теперь 4 возможных варианта. Первые два - это те, что были до редизайна: свежее по дате и популярное из ваших подписок. Два новых пункта - это те же пункты, но без учёта подписок, туда попадают все посты. Если какие-то пункты вам не нужны, можете не копировать часть кода.

Все ссылки на ленты в меню
// ==UserScript== // @name dtf add Свежее // @version 1 // @include *://*.dtf.ru/* // @include *://dtf.ru/* // @namespace https://dtf.ru // @grant none // ==/UserScript== (function () { tryToAddNew(); })(); function tryToAddNew(){ setTimeout(function() { const menu = document.getElementsByClassName("sidebar__tree-list"); if(menu && menu.length) { const menuLinks = menu[0]; // заменяем "Ленту" на "Свежее" const newPosts = menuLinks.firstElementChild; newPosts.textContent = "Свежее"; newPosts.href = "https://dtf.ru/new"; newPosts.classList.remove("sidebar__tree-list__item--active"); // добавляем "Популярное" const popPosts = addItem(newPosts, "Популярное", "https://dtf.ru?forced"); // добавляем "Свежее" без учёта подписок const newPostsAll = addItem(popPosts, "Свежее (все)", "https://dtf.ru/all/new"); // добавляем "Популярное" без учёта подписок const popPostsAll = addItem(newPostsAll, "Популярное (все)", "https://dtf.ru/all?forced"); } else { tryToAddNew(); } }, 100); } function addItem(firstElem, name, link) { const newElem = firstElem.cloneNode(); newElem.textContent = name; newElem.href = link; firstElem.insertAdjacentElement("afterend", newElem); return newElem; }

Единственный минус - оно не учитывает активную страницу и не подсвечивает соответствующий пункт в меню. Если тут есть фронтендщики, то можете допилить, чтобы нужному элементу добавлялся класс sidebar__tree-list__item--active.

3838
37 комментариев

Превратили дтф в скайрим какой то....

17
Ответить

Зато MOD'ы писать интересно =)

2
Ответить

dtf remove shit Valorant ads

10
Ответить

Там старый скрипт был для вырезания рекламы.

4
Ответить

Единственный минус - оно не учитывает активную страницу и не подсвечивает соответствующий пункт в меню.Ты так говоришь как будто очоба это умеет сейчас...

6
Ответить

Можно дописать проверку текущей страницы и вешать класс на нужный пункт меню. Но мне и так норм. Не могу на это много времени тратить, нужно кранчить.

2
Ответить

Апанасик, ты мой кумир!

4
Ответить