Mudanças entre as edições de "Widget:BossActions"

De Wiki Gla
Ir para navegação Ir para pesquisar
Etiqueta: Reversão manual
 
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<noinclude>
Widget para controle de abas.
</noinclude>
<includeonly>
<script>
<script>
/*<![CDATA[*/
window.showBossSection = function(sectionId, btnElement) {
    // 1. Esconde tudo o que for seção
    var sections = document.getElementsByClassName('boss-section');
    for (var i = 0; i < sections.length; i++) {
        sections[i].style.setProperty('display', 'none', 'important');
        sections[i].classList.remove('active');
    }
    // 2. Remove active dos botões
    var buttons = btnElement.parentElement.getElementsByClassName('boss-nav-btn');
    for (var j = 0; j < buttons.length; j++) {
        buttons[j].classList.remove('active');
    }
    // 3. Mostra a seção clicada
    var target = document.getElementById(sectionId);
    if (target) {
        target.style.setProperty('display', 'block', 'important');
        target.classList.add('active');
    }
    btnElement.classList.add('active');
};
/*]]>*/
</script>
</includeonly>
<noinclude>
Widget genérico para estruturar páginas de Bosses.
Uso: {{#widget:BossActions}}
</noinclude>
<includeonly>
<style>
    /* Reaproveitando o padrão da Home do GLA */
    .boss-grid-container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
        padding: 10px;
    }
    /* Estilo de Card idêntico ao da Home */
    .boss-card-item {
        width: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid #bbb;
        border-radius: 12px;
        background: #fff;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    }
    .boss-card-item:hover {
        transform: translateY(-3px);
        border-color: #007bff;
        box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    }
    .boss-card-header {
        height: 4px;
        width: 100%;
    }
    .boss-card-title {
        font-weight: bold;
        padding: 10px;
        text-align: center;
        background: #f8f9fa;
        color: #0645AD;
        border-bottom: 1px solid #eee;
        text-transform: uppercase;
    }


/* Função para trocar de aba (seção)
    /* Ajuste para o Tabber parecer botões */
  sectionId: O ID da div que deve aparecer
    .tabber__tabs {
  buttonElement: O próprio botão clicado para mudar a classe 'active'
        display: flex !important;
*/
        justify-content: center !important;
function showBossSection(sectionId, buttonElement) {
        gap: 10px !important;
    // 1. Esconder todas as seções de conteúdo
         border-bottom: none !important;
    const sections = document.querySelectorAll('.boss-content-section');
         margin-bottom: 20px !important;
    sections.forEach(sec => {
     }
         sec.classList.remove('active');
         sec.style.display = 'none'; // Garantia extra de esconder
     });


     // 2. Mostrar a seção selecionada
     .tabber__tab {
    const targetSection = document.getElementById(sectionId);
        background: #fff !important;
    if (targetSection) {
        border: 1px solid #007bff !important;
         targetSection.classList.add('active');
        border-radius: 8px !important;
         targetSection.style.display = 'block';
        padding: 8px 20px !important;
        color: #007bff !important;
         font-weight: bold !important;
         transition: 0.3s !important;
     }
     }


     // 3. Remover classe 'active' de todos os botões da barra de navegação
     .tabber__tab[aria-selected="true"] {
    // Procuramos os botões que estão no mesmo container do botão clicado
        background: #007bff !important;
    const navBar = buttonElement.parentElement;
         color: white !important;
    const buttons = navBar.querySelectorAll('.btn-boss-action');
     }
    buttons.forEach(btn => {
         btn.classList.remove('active');
     });


     // 4. Adicionar classe 'active' ao botão clicado
     /* Container de Scroll */
     buttonElement.classList.add('active');
     .boss-scroll-box {
}
        max-height: 300px;
</script>
        overflow-y: auto;
        padding: 10px;
    }
</style>
</includeonly>

Edição atual tal como às 20h35min de 21 de abril de 2026

Widget para controle de abas.



Widget genérico para estruturar páginas de Bosses. Uso: