Görüntüleme sayısı aşağıya doğru taşıyor

WindowsPlus

Nanopat
Katılım
25 Ocak 2025
Mesajlar
360
Makaleler
1
Çözümler
10
Daha fazla  
Cinsiyet
Erkek
Bir öneri sayesinde görüntülenme sayısı 1 milyona kadar detaylı şekilde gözükebilmesi sağlanmıştı ancak bir sorun var. Bazı 6 haneli sayılar görüntüleme yazısına denk geldiği için aşağıya doğru taşmaya neden oluyor ve bunun olması sonucu göze iyi durduğunu söyleyemem. Bu sorun giderilirse mutlu olurum.



Az önce ChatGPT sayesinde sorunu kendimce çözdüm. Sizlerde bu sorunu yaşıyorsanız aşağıdaki kodu Tampermonkey'e yapıştırabilirsiniz. Bu sorun çözülürse paylaştığım bu koda artık ihtiyacım olmayacak.
JavaScript:
// ==UserScript==
// @name         Forum Sayı Hizalama
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Mesaj ve görüntülenme sayılarını dt'nin sağına hizalar
// @match        https://www.technopat.net/sosyal/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function fixPair(pair) {
        if (!pair) return;

        // Doğrudan çocuk dt ve dd var mı?
        let dt = pair.querySelector(':scope > dt');
        let dd = pair.querySelector(':scope > dd');

        // Eğer wrapper içine alınmışlarsa, geri taşı
        if (!dt || !dd) {
            const dtAny = pair.querySelector('dt');
            const ddAny = pair.querySelector('dd');
            if (dtAny && ddAny) {
                pair.insertBefore(dtAny, pair.firstChild);
                pair.appendChild(ddAny);
                // Boş wrapper'ları temizle
                pair.querySelectorAll('div').forEach(div => {
                    if (!div.querySelector('dt') && !div.querySelector('dd')) div.remove();
                });
                dt = pair.querySelector(':scope > dt');
                dd = pair.querySelector(':scope > dd');
            } else {
                return;
            }
        }

        // Container'ı flex yap
        const comp = window.getComputedStyle(pair);
        if (comp.display !== 'flex' && comp.display !== 'inline-flex') {
            pair.style.display = 'flex';
        }
        pair.style.alignItems = 'center';
        pair.style.justifyContent = 'space-between';

        // dt solda
        dt.style.margin = 0;
        dt.style.flex = '1 1 auto';

        // dd sağda
        dd.style.margin = 0;
        dd.style.flex = '0 0 auto';
        dd.style.textAlign = 'right';

        // İçindeki link taşmasın
        const a = dd.querySelector('a[id^="js-XF"]');
        if (a) {
            a.style.whiteSpace = 'nowrap';
            a.style.display = 'inline-block';
        }
    }

    // Tüm mevcut öğelere uygula
    document.querySelectorAll('.pairs--justified').forEach(fixPair);

    // Dinamik eklemeler için gözlemci
    const mo = new MutationObserver(muts => {
        muts.forEach(m => {
            m.addedNodes.forEach(node => {
                if (!(node instanceof Element)) return;
                if (node.matches && node.matches('.pairs--justified')) {
                    fixPair(node);
                } else if (node.querySelectorAll) {
                    node.querySelectorAll('.pairs--justified').forEach(fixPair);
                }
            });
        });
    });
    mo.observe(document.documentElement || document.body, { childList: true, subtree: true });
})();

 
Son düzenleme:
Böyle de silah zoruyla duruyorlarmış gibi oldu hocam. Cidden çok sıkıştı.
 
Basit CSS ile ayarlanabilir. Belki tema ayarlarında bile vardır.

Asıl sorun uygulanan öneri. Kısaltma süs olsun diye konulmamış. Çoğu zaman küsurat insanların umurunda değil. Bunun için XenForo tooltip var, HTML title var.

Bakın, lazım olan yerde bir güzel kullanılabiliyor. Halihazırda olan bir şey.

Tooltip çok JS çalıştırıyor derseniz title koymak yeterli.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…