MediaWiki:Common.js: Revizyonlar arasındaki fark
MediaWiki arayüz sayfası
More actions
C. Karakuş (mesaj | katkılar) Değişiklik özeti yok |
C. Karakuş (mesaj | katkılar) Değişiklik özeti yok |
||
| 73. satır: | 73. satır: | ||
}); | }); | ||
}); | }); | ||
/* Arama Paletinin Sağ Tarafına Rastgele Sayfa Butonu Ekleme */ | |||
$( function () { | |||
// Arama paletinin yüklenmesini bekle | |||
var checkExist = setInterval( function () { | |||
var $inputArea = $( '.citizen-command-palette-header__input-area' ); | |||
if ( $inputArea.length ) { | |||
clearInterval( checkExist ); | |||
// Eğer buton daha önce eklenmediyse ekle | |||
if ( !$( '#citizen-custom-random-btn' ).length ) { | |||
var randomBtn = $( '<a>' ) | |||
.attr( { | |||
id: 'citizen-custom-random-btn', | |||
href: '/m/Özel:Rastgele', | |||
title: 'Rastgele Sayfa Getir' | |||
} ) | |||
.html( '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 20 20" fill="currentColor"><path d="M10 2a8 8 0 100 16 8 8 0 000-16zm1 11H9v-2h2v2zm0-4H9V5h2v4z"/></svg>' ); // Zarif bir zar/ikon görseli | |||
$inputArea.append( randomBtn ); | |||
} | |||
} | |||
}, 500 ); // Her yarım saniyede bir kontrol et (Arama paleti açıldığında yakalamak için) | |||
} ); | |||
10.24, 7 Temmuz 2026 tarihindeki hâli
/* Ana Sayfa Son Değişiklikler Feed Motoru - Tıklayınız İbareli Sürüm */
mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () {
$(document).ready(function () {
var $feedContainer = $('#wiki-recent-js-feed');
if (!$feedContainer.length) return;
var api = new mw.Api();
// Sadece ana maddeleri (Namespace 0) listeler
api.get({
action: 'query',
list: 'recentchanges',
rcnamespace: 0,
rclimit: 5,
rctype: 'edit|new',
format: 'json'
}).done(function (data) {
var items = data.query.recentchanges;
if (!items || items.length === 0) {
$feedContainer.html('<div style="color:#666; padding:20px; text-align:center;">Henüz bir değişiklik bulunmuyor.</div>');
return;
}
var titles = items.map(function (item) { return item.title; });
// Sayfa görsellerini çek
api.get({
action: 'query',
titles: titles.join('|'),
prop: 'pageimages',
piprop: 'thumbnail',
pithumbsize: 160,
format: 'json'
}).done(function (imgData) {
var pages = imgData.query.pages;
var imageMap = {};
for (var pageId in pages) {
var p = pages[pageId];
if (p.thumbnail && p.thumbnail.source) {
imageMap[p.title] = p.thumbnail.source;
}
}
var htmlOutput = '';
items.forEach(function (item) {
var pageTitle = item.title;
var pageLink = mw.util.getUrl(pageTitle);
var imgUrl = imageMap[pageTitle];
htmlOutput += '<div class="wiki-recent-row">' +
'<div class="wiki-recent-text">' +
'<div class="wiki-recent-title"><a href="' + pageLink + '">' + pageTitle + '</a></div>' +
'<div class="wiki-recent-subtext"><a href="' + pageLink + '">Okumak için tıklayınız</a></div>' +
'</div>' +
'<div class="wiki-recent-img-wrapper">';
if (imgUrl) {
htmlOutput += '<a href="' + pageLink + '"><img src="' + imgUrl + '" alt="' + pageTitle + '"></a>';
} else {
htmlOutput += '<a href="' + pageLink + '"><div class="wiki-recent-empty-thumb"></div></a>';
}
htmlOutput += '</div></div>';
});
$feedContainer.html(htmlOutput);
});
}).fail(function () {
$feedContainer.html('<div style="color:#888; padding:20px; text-align:center;">Akış yüklenirken bir sorun oluştu.</div>');
});
});
});
/* Arama Paletinin Sağ Tarafına Rastgele Sayfa Butonu Ekleme */
$( function () {
// Arama paletinin yüklenmesini bekle
var checkExist = setInterval( function () {
var $inputArea = $( '.citizen-command-palette-header__input-area' );
if ( $inputArea.length ) {
clearInterval( checkExist );
// Eğer buton daha önce eklenmediyse ekle
if ( !$( '#citizen-custom-random-btn' ).length ) {
var randomBtn = $( '<a>' )
.attr( {
id: 'citizen-custom-random-btn',
href: '/m/Özel:Rastgele',
title: 'Rastgele Sayfa Getir'
} )
.html( '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 20 20" fill="currentColor"><path d="M10 2a8 8 0 100 16 8 8 0 000-16zm1 11H9v-2h2v2zm0-4H9V5h2v4z"/></svg>' ); // Zarif bir zar/ikon görseli
$inputArea.append( randomBtn );
}
}
}, 500 ); // Her yarım saniyede bir kontrol et (Arama paleti açıldığında yakalamak için)
} );