MediaWiki:Common.js: Perbedaan antara revisi

Tidak ada ringkasan suntingan
Tanda: Suntingan perangkat seluler Suntingan peramban seluler
Tidak ada ringkasan suntingan
Tanda: Suntingan perangkat seluler Suntingan peramban seluler
Baris 1.001: Baris 1.001:


/* ==========================================================
/* ==========================================================
   🔵 MIPPEDIA ULTIMATE VERIFICATION SYSTEM (FIX DUPLICATE)
   🔵 MIPPEDIA ULTIMATE VERIFICATION SYSTEM (STYLE FIX)
   Fitur: Request, Admin Panel, & Global Badge (Single Render)
   Fitur: Satu Centang, Ukuran Kecil di Riwayat, & Sejajar Nama
   ========================================================== */
   ========================================================== */
$(document).ready(function() {
$(document).ready(function() {
Baris 1.013: Baris 1.013:
     // --- 1. LOGIKA CENTANG BIRU GLOBAL (RIWAYAT, RECENT CHANGES, DLL) ---
     // --- 1. LOGIKA CENTANG BIRU GLOBAL (RIWAYAT, RECENT CHANGES, DLL) ---
     function applyGlobalBadge($element) {
     function applyGlobalBadge($element) {
         // Cek apakah element sudah punya badge atau data flag 'has-badge'
         // Cek agar tidak duplikat
         if ($element.data('has-badge') || $element.next('.mippedia-badge-global').length) return;  
         if ($element.data('has-badge') || $element.next('.mippedia-badge-global').length) return;  
          
          
         api.parse('[[Berkas:Verified_Badge.png|14px|link=|middle]]').done(function(renderedImage) {
         api.parse('[[Berkas:Verified_Badge.png|13px|link=|middle]]').done(function(renderedImage) {
            // Re-check setelah API selesai (antisipasi render cepat)
             if ($element.next('.mippedia-badge-global').length) return;
             if ($element.next('.mippedia-badge-global').length) return;


             var cleanImage = $(renderedImage).find('img').first();
             var cleanImage = $(renderedImage).find('img').first();
             var $badge = $('<span class="mippedia-badge-global" style="margin-left: 3px; vertical-align: middle; display: inline-block;"></span>').append(cleanImage);
           
            // Pengaturan posisi: margin-top disesuaikan agar sejajar teks nama
             var $badge = $('<span class="mippedia-badge-global" style="margin-left: 4px; display: inline-flex; align-items: center; vertical-align: middle; position: relative; top: -1px;"></span>').append(cleanImage);
              
              
             $element.after($badge);
             $element.after($badge);
Baris 1.049: Baris 1.050:
         }
         }


        // Jalankan scan & pasang hook untuk konten dinamis
         scanLinks();
         scanLinks();
         mw.hook('wikipage.content').add(scanLinks);
         mw.hook('wikipage.content').add(scanLinks);


         // Khusus di Halaman Profil (firstHeading) - Ukuran Tetap 20px
         // Khusus di Halaman Profil (firstHeading) - Tetap Besar & Sejajar
         var currentTitle = mw.config.get('wgTitle');
         var currentTitle = mw.config.get('wgTitle');
         if ((ns === 2 || ns === 3) && verifiedUsers.includes(currentTitle)) {
         if ((ns === 2 || ns === 3) && verifiedUsers.includes(currentTitle)) {
Baris 1.059: Baris 1.059:
                 api.parse('[[Berkas:Verified_Badge.png|20px|link=|middle]]').done(function(renderedImage) {
                 api.parse('[[Berkas:Verified_Badge.png|20px|link=|middle]]').done(function(renderedImage) {
                     var cleanImage = $(renderedImage).find('img').first();
                     var cleanImage = $(renderedImage).find('img').first();
                     $('#firstHeading').append($('<span class="mippedia-profile-badge" style="margin-left: 5px; vertical-align: middle;"></span>').append(cleanImage));
                     $('#firstHeading').append($('<span class="mippedia-profile-badge" style="margin-left: 6px; display: inline-flex; align-items: center; vertical-align: middle;"></span>').append(cleanImage));
                 });
                 });
             }
             }
Baris 1.072: Baris 1.072:
     }
     }


     // --- 3. TOMBOL MINTA VERIFIKASI (DI MENU TAB) ---
     // --- 3. TOMBOL MINTA VERIFIKASI ---
     if (ns === 2 && user && pageName.includes('Pengguna:' + user)) {  
     if (ns === 2 && user && pageName.includes('Pengguna:' + user)) {  
         if (!$('#ca-verify-request').length) {
         if (!$('#ca-verify-request').length) {
Baris 1.111: Baris 1.111:
                     return api.postWithToken('edit', { action: 'edit', title: pageName, text: newText, summary: 'Approved' });
                     return api.postWithToken('edit', { action: 'edit', title: pageName, text: newText, summary: 'Approved' });
                 }).then(function() {
                 }).then(function() {
                     var msg = "\n== Profil Terverifikasi ==\nHalo [["+requester+"]], akun Anda resmi terverifikasi dengan centang biru 🔵. --[[Pengguna:Admin|Admin]] ([[Pembicaraan Pengguna:Admin|bicara]]) 10 April 2026 20.32 (UTC)";
                     var msg = "\n== Profil Terverifikasi ==\nHalo [["+requester+"]], akun Anda resmi terverifikasi dengan centang biru 🔵. --[[Pengguna:Admin|Admin]] ([[Pembicaraan Pengguna:Admin|bicara]]) 10 April 2026 20.37 (UTC)";
                     return api.postWithToken('edit', { action: 'edit', title: "Pembicaraan_Pengguna:"+requester, section: 'new', text: msg });
                     return api.postWithToken('edit', { action: 'edit', title: "Pembicaraan_Pengguna:"+requester, section: 'new', text: msg });
                 }).done(function() { location.reload(); });
                 }).done(function() { location.reload(); });