Difference between revisions of "MediaWiki:Common.css"

From XilePK - Ragnarok Online Server
Jump to navigation Jump to search
Line 4: Line 4:
 
/ Estilo para os elementos clicáveis /
 
/ Estilo para os elementos clicáveis /
 
.warp-copy {
 
.warp-copy {
     color:  
+
     color: #0066cc;
#0066cc;
 
 
     cursor: pointer;
 
     cursor: pointer;
 
     text-decoration: none;
 
     text-decoration: none;
Line 11: Line 10:
 
     display: inline-block;
 
     display: inline-block;
 
     border-bottom: none; / Remove a borda inferior /
 
     border-bottom: none; / Remove a borda inferior /
     text-decoration: underline dotted  
+
     text-decoration: underline dotted #0066cc; / Usa sublinhado pontilhado /
#0066cc; / Usa sublinhado pontilhado /
 
 
     text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links /
 
     text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links /
 
}
 
}
Line 176: Line 174:
 
     white-space: nowrap; /* Evita quebra de linha */
 
     white-space: nowrap; /* Evita quebra de linha */
 
}
 
}
 +
 +
/* JavaScript para funcionalidade de cópia */
 +
mw.hook('wikipage.content').add(function ($content) {
 +
    // Adiciona funcionalidade aos elementos com a classe warp-copy
 +
    $content.find('.warp-copy').on('click', function () {
 +
        var textToCopy = $(this).attr('data-copy');
 +
       
 +
        // Cria um elemento temporário para copiar o texto
 +
        var tempInput = document.createElement('textarea');
 +
        tempInput.value = textToCopy;
 +
        document.body.appendChild(tempInput);
 +
        tempInput.select();
 +
       
 +
        try {
 +
            // Executa o comando de cópia
 +
            var successful = document.execCommand('copy');
 +
           
 +
            // Feedback visual temporário ao usuário
 +
            var originalText = $(this).text();
 +
            if (successful) {
 +
                // Altera o texto do tooltip para "Copied!" por um breve período
 +
                var $this = $(this);
 +
                $this.addClass('copied');
 +
               
 +
                // Altera o texto do tooltip temporariamente
 +
                $this.attr('data-tooltip-text', 'Copied!');
 +
               
 +
                setTimeout(function () {
 +
                    $this.removeClass('copied');
 +
                    $this.attr('data-tooltip-text', 'Copy');
 +
                }, 1500);
 +
            }
 +
        } catch (err) {
 +
            console.error('Erro ao copiar texto: ', err);
 +
        }
 +
       
 +
        // Remove o elemento temporário
 +
        document.body.removeChild(tempInput);
 +
    });
 +
});

Revision as of 15:12, 25 April 2025

/* CSS placed here will be applied to all skins */
* body.page-Main_Page h1.firstHeading { display:none; }
/* { font-family: courier new } /
/ Estilo para os elementos clicáveis /
.warp-copy {
    color: #0066cc;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    display: inline-block;
    border-bottom: none; / Remove a borda inferior /
    text-decoration: underline dotted #0066cc; / Usa sublinhado pontilhado /
    text-underline-offset: 2px; / Ajusta a altura do sublinhado para corresponder aos links /
}
/ Tooltip personalizado /
.warp-copy::after {
    content: "Copy";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    pointer-events: none;
    z-index: 100;
}
/ Seta do tooltip /
.warp-copy::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 4px;
    border-style: solid;
    border-color: transparent transparent #333 transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    pointer-events: none;
    z-index: 100;
}
/ Mostrar tooltip ao passar o mouse /
.warp-copy:hover::after,
.warp-copy:hover::before {
    opacity: 1;
    visibility: visible;
    bottom: calc(100% + 5px);
}
/ Mantém o estilo padrão dos links /
a {
    / Não alteramos o estilo padrão dos links /
    / Possivelmente, você pode adicionar aqui um offset explícito se necessário /
    text-underline-offset: 0px; / Opcional, para garantir consistência /
}
.external {
    background: none !important;
    padding-right: 0 !important;
}
/   Tabelas */
.tile-row {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 1em;
}
.tile-halves {
    display: flex;
    flex-flow: row wrap;
    border: 1px solid 
#e4eaee;
    background: 
#ffffff;
    box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1);
}
.tile-halves h2 {
    font-size: 1.4em;
    font-weight: bold;
    border: none;
    margin: 0 0 0.4em;
}
.tile-halves .byline + h2 {
    margin-top: -0.5em;
}
.tile-top {
    width: 100%;
    padding: 1.3rem 1.5rem 0.6rem;
}
.tile-top.tile-image {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #949eaa;
    overflow: visible;
    padding: 0;
    height: auto;
    width: 100%; /* Garante que cubra 100% da largura do contêiner pai */
    box-sizing: border-box; /* Importante para que padding não aumente a largura */
}
.tile-top.tile-image a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tile-top.tile-image img {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    transition: 0.4s ease-out;
}
.tile-bottom {
    background: 
#ffffff;
    border-top: 1px solid 
#e4eaee;
    width: 100%;
    padding: 1rem 1.5rem 0.6rem;
}
.tile-bottom.link-button {
    align-self: center;
    padding: 0; /* Remove padding completamente */
    width: auto;
    margin: 0 auto;
    max-width: fit-content; /* Limita a largura ao conteúdo */
}
.tile-bottom.link-button a {
    display: block;
    text-align: center;
    padding: 0.75em 0.6em 0.8em; /* Reduz o padding lateral de 1.5em para 0.6em */
    text-decoration: none;
}
.mainpage-contents .tile-halves {
    display: inline-block;
    flex: 0 0 auto;
    margin-right: 0.9rem;
    width: auto;
    max-width: max-content;
}
.mainpage-contents .tile-halves:hover .tile-top img {
    transform: scale(1.04);
}
.mainpage-contents .tile-halves:last-child {
    margin-right: 0;
}
.mainpage-contents .tile-top {
    height: auto; /* Remove altura fixa */
    min-height: auto;
    position: relative;
}
.mainpage-contents .tile-top h2 a {
    display: block;
    text-align: center;
    text-decoration: none;
    line-height: 4.5rem;
    padding-left: 0.45rem;
}
.mainpage-contents h2 {
    margin: 0;
    padding: 0;
}
.tile-bottom.link-button h2 {
    width: max-content;
    margin: 0 auto;
    padding: 0;
    white-space: nowrap; /* Evita quebra de linha */
}

/* JavaScript para funcionalidade de cópia */
mw.hook('wikipage.content').add(function ($content) {
    // Adiciona funcionalidade aos elementos com a classe warp-copy
    $content.find('.warp-copy').on('click', function () {
        var textToCopy = $(this).attr('data-copy');
        
        // Cria um elemento temporário para copiar o texto
        var tempInput = document.createElement('textarea');
        tempInput.value = textToCopy;
        document.body.appendChild(tempInput);
        tempInput.select();
        
        try {
            // Executa o comando de cópia
            var successful = document.execCommand('copy');
            
            // Feedback visual temporário ao usuário
            var originalText = $(this).text();
            if (successful) {
                // Altera o texto do tooltip para "Copied!" por um breve período
                var $this = $(this);
                $this.addClass('copied');
                
                // Altera o texto do tooltip temporariamente
                $this.attr('data-tooltip-text', 'Copied!');
                
                setTimeout(function () {
                    $this.removeClass('copied');
                    $this.attr('data-tooltip-text', 'Copy');
                }, 1500);
            }
        } catch (err) {
            console.error('Erro ao copiar texto: ', err);
        }
        
        // Remove o elemento temporário
        document.body.removeChild(tempInput);
    });
});