Botón huevonudo ver mensajes ignorados

Delco

planet terror
Desde
8 Ago 2018
Mensajes
9.048
Reputación
12.610
Lugar
norad
Otra noche a la fruta cosa otro script que me acabo de hacer para Burbugas.coms después de acampar un rato en el infierno StackOverflow, W3Schools y San Jujel. En este caso el script reemplaza el enlace mostrar contenido ignorado por un botón alternativo que muestra todos los mensajes ignorados en un modal en vez de tener que repasar el hilo.

La cosa queda tal que asín:

Captura de pantalla de 2020-07-18 04-13-19.png

Cuando se hace clic en el botón de marras aparece la siguiente ventana agrupando todos los mensajes (sin aviso de ignorado y sin firma):

Captura de pantalla de 2020-07-18 04-14-09.png

Los mensajes contenidos en el interior funcionan igual que el resto de mensajes, se pueden citar, zankear...

Captura de pantalla de 2020-07-18 04-14-19.png

La ventana no interfiere con la ventana de los usuarios que han dado zankitos

AVISO: SOLO FUNCIONA CON EL TEMA DEFAULT DE BURBUGA

Código:
// ==UserScript==
// @name        Mostrar mensajes ignorados
// @description Ventana pop-up con los mensajes ijjjjjjjnorados
// @version     1.5
// @author      Enissay, Tomas Zato, Delco
// @include     *://www.burbuja.info/inmobiliaria/threads/*
// @require     https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js
// @resource    bootstrapCSS https://cdn.jsdelivr.net/gh/ddwq/min2/bootstrap.min.css
// @grant       GM_addStyle
// @grant       GM_getResourceURL
// @run-at      document-idle
// ==/UserScript==

document.head.appendChild(cssElement(GM_getResourceURL ("bootstrapCSS")));

function cssElement(url) {
    var link = document.createElement("link");
    link.href = url;
    link.rel = "stylesheet";
    link.type = "text/css";
    return link;
}

var code = 'function myFunction() {    $("#mheader").toggleClass("nmode");    $("#mfooter").toggleClass("nmode");  }';
var script = document.createElement('script');
script.innerText = code;
document.head.appendChild(script);

function myFunc () {

    var deleteButtonHtml = `
<div class="button-group">
    <button type="button" class="buttont" data-toggle="modal" data-target="#myModal">
        Ver mensajes ignorados
    </button>
</div>
`;

    var modalHtml = `
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div id="mheader" class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Cerrar"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Mensajes Ignorados</h4>
      </div>
      <div id="boody" class="modal-body">

      </div>
      <div id="mfooter" class="modal-footer">
<label class="switch">
  <input type="checkbox" onclick="myFunction()">
  <span class="slider round"></span>
</label>
        <button type="button" class="btn btn-primary" data-dismiss="modal">Cerrar</button>
      </div>
    </div>
  </div>
</div>
`;

    var cuenta = document.getElementsByClassName("message message--post js-post js-inlineModContainer is-ignored").length;

    if (cuenta > 0 ) {

        var a = document.getElementsByTagName("body");
        a[0].insertAdjacentHTML('beforeend', modalHtml);

        var b = document.getElementsByClassName("block-outer block-outer--after");
        b[0].insertAdjacentHTML('beforeend', deleteButtonHtml);

        for(var i=0, len= cuenta; i < len; i++){
            var aux = document.getElementsByClassName("message message--post js-post js-inlineModContainer is-ignored")[i];
            var c = document.getElementsByClassName("modal-body");
            c[0].insertAdjacentHTML('beforeend', aux.innerHTML);

            var quitaig = document.getElementById("boody").getElementsByClassName("message-userContent lbContainer js-lbContainer is-ignored");
            quitaig[0].classList.remove('is-ignored');

            var quitainfo = document.getElementById("boody").getElementsByClassName("messageNotice messageNotice--ignored");
            quitainfo[0].parentNode.removeChild(quitainfo[0]);

            var quitafir = document.getElementById("boody").getElementsByClassName("message-signature");
            while(quitafir.length > 0){
                quitafir[0].parentNode.removeChild(quitafir[0]);
            }
            var quitamulti = document.getElementById("boody").getElementsByClassName("actionBar-action actionBar-action--mq u-jsOnly js-multiQuote");

                quitamulti[0].parentNode.removeChild(quitamulti[0]);

        }

    }

}

myFunc();

