Загрузка...

We are returning a more familiar look to the main page (in the style of Lolzteam 2024) + script for preview

Thread in Extentions created by рика Nov 2, 2025. 1,287 views

  1. рика
    Code

    // ==UserScript==
    // @name Lolz.live: Предпросмотр тем с сохранением стилей
    // @namespace http://tampermonkey.net/
    // @version 1.1
    // @description Предпросмотр темы при наведении с сохранением стилей никнеймов
    // @author You
    // @match https://lolz.live/*
    // @grant none
    // ==/UserScript==

    (function() {
    'use strict';

    /////////////////////////////
    // 1. Скрываем цитаты/рекламу
    /////////////////////////////
    const style = document.createElement('style');
    style.textContent = `
    .threadMessage.bbCodeQuote.noQuote { display: none !important; }

    .thread-preview-popup {
    position: fixed;
    z-index: 9999;
    max-width: 480px;
    max-height: 500px;
    overflow: auto;
    background: #1c1c1c;
    color: #fff;
    border: 1px solid #555;
    border-radius: 8px;
    padding: 10px;
    font-size: 13px;
    line-height: 1.3em;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
    }
    .thread-preview-popup img {
    max-width: 400px;
    max-height: 300px;
    display: block;
    margin: 8px auto;
    }
    .thread-preview-popup .thread-preview-header {
    font-weight: bold;
    margin-bottom: 6px;
    display: flex;
    justify-content: space-between;
    padding: 0 5px;
    }
    .thread-preview-popup blockquote {
    margin: 0 0 5px 0;
    }
    .thread-preview-popup p, .thread-preview-popup div {
    margin: 0 0 5px 0;
    }
    .thread-preview-popup .author, .thread-preview-popup .date {
    font-size: 13px;
    }
    `;
    document.head.appendChild(style);

    /////////////////////////////
    // 2. Создаем контейнер предпросмотра
    /////////////////////////////
    const popup = document.createElement('div');
    popup.className = 'thread-preview-popup';
    popup.style.display = 'none';
    document.body.appendChild(popup);

    let showTimeout;

    /////////////////////////////
    // 3. Функция получения первого поста темы
    /////////////////////////////
    async function fetchFirstPost(url) {
    try {
    const resp = await fetch(url);
    const html = await resp.text();
    const parser = new DOMParser();
    const doc = parser.parseFromString(html, 'text/html');
    return doc.querySelector('.message.firstPost');
    } catch (e) {
    console.error('Ошибка загрузки темы:', e);
    return null;
    }
    }

    /////////////////////////////
    // 4. Навешиваем обработчики на ссылки тем
    /////////////////////////////
    document.querySelectorAll('.discussionListItem--Wrapper a[href*="threads/"]').forEach(a => {
    a.addEventListener('mouseenter', async e => {
    const mouseX = e.clientX;
    const mouseY = e.clientY;

    clearTimeout(showTimeout);
    showTimeout = setTimeout(async () => {
    // Позиционируем popup
    popup.style.display = 'block';
    const popupWidth = 480;
    const popupHeight = 500;
    let left = mouseX;
    let top = mouseY;
    if (left + popupWidth > window.innerWidth) left = window.innerWidth - popupWidth - 10;
    if (top + popupHeight > window.innerHeight) top = window.innerHeight - popupHeight - 10;
    if (left < 0) left = 10;
    if (top < 0) top = 10;
    popup.style.left = `${left}px`;
    popup.style.top = `${top}px`;

    popup.innerHTML = '<i>Загрузка предпросмотра...</i>';

    // Получаем первый пост
    const firstPost = await fetchFirstPost(a.href);
    if (!firstPost) {
    popup.innerHTML = '<i>Не удалось загрузить предпросмотр</i>';
    return;
    }

    // Заголовок с автором и датой
    const header = document.createElement('div');
    header.className = 'thread-preview-header';
    const authorEl = firstPost.querySelector('.poster, .username');
    const author = authorEl ? authorEl.cloneNode(true) : document.createElement('span');
    const dateEl = firstPost.querySelector('.DateTime');
    const date = dateEl ? dateEl.getAttribute('data-datestring') + ' ' + dateEl.getAttribute('data-timestring') : '—';
    const dateSpan = document.createElement('span');
    dateSpan.className = 'date';
    dateSpan.textContent = date;

    header.appendChild(author);
    header.appendChild(dateSpan);
    popup.innerHTML = '';
    popup.appendChild(header);

    const style = document.createElement('style');
    style.textContent = `
    .threadMessage.bbCodeQuote.noQuote { display: none !important; }

    .thread-preview-popup {
    position: fixed;
    z-index: 9999;
    max-width: 480px;
    max-height: 500px;
    overflow: auto;
    background: #1c1c1c;
    color: #fff;
    border: 1px solid #555;
    border-radius: 8px;
    padding: 10px;
    font-size: 13px;
    line-height: 1.3em;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);

    /* Скроллбар */
    scrollbar-width: thin;
    scrollbar-color: #555 #1c1c1c;
    }

    /* Для Webkit-браузеров */
    .thread-preview-popup::-webkit-scrollbar {
    width: 8px;
    }
    .thread-preview-popup::-webkit-scrollbar-track {
    background: #1c1c1c;
    border-radius: 8px;
    }
    .thread-preview-popup::-webkit-scrollbar-thumb {
    background-color: #555;
    border-radius: 8px;
    border: 2px solid #1c1c1c;
    }

    .thread-preview-popup img {
    max-width: 400px;
    max-height: 300px;
    display: block;
    margin: 8px auto;
    }
    .thread-preview-popup .thread-preview-header {
    font-weight: bold;
    margin-bottom: 6px;
    display: flex;
    justify-content: space-between;
    padding: 0 5px;
    }
    .thread-preview-popup blockquote {
    margin: 0 0 5px 0;
    }
    .thread-preview-popup p, .thread-preview-popup div {
    margin: 0 0 5px 0;
    }
    .thread-preview-popup .author, .thread-preview-popup .date {
    font-size: 13px;
    }
    `;
    document.head.appendChild(style);

    // Содержимое поста
    const content = firstPost.querySelector('.messageContent') || firstPost.querySelector('.messageText');
    if (content) {
    const clone = content.cloneNode(true);

    // Центрируем изображения и ограничиваем размер
    clone.querySelectorAll('img').forEach(img => {
    img.style.maxWidth = '400px';
    img.style.maxHeight = '300px';
    img.style.display = 'block';
    img.style.margin = '8px auto';
    });

    // Убираем лишние отступы
    clone.querySelectorAll('p, div, blockquote').forEach(el => {
    el.style.marginTop = '0';
    el.style.marginBottom = '5px';
    });

    popup.appendChild(clone);
    }
    }, 250);
    });

    // Скрываем popup при уходе с ссылки
    a.addEventListener('mouseleave', () => {
    clearTimeout(showTimeout);
    setTimeout(() => {
    if (!popup.matches(':hover')) popup.style.display = 'none';
    }, 50);
    });
    });

    // Закрываем popup, когда мышь покидает его
    popup.addEventListener('mouseleave', () => {
    popup.style.display = 'none';
    });

    })();
    Описание: Скрипт для скрытия содержимого тем на главной и их предпросмотра для Tampermonkey
    Демонстрация: [IMG]
    [IMG]
    Инструкция по установке: скопировать код или скачать скрипт с greasyfork и установить в Tampermonkey (по ссылке ниже)
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
    1. View previous comments (3)
    2. OPTIMISED
    3. рика Topic starter
    4. llimonix
      avatarрика ,
  2. рика
    Одобрил тему avatarTekumi , можете также посмотреть её, возможно она вам даже больше подойдёт -
    Bringing back style 2019
    Tekumi Extentions Nov 2, 2025
    Image
    Image
    Image
    Image
    Image


    каюсь, вайбкодил, так что у вас может отъебнуть половину форума, могут возникнуть пробелы с производительностью или баги, но вроде норм работает
    было бы хо...
     
    1. Tekumi
      avatarрика , апрувни еще раз пожалуйста, я скрин обновил и она опять на модерацию отправилась походу
  3. КРИПКРИПОЧЕК
    Здравствуйте, а смысл, предпросмотра темы нет, или будет когда наведёшься на название?
     
    1. рика Topic starter
  4. Night
    Night Nov 2, 2025 Banned 14,192 Jan 8, 2018
    ЛЕВ
     
  5. Kote
    кто вообще стиль 2024 придумал, дерьмище полное
     
    1. awaw
      avatarKote, avataruncpfiae тут челику не нравится ни стиль, ни форум
    2. Kote
      avatarawaw , здрвствуйте, стиль не нравится 70% процентам юзеров, а про форум я ничего не говорил
  6. kappaPrideZ
    kappaPrideZ Nov 2, 2025 Криптообменник —> https://lolz.live/threads/9756616/ 5,712 Sep 24, 2019
    спасибо и на этом, папаша. а дай строку на скрытие горячих тем ещё
     
    1. рика Topic starter
      avatarkappaPrideZ, lolz.live###content > div.pageWidth > div.pageContent > div.mainContainer:nth-child(2) > div.mainContent > div.hotThreadsContainer:nth-child(5)
    2. kappaPrideZ
      avatarрика , спасибо, а в юблок их можно закинуть? или это для адгварда только?
      [IMG]
    3. рика Topic starter
      avatarkappaPrideZ, я думаю там такие же правила должны добавляться в настройках
  7. рика
    Добавил скрипт для предпросмотра тем для Tampermonkey, можете ставить и сами доработать как вашей душе угодно :lookface:
     
  8. совершенно
    бля харош
     
  9. котек
    Огромное спасибо, а можно как-то без расширения адгуарда это сделать?
     
    1. рика Topic starter
      avatarкотек, попробую в тамперманки засунуть
    2. рика Topic starter
      avatarкотек, вроде сделал посмотри
  10. Alex
    Alex Nov 2, 2025 62,500 Apr 2, 2020
    в тамперманки можно засунуть?
     
    1. рика Topic starter
    2. Alex
      avatarрика , чёт он сайт не видит похоже
      [IMG]
      [IMG]чё тут подправить надо
    3. Alex
      avatarрика , поправь там над url убрать
  11. рика
    чуть обновил скрипт чтобы окно предпросмотра не оставалось при наведении мышью за его границы
     
  12. KeNowLedge
    KeNowLedge Nov 2, 2025 1,415 Jan 5, 2018
    заебись, спасибо, не 2019 конечно, но всяко лучше чем нынешний :2011_nice:
     
  13. Python
    Python Nov 2, 2025 Смотрит профиль пользователя avatarPython 8,855 Jul 21, 2022
    А можно просто включить как раньше?
     
    1. котек
      avatarPython, не всем можно, я вот например 2019 врубаю но у меня 2024 стиль
    2. рика Topic starter
      avatarPython, у кого-то остался стиль, но потом его полностью снесут в итоге, вроде по 150к пользователям каждую неделю сносят
    3. Python
      avatarрика , так а для чего это сделали то(
  14. God_likeGL
    God_likeGL Layer 1 Nov 2, 2025 Лучшие сервера: lolz.live/threads/5071761/ :+rep: 35,783 Oct 30, 2018
    :fsdglgfdk19000: match

    исправь
     
  15. mori
    для Tampermonkey сделаешь?
     
    1. View previous comments (2)
    2. рика Topic starter
      avatarmori, попробуй снова скопировать, я скрипт правил
    3. рика Topic starter
      avatarmori, [IMG]
      вот у меня чисто со скриптом пашет
    4. mori
      avatarрика , теперь все работает
  16. немульт
    нахуй вообще все было изменять, давайте превратим лолзтим в вк, чтобы его тоже выкупила майл ру и он скатился
     
  17. gonome
    А как для тамперманки оставить лишь название темы, убрав лайки/комменты и пост?
     
    1. рика Topic starter
      avatargonome,
      Code

      .threadCounters,
      .threadHeaderBottom:not(.threadHeaderUsernameBlock),
      .threadHeaderMain_down_message,
      .threadLastPost,
      .controls_prefixes,
      .MainPageReply,
      .LikeLabel,
      .discussionListItem--likeCount,
      .discussionListItem--replyCount,
      .threadMessage,
      .threadHeaderBottom .muted {
      display: none !important;
      }

      .threadHeaderTitle a,
      .threadHeaderUsernameBlock,
      .threadHeaderMain .threadHeaderUsernameBlock,
      .threadHeaderMain .threadHeaderTitle {
      display: block !important;
      }

      .discussionListItem--Wrapper {
      padding: 5px 0 !important;
      }
    2. gonome
      avatarрика , это куда вставлять? Можно скрипт для Вид 2 целиком, пожалуйста?
  18. Tekumi
    Tekumi Nov 2, 2025 :happycat::happycat::happycat::happycat::happycat: 14,435 Aug 2, 2022
    такую хуйню навайбкодил, надеюсь одобрят тему
    [IMG]
     
    1. View previous comments (6)
    2. Cartier
      avatarTekumi, ну да так и должно быть
    3. kappaPrideZ
      avatarTekumi, тэкс, а это где одобрить должны, тут, в жизнь форума-дополнения?
    4. Tekumi
      avatarkappaPrideZ, ага, пока на модерации
  19. рика
    сделал предпросмотр покрасивее [IMG]
     
  20. Filadelfi
    Filadelfi Nov 2, 2025 №1 Криптообменник —> https://lolz.live/threads/9756616/ 7,549 Aug 13, 2023
    удали ответы снизу что бы больше тем помещалось
     
Loading...