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 |
||
| 1. satır: | 1. satır: | ||
/* Ana Sayfa Riski Sıfırlanmış Son Değişiklikler Feed Motoru */ | /* Ana Sayfa Riski Sıfırlanmış Son Değişiklikler Feed Motoru (Saf Görsel Sürümü) */ | ||
mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () { | mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () { | ||
$(document).ready(function () { | $(document).ready(function () { | ||
| 7. satır: | 7. satır: | ||
var api = new mw.Api(); | var api = new mw.Api(); | ||
// | // Sadece ana maddelerdeki (Namespace 0) son 5 değişikliği çekiyoruz | ||
api.get({ | api.get({ | ||
action: 'query', | action: 'query', | ||
| 22. satır: | 22. satır: | ||
} | } | ||
var | var titles = items.map(function (item) { return item.title; }); | ||
// | // Maddelerin kendi görsellerini API'den topluca çekiyoruz | ||
api.get({ | |||
var | action: 'query', | ||
var | 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; | |||
} | |||
} | |||
htmlOutput += '<div class="wiki-recent-row">' + | var htmlOutput = ''; | ||
items.forEach(function (item) { | |||
var pageTitle = item.title; | |||
var pageLink = mw.util.getUrl(pageTitle); | |||
'<a href="' + pageLink + '"><div class="wiki-recent- | var imgUrl = imageMap[pageTitle]; | ||
'</div> | |||
htmlOutput += '<div class="wiki-recent-row">' + | |||
'<div class="wiki-recent-text">' + | |||
'<div class="wiki-recent-title"><a href="' + pageLink + '">' + pageTitle + '</a></div>' + | |||
'</div>' + | |||
'<div class="wiki-recent-img-wrapper">'; | |||
if (imgUrl) { | |||
// Eğer maddede görsel varsa doğrudan resmi basar (Oynatma simgesi olmadan) | |||
htmlOutput += '<a href="' + pageLink + '"><img src="' + imgUrl + '" alt="' + pageTitle + '"></a>'; | |||
} else { | |||
// Görsel yoksa sağ tarafta boş şık bir koyu kutu bırakır | |||
htmlOutput += '<a href="' + pageLink + '"><div class="wiki-recent-empty-thumb"></div></a>'; | |||
} | |||
htmlOutput += '</div></div>'; | |||
}); | |||
$feedContainer.html(htmlOutput); | |||
}); | }); | ||
}).fail(function () { | }).fail(function () { | ||
$feedContainer.html('<div style="color:#888; padding:20px; text-align:center;">Akış yüklenirken bir sorun oluştu.</div>'); | $feedContainer.html('<div style="color:#888; padding:20px; text-align:center;">Akış yüklenirken bir sorun oluştu.</div>'); | ||
07.12, 5 Temmuz 2026 tarihindeki hâli
/* Ana Sayfa Riski Sıfırlanmış Son Değişiklikler Feed Motoru (Saf Görsel 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 maddelerdeki (Namespace 0) son 5 değişikliği çekiyoruz
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; });
// Maddelerin kendi görsellerini API'den topluca çekiyoruz
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>' +
'<div class="wiki-recent-img-wrapper">';
if (imgUrl) {
// Eğer maddede görsel varsa doğrudan resmi basar (Oynatma simgesi olmadan)
htmlOutput += '<a href="' + pageLink + '"><img src="' + imgUrl + '" alt="' + pageTitle + '"></a>';
} else {
// Görsel yoksa sağ tarafta boş şık bir koyu kutu bırakır
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>');
});
});
});