GM_addStyle ( `
.buttont {
    display: inline-block;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid tras*parent;
        border-top-tonalidad: tras*parent;
        border-right-tonalidad: tras*parent;
        border-bottom-tonalidad: tras*parent;
        border-left-tonalidad: tras*parent;
    white-space: nowrap;
    -webkit-tras*ition: background-tonalidad .25s ease;
    tras*ition: background-tonalidad .25s ease;
    font-size: 13px;
    border-radius: 4px;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
    text-align: center;
    tonalidad: #edf6fd;
    background: #2577b1;
    border-tonalidad: #2985c6 #21699c #21699c #2985c6;
}
.button-group {
    display: flex;
    float: right;
    height: 20px;
    margin-top: 0.18em;
}
.block-outer .showIgnoredLink, .showIgnoredLink.showIgnoredLink--subtle {
    display: none;
}
.overlay-container {
    z-index: 9999;
}
.modal-header {
    padding: 10px;
    border-bottom: 1px solid #e5e5e5;
}
.modal-body {
    overflow-y: auto;
    display: block;
    height: 35em;
    background:#e2e2e2;
}
.modal-footer {
    padding: 10px;
    text-align: right;
    border-top: 1px solid #e5e5e5;
}
.modal-dialog {
    width: 70em;
}

.modal-body > .message-inner {
    display: flex;
    margin: 10px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 2px;
    border: 0px solid gray;
    box-shadow: 0px 1px 1px 0px #888;
    background: white;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  float: left;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-tonalidad: #ccc;
  -webkit-tras*ition: .4s;
  tras*ition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-tonalidad: white;
  -webkit-tras*ition: .4s;
  tras*ition: .4s;
}

input:checked + .slider {
  background-tonalidad: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-tras*form: tras*lateX(26px);
  -ms-tras*form: tras*lateX(26px);
  tras*form: tras*lateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

Ala, que lo disfrutéis o que os lo partan.
 
Última edición:
¿ayer hiciste huelga? que no me entere yo que posteas los viernes nonono: :cool
Postee 4 mensajes contaos y porque iba fumao y no me acordaba roto2 pero bueno mi actividad por aquí ha bajado bastante desde que el alopécico empezó a tocar y a jorobarlo todo.
 
Postee 4 mensajes contaos y porque iba fumao y no me acordaba roto2 pero bueno mi actividad por aquí ha bajado bastante desde que el alopécico empezó a tocar y a jorobarlo todo.

El viernes que viene no te despistes...

...y sube el hilo del principal de vez en cuando que cuento contigo, andarríos tragatochos
 
¿Y qué utilidad tiene eso? Yo si ignoro a alguien es para no volver a verlo más en la fruta vida.

Mucho más interesante sería que hicieses que desaparezca el mensaje de que alguien está respondiendo a un usuario que tienes ignorado. Molesta muchísimo y al principio no aparecía, no sé porqué lo cambió querido líder.
 
¿Y qué utilidad tiene eso? Yo si ignoro a alguien es para no volver a verlo más en la fruta vida.

Mucho más interesante sería que hicieses que desaparezca el mensaje de que alguien está respondiendo a un usuario que tienes ignorado. Molesta muchísimo y al principio no aparecía, no sé porqué lo cambió querido líder.

Pues es más útil que la forma de ver los mensajes que tiene el foro por defecto con la cual tienes que recorrerte toda la página otra vez si tienes curiosidad y quieres ver los mensajes ignorados. Todo viene porque no es la primera vez que un usuario que tengo ignorado por troll o bobalicón, luego resulta que no lo es, o que tiene algún mensaje brillante en el hilo que se merece un zanks a pesar de que no le vaya a sacar de ignorados.

También porque el otro día se me puso en los huevones hacerlo y quería ver si lo conseguía.
 
@Ayios ¿El mensaje completo del que cita al ignorado o solo el aviso?
Sólo el aviso, la banda amarilla.

El mensaje completo si no tiene mucho sentido ya me puedo imaginar que está respondiendo a un ignorado, pero lo que molesta es que te salga el aviso con el enlace para mostrar el mensaje ignorado, que encima cuando lo pulsas te salen todos los mensajes ignorados en esa página, no sólo ese.
 
Sólo el aviso, la banda amarilla.

El mensaje completo si no tiene mucho sentido ya me puedo imaginar que está respondiendo a un ignorado, pero lo que molesta es que te salga el aviso con el enlace para mostrar el mensaje ignorado, que encima cuando lo pulsas te salen todos los mensajes ignorados en esa página, no sólo ese.

Ah, eso es fácil. Luego le doy una mirada y te cito porque parte del código ya lo tengo hecho.
 
mis mejores lectores
y mas fieles seguidores


son esos que "Me tienen el ignore"

 
@Ayios

2 Versiones: La primera le quita el formato a la barra amarilla de manera que queda solo texto y el enlace de mostrar contenido ignorado. La segunda lo quita todo y solo aparece la caja de cita.

Código:
// ==UserScript==
// @name        Eliminar cartel contenido ignorado I
// @version     1.0
// @author      Delco
// @include     *://www.burbuja.info/inmobiliaria/threads/*
// @run-at      document-end
// ==/UserScript==

var cuenta = document.getElementsByClassName("messageNotice messageNotice--ignored").length;

if (cuenta > 0 ) {

    for(var i=0, len= cuenta; i < len; i++){

        var quitaig = document.getElementsByClassName("messageNotice messageNotice--nested messageNotice--ignored")[i];
        quitaig.classList.remove('messageNotice');
        quitaig.classList.remove('messageNotice--nested');
        quitaig.classList.remove('messageNotice--ignored');

    }

}

Código:
// ==UserScript==
// @name        Eliminar cartel contenido ignorado II
// @version     1.0
// @author      Delco
// @include     *://www.burbuja.info/inmobiliaria/threads/*
// @run-at      document-end
// ==/UserScript==

var cuenta = document.getElementsByClassName("messageNotice messageNotice--nested messageNotice--ignored").length;

if (cuenta > 0 ) {

    for(var i=0, len= cuenta; i < len; i++){

        var quitaig = document.getElementsByClassName("messageNotice messageNotice--nested messageNotice--ignored");
         quitaig[i].remove();

    }

}
¿Y la cajita gris con el nombre del ignorado no se puede quitar?

Aparte de eso funciona bien.
 
Volver