Toggle menu
7
27
38
5.2K
Sanarchive
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 1: Line 1:
$(function() {
$(function() {
     // Sadece anasayfada çalışacak
     // Sadece anasayfada çalışması için kontrol
     if (!mw.config.get("wgIsMainPage")) return;
     if (!mw.config.get("wgIsMainPage")) return;


     // Dropdown HTML ve Stil (Sayfanın altında olacağı için yukarı doğru açılır)
     // Menüyü oluştur
     var dropdown = $(`
     var $dropdown = $('<div id="lang-switcher"></div>').css({
        <div id="languageDropdown" style="display:inline-block; position:relative; margin: 15px 0;">
        "margin": "20px 0",
            <button style="cursor:pointer; padding:6px 12px; background:#fff; border:1px solid #a2a9b1; border-radius:2px;">🌐 Dil Seçin / Language ▾</button>
        "position": "relative",
            <div id="languageDropdownContent" style="display:none; position:absolute; bottom:100%; left:0; background-color:#fff; border:1px solid #a2a9b1; box-shadow:0 -2px 5px rgba(0,0,0,0.1); z-index:1000; min-width:160px; margin-bottom:5px;">
        "display": "inline-block"
            </div>
    });
        </div>
 
     `);
    var $btn = $('<button>🌐 Dil Seçin / Select Language ▾</button>').css({
        "padding": "8px 15px",
        "cursor": "pointer",
        "background": "#fff",
        "border": "1px solid #a2a9b1",
        "border-radius": "2px"
     });


     var content = dropdown.find("#languageDropdownContent");
     var $menu = $('<div id="lang-menu"></div>').css({
        "display": "none",
        "position": "absolute",
        "bottom": "100%", // Yukarı doğru açılır
        "left": "0",
        "background": "#fff",
        "border": "1px solid #a2a9b1",
        "box-shadow": "0 -2px 5px rgba(0,0,0,0.2)",
        "z-index": "9999",
        "min-width": "180px"
    });


     // Tüm dil seçenekleri (Buraya istediğin kadar ekleme yapabilirsin)
     // Linkleri ekle - Tam Liste
     var languages = [
     var links = [
         { name: "Türkçe", url: "https://tr.sanarsiv.org/wiki/Ana_Sayfa" },
         { t: "Türkçe", u: "https://tr.sanarsiv.org/wiki/Ana_Sayfa" },
         { name: "Azərbaycanca", url: "https://az.sanarsiv.org/wiki/Ana_səhifə" },
         { t: "Azərbaycanca", u: "https://az.sanarsiv.org/wiki/Ana_səhifə" },
         { name: "English", url: "https://en.sanarsiv.org/wiki/Main_Page" }
         { t: "English", u: "https://en.sanarsiv.org/wiki/Main_Page" }
     ];
     ];


     // Döngü ile hepsini ekle
     $.each(links, function(i, link) {
    languages.forEach(function(lang) {
         var $a = $('<a></a>').attr('href', link.u).text(link.t).css({
         content.append(`
            "display": "block",
            <a href="${lang.url}" style="display:block; padding:10px; color:#0645ad; text-decoration:none; border-bottom:1px solid #eee; font-size:14px;">
            "padding": "10px",
                ${lang.name}
            "text-decoration": "none",
            </a>
            "color": "#0645ad",
        `);
            "border-bottom": "1px solid #eee"
        });
        $menu.append($a);
     });
     });


     // Hover efekti (Görsel şıklık için)
     $dropdown.append($btn).append($menu);
    content.find("a").hover(
        function() { $(this).css("background-color", "#f8f9fa"); },
        function() { $(this).css("background-color", "#fff"); }
    );


     // Konum: Tekrar eski yerine, içeriğin en altına ekle
     // Ekleme Noktası: #bodyContent genellikle tüm MediaWiki temalarında vardır
     $("#content").append(dropdown);  
    // Eğer hala görünmezse #mw-content-text olarak değiştirilebilir
     $("#bodyContent").append($dropdown);


     // Aç/kapa fonksiyonu
     // Tıklama olayları
     dropdown.find("button").on("click", function(e) {
     $btn.on("click", function(e) {
         e.stopPropagation();
         e.stopPropagation();
         $("#languageDropdownContent").toggle();
         $menu.toggle();
     });
     });


    // Boşluğa tıklayınca kapatma
     $(document).on("click", function() {
     $(document).on("click", function(event) {
         $menu.hide();
         if(!$(event.target).closest('#languageDropdown').length) {
            $("#languageDropdownContent").hide();
        }
     });
     });
});
});

Revision as of 20:23, 11 January 2026

$(function() {
    // Sadece anasayfada çalışması için kontrol
    if (!mw.config.get("wgIsMainPage")) return;

    // Menüyü oluştur
    var $dropdown = $('<div id="lang-switcher"></div>').css({
        "margin": "20px 0",
        "position": "relative",
        "display": "inline-block"
    });

    var $btn = $('<button>🌐 Dil Seçin / Select Language ▾</button>').css({
        "padding": "8px 15px",
        "cursor": "pointer",
        "background": "#fff",
        "border": "1px solid #a2a9b1",
        "border-radius": "2px"
    });

    var $menu = $('<div id="lang-menu"></div>').css({
        "display": "none",
        "position": "absolute",
        "bottom": "100%", // Yukarı doğru açılır
        "left": "0",
        "background": "#fff",
        "border": "1px solid #a2a9b1",
        "box-shadow": "0 -2px 5px rgba(0,0,0,0.2)",
        "z-index": "9999",
        "min-width": "180px"
    });

    // Linkleri ekle - Tam Liste
    var links = [
        { t: "Türkçe", u: "https://tr.sanarsiv.org/wiki/Ana_Sayfa" },
        { t: "Azərbaycanca", u: "https://az.sanarsiv.org/wiki/Ana_səhifə" },
        { t: "English", u: "https://en.sanarsiv.org/wiki/Main_Page" }
    ];

    $.each(links, function(i, link) {
        var $a = $('<a></a>').attr('href', link.u).text(link.t).css({
            "display": "block",
            "padding": "10px",
            "text-decoration": "none",
            "color": "#0645ad",
            "border-bottom": "1px solid #eee"
        });
        $menu.append($a);
    });

    $dropdown.append($btn).append($menu);

    // Ekleme Noktası: #bodyContent genellikle tüm MediaWiki temalarında vardır
    // Eğer hala görünmezse #mw-content-text olarak değiştirilebilir
    $("#bodyContent").append($dropdown);

    // Tıklama olayları
    $btn.on("click", function(e) {
        e.stopPropagation();
        $menu.toggle();
    });

    $(document).on("click", function() {
        $menu.hide();
    });
});