Raw Source
amidar / Kupujemprodajem Paginacija i pre rezultata

// ==UserScript==
// @name            Kupujemprodajem Paginacija i pre rezultata
// @name:sr         Kupujemprodajem пагинација и пре резултата
// @namespace       http://tampermonkey.net/
// @version         26.8.28.1
// @description     Kopira i ubaci HTML child nod za paginaciju kao prvi u tom div-u gde se i inače nalazi. U prevodu i na početku rezultata pretrage.
// @description:sr  Копира и убаци HTML child нод за пагинацију као први у том div-у где се и иначе налази. У преводу и на почетку резултата претраге.
// @author          Miodrag Jevremović
// @author:sr       Миодраг Јевремовић
// @match           *://*.kupujemprodajem.com/*
// @license MIT
// @downloadURL https://update.greasyfork.org/scripts/593187/Kupujemprodajem%20Paginacija%20i%20pre%20rezultata.user.js
// @updateURL https://update.greasyfork.org/scripts/593187/Kupujemprodajem%20Paginacija%20i%20pre%20rezultata.meta.js
// ==/UserScript==

(function()
{
    'use strict';

    const SELECTOR = '.Pagination-module-scss-module__2bReJa__paginationHolder';
    let copied = false;

    function doCopy()
    {
        if (copied)
        {
            return;
        }

        const el = document.querySelector(SELECTOR);

        if (!el || el.hasAttribute('data-copy'))
        {
            return;
        }

        if (!el.parentNode)
        {
            return;
        }

        const clone = el.cloneNode(true);

        clone.setAttribute('data-copy', 'true');

        el.parentNode.insertBefore(clone, el.parentNode.firstChild);

        copied = true;
        //console.log('✅ Kopirano');
    }

    // Pokreni
    const check = () => { if (!copied) doCopy(); };

    window.addEventListener('load', function()
    {
        setInterval(check, 300);
    });

    // Za SPA.
    let lastUrl = location.href;
    setInterval(() => {
        if (location.href !== lastUrl)
        {
            lastUrl = location.href;
            copied = false;

            document.querySelector('[data-copy="true"]')?.remove();

            setTimeout(check, 1000);
        }
    }, 2000);

})();