MediaWiki:Common.js: відмінності між версіями

нема опису редагування
Немає опису редагування
Мітка: Скасовано
Немає опису редагування
Мітка: Ручний відкіт
Рядок 640: Рядок 640:
     $btn.on('click', doSearch);
     $btn.on('click', doSearch);
     $input.on('keydown', function (e) { if (e.keyCode === 13) { e.preventDefault(); doSearch(); } });
     $input.on('keydown', function (e) { if (e.keyCode === 13) { e.preventDefault(); doSearch(); } });
});
// ── Додати в кінець Common.js ──
// ════════════════════════════════════════
// 2. NAV — розгортаємо <p> всередині nav
// ════════════════════════════════════════
$(function () {
    var navSel = '.player-nav, .tournament-nav, .series-nav, .championship-nav';
    $(navSel).each(function () {
        var $nav = $(this);
        // Розгортаємо і <pre> і <p>
        $nav.find('pre, p').each(function () {
            var $wrapper = $(this);
            $wrapper.contents().each(function () {
                $nav.append($(this).clone(true));
            });
            $wrapper.remove();
        });
    });
});
// ════════════════════════════════════════
// 8. R-BOX — форматуємо довгі рядки
// Замість "46.95% (208 - 235)" → два рядки
// ════════════════════════════════════════
$(function () {
    $('.r-box-info-table tr, .r-box table tr').each(function () {
        var $td = $(this).find('td');
        if (!$td.length) return;
        var text = $td.text().trim();
        // "46.95% (208 - 235)" → "46.95% (208–235)"
        var mWr = text.match(/^([\d.]+%)\s*\((\d+)[^\d]+(\d+)\)$/);
        if (mWr) {
            $td.html(mWr[1] + '<small>' + mWr[2] + '–' + mWr[3] + '</small>');
            return;
        }
        // "29.12.2022 (666 днів)" → дата + маленький текст
        var mDate = text.match(/^([\d.]+)\s*\(([^)]+)\)$/);
        if (mDate) {
            $td.html(mDate[1] + '<small>' + mDate[2] + '</small>');
            return;
        }
    });
});
// ── Додати в кінець Common.js ──
// ════════════════════════════════════════
// 4. BIO ПІД ЗАГОЛОВКОМ h1
// Переміщуємо перший <p> з .mw-parser-output
// одразу після h1.mw-first-heading
// ════════════════════════════════════════
$(function () {
    var $h1 = $('h1.mw-first-heading');
    if (!$h1.length) return;
    var $output = $('.mw-parser-output');
    if (!$output.length) return;
    // Перший <p> в output — підзаголовок (біо-рядок)
    var $firstP = $output.find('> p').first();
    if (!$firstP.length) return;
    // Текст має бути коротким (підзаголовок, не основний контент)
    // Якщо > 400 символів — це вже не підзаголовок
    if ($firstP.text().trim().length > 400) return;
    // Переміщуємо після h1 як .mcc-hero-sub
    var $sub = $('<div class="mcc-hero-sub"></div>').html($firstP.html());
    $h1.after($sub);
    $firstP.remove();
});
// ════════════════════════════════════════
// 2. NAV — розгортаємо <p> всередині
// (замінює попередню версію, працює надійніше)
// ════════════════════════════════════════
$(function () {
    var navSel = '.player-nav, .tournament-nav, .series-nav, .championship-nav';
    function unwrapNavContent() {
        $(navSel).each(function () {
            var $nav = $(this);
            $nav.find('> p, > pre').each(function () {
                var $w = $(this);
                $w.contents().each(function () {
                    $nav.append($(this).clone(true));
                });
                $w.remove();
            });
        });
    }
    unwrapNavContent();
    // Повторно через затримку (деякі шаблони рендеряться пізніше)
    setTimeout(unwrapNavContent, 500);
});
});