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.002: Baris 1.002:
/* ==========================================================
/* ==========================================================
     🔵 MIPPEDIA ACCOUNT VERIFICATION SYSTEM
     🔵 MIPPEDIA ACCOUNT VERIFICATION SYSTEM
     Fix: Posisi Centang Sejajar (Inline) & Pop-up
     Final Fix: Penyesuaian Posisi Vertikal (Presisi)
   ========================================================== */
   ========================================================== */
$(document).ready(function() {
$(document).ready(function() {
Baris 1.028: Baris 1.028:
     }
     }


     // --- 1. RENDER CENTANG (FIX POSISI SEJAJAR) ---
     // --- 1. RENDER CENTANG (FIX POSISI PRESISI) ---
     api.get({ action: 'query', list: 'categorymembers', cmtitle: 'Category:Pengguna_Terverifikasi', cmlimit: 'max' }).done(function(d) {
     api.get({ action: 'query', list: 'categorymembers', cmtitle: 'Category:Pengguna_Terverifikasi', cmlimit: 'max' }).done(function(d) {
         var vUsers = d.query.categorymembers.map(function(m) { return m.title.replace('Pengguna:', ''); });
         var vUsers = d.query.categorymembers.map(function(m) { return m.title.replace('Pengguna:', ''); });
          
          
         // Render di link nama pengguna (History/RC)
         // Render di link nama pengguna
         mw.hook('wikipage.content').add(function() {
         mw.hook('wikipage.content').add(function() {
             $('.mw-userlink').each(function() {
             $('.mw-userlink').each(function() {
                 var $el = $(this);
                 var $el = $(this);
                 var name = $el.text().trim();
                 if (vUsers.includes($el.text().trim()) && !$el.next('.mp-v-icon').length) {
                if (vUsers.includes(name) && !$el.next('.mp-v-icon').length) {
                     api.parse('[[Berkas:' + vFile + '|13px|link=|middle]]').done(function(img) {
                     api.parse('[[Berkas:' + vFile + '|13px|link=|middle]]').done(function(renderedImage) {
                         $el.after('<span class="mp-v-icon" style="display:inline-block; margin-left:3px; vertical-align:middle; transform: translateY(1px);">' + img + '</span>');
                         $el.after('<span class="mp-v-icon" style="display:inline-block; margin-left:3px; vertical-align:middle;">' + renderedImage + '</span>');
                     });
                     });
                 }
                 }
Baris 1.045: Baris 1.044:
         });
         });


         // Render di Judul Profil - DIPAKSA SEJAJAR (INLINE)
         // Render di Judul Profil - FIX VERTICAL POSITION
         var targetTitle = mw.config.get('wgTitle');
         var targetTitle = mw.config.get('wgTitle');
         if ((ns === 2 || ns === 3) && vUsers.includes(targetTitle) && !$('#firstHeading .mp-v-badge').length) {
         if ((ns === 2 || ns === 3) && vUsers.includes(targetTitle) && !$('#firstHeading .mp-v-badge').length) {
             api.parse('[[Berkas:' + vFile + '|22px|link=|middle]]').done(function(renderedImage) {
             api.parse('[[Berkas:' + vFile + '|22px|link=|middle]]').done(function(renderedImage) {
                 // Gunakan display:inline-flex biar nempel terus di samping teks judul
                 // Tambahin transform: translateY(3px) buat nurunin ikon biar pas sama garis bawah teks
                 var $badge = $('<span class="mp-v-badge" style="display:inline-flex; align-items:center; margin-left:8px; cursor:pointer; vertical-align:middle;">' + renderedImage + '</span>');
                 var $badge = $('<span class="mp-v-badge" style="display:inline-flex; align-items:center; margin-left:8px; cursor:pointer; vertical-align:middle; transform: translateY(3px);">' + renderedImage + '</span>');
                 $badge.click(showVPopup);
                 $badge.click(showVPopup);
                  
                  
                // Masukkan ke dalam elemen heading agar tidak pecah baris
                 $('#firstHeading').css({
                 $('#firstHeading').css('display', 'flex').css('align-items', 'center').append($badge);
                    'display': 'flex',
                    'align-items': 'center',
                    'flex-wrap': 'wrap'
                }).append($badge);
             });
             });
         }
         }
     });
     });


     // --- 2. LOGIKA PROTEKSI & ADMIN (TETAP SAMA SEPERTI KODE LO) ---
     // --- 2. LOGIKA PROTEKSI & ADMIN (STABIL) ---
     if (mw.config.get('wgAction') === 'edit' && sessionStorage.getItem('mippedia_auth_verify')) {
     if (mw.config.get('wgAction') === 'edit' && sessionStorage.getItem('mippedia_auth_verify')) {
         var savedText = sessionStorage.getItem('mippedia_auth_verify');
         var savedText = sessionStorage.getItem('mippedia_auth_verify');
         var vTable = "{| class='wikitable' style='width:100%'\n|+ Bukti Identitas Resmi\n|-\n! Dokumen !! Tautan/URL Bukti\n|-\n| KTP / Paspor / SIM || (Masukkan URL Foto Bukti lo di sini, boys!)\n|-\n| Akun Medsos / Website || (Masukkan URL pembuktian identitas lainnya)\n|}";
         var vTable = "{| class='wikitable' style='width:100%'\n|+ Bukti Identitas Resmi\n|-\n! Dokumen !! Tautan/URL Bukti\n|-\n| KTP / Paspor / SIM || (Masukkan URL Foto Bukti lo di sini)\n|-\n| Akun Medsos / Website || (Masukkan URL pembuktian identitas lainnya)\n|}";
         $('#wpTextbox1').val(savedText + "\n\n" + vTable + "\n\n<div class='mippedia-status'>'''Status: 🕒 Sedang diverifikasi'''</div>\n\n--" + user);
         $('#wpTextbox1').val(savedText + "\n\n" + vTable + "\n\n<div class='mippedia-status'>'''Status: 🕒 Sedang diverifikasi'''</div>\n\n--" + user);
         sessionStorage.removeItem('mippedia_auth_verify');
         sessionStorage.removeItem('mippedia_auth_verify');
Baris 1.079: Baris 1.081:
         });
         });
         $('#p-cactions ul, #p-views ul').append($vLink);
         $('#p-cactions ul, #p-views ul').append($vLink);
    }
    if (ns === 2 && ['edit', 'submit'].includes(mw.config.get('wgAction'))) {
        $('#editform').on('submit', function() {
            var content = $('#wpTextbox1').val();
            if (/\[\[Category:Pengguna_Terverifikasi\]\]/gi.test(content) && !sessionStorage.getItem('is_admin_action')) {
                alert("⚠️ AKSES DITOLAK: Penambahan kategori secara manual dilarang!");
                $('#wpTextbox1').val(content.replace(/\[\[Category:Pengguna_Terverifikasi\]\]/gi, ''));
                return false;
            }
        });
     }
     }
});
});