MediaWiki:Common.js: Revizyonlar arasındaki fark

VMTools Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Etiket: Geri alındı
Değişiklik özeti yok
 
(Aynı kullanıcının aradaki diğer 8 değişikliği gösterilmiyor)
1. satır: 1. satır:
/* Buraya konulacak JavaScript kodu sitedeki her kullanıcı için her sayfa yüklendiğinde çalışacaktır */
/* Buraya konulacak JavaScript kodu sitedeki her kullanıcı için her sayfa yüklendiğinde çalışacaktır */


$(document).ready(function() {
( function () {
     // 1) Araçlar menüsüne emoji ekle
     // Geçerli dili alıyoruz
     $('#p-tb h3').prepend('⚙️️ ');
     var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage'),
});
        page = ( lang === 'tr' ? 'anasayfa' : 'mainpage' ),
        prevLang = localStorage.getItem( 'mwLang' );


mw.loader.using('mediawiki.api', function () {
    // Eğer daha önce bir dil kaydı varsa ve değiştiyse -> anasayfaya yönlendir
  jQuery(function ($) {
    if ( prevLang && prevLang !== lang ) {
    var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage');
        // Yeni dili kaydet
    // Sadece tam “en” kullanıcısına en, diğer herkese tr
        localStorage.setItem( 'mwLang', lang );
    var subpage  = 'MediaWiki:Sidebar/' + (lang === 'en' ? 'en' : 'tr');
        // Yönlendirme
    var fallback = 'MediaWiki:Sidebar';
        window.location.href = mw.util.getUrl( page );
     var api      = new mw.Api();
        return;
     }


     // 1) Önce o subpage'in gerçekten var olup olmadığını kontrol et
     // Dil ilk kez kayıt ediliyor ya da değişmemiş
     api.get({
     localStorage.setItem( 'mwLang', lang );
      action: 'query',
 
      titles: subpage,
    // Logo ve ana sayfa menüsündeki bağlantıyı ayarlıyoruz
      format: 'json'
    $( '#p-logo a, #p-navigation li#n-mainpage a' ).each( function () {
    }).then(function (res) {
        this.href  = mw.util.getUrl( page );
      var pages = res.query.pages;
         this.title = mw.message( 'mainpage-tooltip' ).text();
      // missing olmayan bir page varsa exists = true
    } );
      var exists = Object.values(pages).some(function(p){ return !p.missing; });
 
      // 2) Parse isteğini, ya subpage'e ya fallback'e yönlendir
    // Araçlar menüsüne emoji ekle
      return api.get({
    $( '#p-tb h3' ).prepend( '⚙️️ ' );
        action: 'parse',
}() );
        page:  exists ? subpage : fallback,
        prop:  'text',
        format:'json'
      });
    }).done(function (data) {
      if (data.parse && data.parse.text) {
        var html = data.parse.text['*'];
         // Varsa Vector legacy ya da Vector2022 vs. selector'ları deneyip replace edelim
        var $container = $('#mw-panel, #mw-navigation, .mw-sidebar').first();
        if ($container.length) {
          $container.html(html);
        } else {
          console.error('Sidebar konteyneri bulunamadı; selectorları kontrol edin.');
        }
      } else if (data.error) {
        console.warn('Parse sırasında hata:', data.error);
      }
    }).fail(function (err) {
      console.error('Sidebar yüklenirken AJAX hatası:', err);
    });
  });
});

07.47, 22 Haziran 2025 itibarı ile sayfanın şu anki hâli

/* Buraya konulacak JavaScript kodu sitedeki her kullanıcı için her sayfa yüklendiğinde çalışacaktır */

( function () {
    // Geçerli dili alıyoruz
    var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage'),
        page = ( lang === 'tr' ? 'anasayfa' : 'mainpage' ),
        prevLang = localStorage.getItem( 'mwLang' );

    // Eğer daha önce bir dil kaydı varsa ve değiştiyse -> anasayfaya yönlendir
    if ( prevLang && prevLang !== lang ) {
        // Yeni dili kaydet
        localStorage.setItem( 'mwLang', lang );
        // Yönlendirme
        window.location.href = mw.util.getUrl( page );
        return;
    }

    // Dil ilk kez kayıt ediliyor ya da değişmemiş
    localStorage.setItem( 'mwLang', lang );

    // Logo ve ana sayfa menüsündeki bağlantıyı ayarlıyoruz
    $( '#p-logo a, #p-navigation li#n-mainpage a' ).each( function () {
        this.href  = mw.util.getUrl( page );
        this.title = mw.message( 'mainpage-tooltip' ).text();
    } );

    // Araçlar menüsüne emoji ekle
    $( '#p-tb h3' ).prepend( '⚙️️ ' );
}() );