MediaWiki:Common.js: Perbedaan antara revisi

Tidak ada ringkasan suntingan
Tanda: Suntingan perangkat seluler Suntingan peramban seluler
Tidak ada ringkasan suntingan
Tanda: Dikembalikan Suntingan perangkat seluler Suntingan peramban seluler
Baris 1.002: Baris 1.002:
/* ==========================================================
/* ==========================================================
     🔵 MIPPEDIA ACCOUNT VERIFICATION SYSTEM
     🔵 MIPPEDIA ACCOUNT VERIFICATION SYSTEM
     Final Fix: Penyesuaian Posisi Vertikal (Presisi)
     Update: Kalibrasi Presisi Spacing & Posisi Vertikal
   ========================================================== */
   ========================================================== */
$(document).ready(function() {
$(document).ready(function() {
Baris 1.028: Baris 1.028:
     }
     }


     // --- 1. RENDER CENTANG (FIX POSISI PRESISI) ---
     // --- 1. RENDER SISTEM (PROFIL & RIWAYAT) ---
     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
         // FIX UNTUK RIWAYAT / RECENT CHANGES
         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);
                 if (vUsers.includes($el.text().trim()) && !$el.next('.mp-v-icon').length) {
                 var name = $el.text().trim();
                     api.parse('[[Berkas:' + vFile + '|13px|link=|middle]]').done(function(img) {
                if (vUsers.includes(name) && !$el.next('.mp-v-icon').length) {
                         $el.after('<span class="mp-v-icon" style="display:inline-block; margin-left:3px; vertical-align:middle; transform: translateY(1px);">' + img + '</span>');
                     api.parse('[[Berkas:' + vFile + '|12px|link=|middle]]').done(function(img) {
                        // Spacing: margin-left 4px (gak nempel, gak renggang)
                        // Posisi: translateY(1px) biar pas sama line-height teks riwayat
                         $el.after('<span class="mp-v-icon" style="display:inline-block; margin-left:4px; vertical-align:middle; transform: translateY(1px); line-height:0;">' + img + '</span>');
                     });
                     });
                 }
                 }
Baris 1.044: Baris 1.047:
         });
         });


         // Render di Judul Profil - FIX VERTICAL POSITION
         // FIX UNTUK JUDUL HALAMAN PROFIL
         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) {
                 // Tambahin transform: translateY(3px) buat nurunin ikon biar pas sama garis bawah teks
                 // Spacing: margin-left 6px buat judul besar
                 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>');
                // Posisi: translateY(2px) biar pas di tengah teks judul
                 var $badge = $('<span class="mp-v-badge" style="display:inline-flex; align-items:center; margin-left:6px; cursor:pointer; vertical-align:middle; transform: translateY(2px); line-height:0;">' + renderedImage + '</span>');
                 $badge.click(showVPopup);
                 $badge.click(showVPopup);
                  
                  
Baris 1.061: Baris 1.065:
     });
     });


     // --- 2. LOGIKA PROTEKSI & ADMIN (STABIL) ---
     // --- 2. LOGIKA ADMIN & PROTEKSI (TETAP 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)\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, boys!)\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');
    }
    if (ns === 2 && user && pageName.includes('Pengguna:' + user) && !$('#ca-mippedia-verify').length) {
        var $vLink = $('<li>').attr({'id': 'ca-mippedia-verify', 'class': 'mw-list-item'}).append(
            $('<a>').attr({'href': '#'}).css({'display': 'flex', 'align-items': 'center', 'padding': '6px 12px'}).append(
                $('<span>').html('🔵 Verifikasi').css({'color': '#0095f6', 'font-weight': 'bold'})
            )
        );
        $vLink.click(function(e) {
            e.preventDefault();
            sessionStorage.setItem('mippedia_auth_verify', "== Permintaan Verifikasi Akun ==\nHalo Pengurus,\n\nSaya memohon verifikasi untuk akun [[" + pageName + "]] agar mendapatkan lencana centang biru resmi.");
            window.location.href = mw.util.getUrl("Pembicaraan_Pengguna:" + mw.config.get('wgTitle'), { action: 'edit', section: 'new', preloadtitle: 'Permintaan Verifikasi Akun' });
        });
        $('#p-cactions ul, #p-views ul').append($vLink);
     }
     }
});
});