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

De Wiki Gla
Ir para navegação Ir para pesquisar
 
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<includeonly>
 
<div style="background:#22232a; border-radius:12px; padding:12px; width:330px; max-width:95%; border:2px solid #383946; font-family: 'Segoe UI', sans-serif; color:white; box-shadow:0 0 10px #19191f;">
<head>
  <div style="display:flex; flex-direction:row; align-items:flex-start; gap:12px;">
  <meta charset="UTF-8">
    <div style="flex-shrink:0;">
  <title>Skill Viewer - Mixed Media</title>
       <div style="position:relative; width:94px; height:132px;">
 
        <img src="{{{imagem|https://via.placeholder.com/94x132?text=Criatura}}}" style="width:94px; height:132px; border-radius:8px; object-fit:cover; border: 2px solid #383946;" alt="Imagem da criatura">
  <style>
        <div style="position:absolute; top:6px; right:6px;">
    body {
          {{#if:{{{favorita|}}}|<span style="font-size:20px; color:#e14658;">&#10084;</span>|}}
      margin: 0;
        </div>
      padding: 40px 0;
      </div>
      font-family: Arial, Helvetica, sans-serif;
    </div>
      background: #ffffff;
     <div style="flex:1">
      color: #000;
       <div style="font-size:1.2em; font-weight:bold; margin-bottom:3px;">
    }
        {{{nome|Nome da Criatura}}}
 
      </div>
    .skill-box {
       <div style="font-size:0.97em; color:#aad2fa; margin-bottom:6px;">
      max-width: 900px;
        <span style="font-size:0.9em;">{{{tipo|Tipo}}}</span>
      margin: 0 auto;
       </div>
      text-align: center;
       <div>
    }
        '''Habitat:''' {{{habitat|Desconhecido}}}<br />
 
        '''Perigo:''' {{{perigo|?}}}
    .skill-tabs {
       </div>
      display: flex;
      justify-content: center;
      gap: 12px;
      margin-bottom: 25px;
    }
 
    .skill-tab {
       width: 45px;
      height: 45px;
      background: #222;
      color: #fff;
      border: none;
      border-radius: 6px;
      font-size: 18px;
      font-weight: bold;
      cursor: pointer;
    }
 
    .skill-tab.active {
      background: #000;
    }
 
    .skill-title {
      font-size: 26px;
      font-weight: bold;
      margin-bottom: 10px;
    }
 
    .skill-description p {
      margin: 4px 0;
      font-size: 14px;
    }
 
    .skill-media {
      margin-top: 25px;
      background: #1f1f1f;
      border-radius: 10px;
      overflow: hidden;
    }
 
    .skill-media iframe,
    .skill-media video {
      width: 100%;
      height: 420px;
      display: block;
      border: none;
    }
  </style>
</head>
 
<body>
  <div class="skill-box">
 
     <div class="skill-tabs">
       <button class="skill-tab active" data-skill="0">1</button>
       <button class="skill-tab" data-skill="1">2</button>
      <button class="skill-tab" data-skill="2">3</button>
       <button class="skill-tab" data-skill="3">4</button>
       <button class="skill-tab" data-skill="4">5</button>
       <button class="skill-tab" data-skill="5">6</button>
     </div>
     </div>
    <h2 class="skill-title">Habilidade 1</h2>
    <div class="skill-description"></div>
    <div class="skill-media"></div>
   </div>
   </div>
  <div style="margin-top:10px;">
    <div style="background:#171821; border-radius:8px; padding:8px 10px; margin-bottom:6px;">
      <span style="font-weight:bold; color:#f7de72;">Descrição</span><br />
      <span style="font-size:0.98em;">{{{descricao|Sem descrição.}}}</span>
    </div>
    {{#if:{{{ultima_vista|}}}|
    <div style="background:#171821; border-radius:8px; padding:7px 10px; margin-bottom:2px;">
      <span style="font-weight:bold; color:#f7de72;">Última Vista:</span>
      <span style="margin-left:4px; font-size:0.97em;">
        <span style="color:gold;">&#9679;</span> {{{ultima_vista}}}
      </span>
    </div>
    |}}
    {{#if:{{{primeira_aparicao|}}}|
    <div style="background:#171821; border-radius:8px; padding:7px 10px;">
      <span style="font-weight:bold; color:#f7de72;">Primeira Aparição:</span>
      <span style="margin-left:4px; font-size:0.97em;">
        <span style="color:gold;">&#9679;</span> {{{primeira_aparicao}}}
      </span>
    </div>
    |}}
  </div>
</div>
</includeonly>
<noinclude>
{{Gb}}


'''Uso:'''
  <script>
<pre>
    const skills = [
{{Gb
      {
|nome = Grifinório
        title: "Habilidade 1",
|imagem = Example.jpg
        description: [
|tipo = Ave Lendária
          "Descrição da habilidade 1",
|habitat = Montanhas rochosas
          "Cooldown: 10s"
|perigo = Alto
        ],
|descricao = Um pássaro colossal com garras afiadas e bico dourado, sabe voar longas distâncias e proteger tesouros.
        type: "iframe",
|ultima_vista = há 2 dias
        src: "https://www.youtube.com/embed/dQw4w9WgXcQ"
|primeira_aparicao = Capítulo 7
      },
|favorita = 1
      {
}}
        title: "Habilidade 2",
</pre>
        description: [
          "Descrição da habilidade 2",
          "Dano em área"
        ],
        type: "video",
        src: "https://wiki.gla.com.br/index.php?title=Especial:FilePath/Kaku-RankyakuSen.mp4"
      },
      {
        title: "Habilidade 3",
        description: [
          "Descrição da habilidade 3"
        ],
        type: "iframe",
        src: "https://player.vimeo.com/video/76979871"
      },
      {
        title: "Habilidade 4",
        description: [
          "Descrição da habilidade 4"
        ],
        type: "video",
        src: "https://www.w3schools.com/html/mov_bbb.mp4"
      },
      {
        title: "Habilidade 5",
        description: [
          "Descrição da habilidade 5"
        ],
        type: "iframe",
        src: "https://www.youtube.com/embed/3tmd-ClpJxA"
      },
      {
        title: "Habilidade 6",
        description: [
          "Descrição da habilidade 6",
          "Ultimate"
        ],
        type: "video",
        src: "videos/skill6.webm"
      }
    ];
 
    const tabs = document.querySelectorAll(".skill-tab");
    const titleEl = document.querySelector(".skill-title");
    const descEl = document.querySelector(".skill-description");
    const mediaEl = document.querySelector(".skill-media");
 
    function renderSkill(index) {
      const skill = skills[index];
 
      titleEl.textContent = skill.title;
 
      descEl.innerHTML = "";
      skill.description.forEach(text => {
        const p = document.createElement("p");
        p.textContent = text;
        descEl.appendChild(p);
      });
 
      mediaEl.innerHTML = "";
 
      if (skill.type === "iframe") {
        const iframe = document.createElement("iframe");
        iframe.src = skill.src;
        iframe.allowFullscreen = true;
        mediaEl.appendChild(iframe);
      }
 
      if (skill.type === "video") {
        const video = document.createElement("video");
        video.src = skill.src;
        video.controls = true;
        video.loop = true;
        video.muted = true;
        mediaEl.appendChild(video);
      }
    }
 
    tabs.forEach(tab => {
      tab.addEventListener("click", () => {
        tabs.forEach(t => t.classList.remove("active"));
        tab.classList.add("active");
        renderSkill(tab.dataset.skill);
      });
    });


'''Parâmetros:'''
    renderSkill(0);
* <code>nome</code> — Nome da criatura.
  </script>
* <code>imagem</code> — Imagem da criatura (URL ou wiki-arquivo).
</body>
* <code>tipo</code> — Tipo/Espécie da criatura.
</html>
* <code>habitat</code> — Onde é encontrada.
* <code>perigo</code> — Nível de perigo (baixo, médio, alto, etc.)
* <code>descricao</code> — Texto descritivo.

Edição atual tal como às 23h34min de 28 de dezembro de 2025

<head>

 <meta charset="UTF-8">
 <title>Skill Viewer - Mixed Media</title>
 <style>
   body {
     margin: 0;
     padding: 40px 0;
     font-family: Arial, Helvetica, sans-serif;
     background: #ffffff;
     color: #000;
   }
   .skill-box {
     max-width: 900px;
     margin: 0 auto;
     text-align: center;
   }
   .skill-tabs {
     display: flex;
     justify-content: center;
     gap: 12px;
     margin-bottom: 25px;
   }
   .skill-tab {
     width: 45px;
     height: 45px;
     background: #222;
     color: #fff;
     border: none;
     border-radius: 6px;
     font-size: 18px;
     font-weight: bold;
     cursor: pointer;
   }
   .skill-tab.active {
     background: #000;
   }
   .skill-title {
     font-size: 26px;
     font-weight: bold;
     margin-bottom: 10px;
   }
   .skill-description p {
     margin: 4px 0;
     font-size: 14px;
   }
   .skill-media {
     margin-top: 25px;
     background: #1f1f1f;
     border-radius: 10px;
     overflow: hidden;
   }
   .skill-media iframe,
   .skill-media video {
     width: 100%;
     height: 420px;
     display: block;
     border: none;
   }
 </style>

</head>

<body>

     <button class="skill-tab active" data-skill="0">1</button>
     <button class="skill-tab" data-skill="1">2</button>
     <button class="skill-tab" data-skill="2">3</button>
     <button class="skill-tab" data-skill="3">4</button>
     <button class="skill-tab" data-skill="4">5</button>
     <button class="skill-tab" data-skill="5">6</button>

Habilidade 1

 <script>
   const skills = [
     {
       title: "Habilidade 1",
       description: [
         "Descrição da habilidade 1",
         "Cooldown: 10s"
       ],
       type: "iframe",
       src: "https://www.youtube.com/embed/dQw4w9WgXcQ"
     },
     {
       title: "Habilidade 2",
       description: [
         "Descrição da habilidade 2",
         "Dano em área"
       ],
       type: "video",
       src: "https://wiki.gla.com.br/index.php?title=Especial:FilePath/Kaku-RankyakuSen.mp4"
     },
     {
       title: "Habilidade 3",
       description: [
         "Descrição da habilidade 3"
       ],
       type: "iframe",
       src: "https://player.vimeo.com/video/76979871"
     },
     {
       title: "Habilidade 4",
       description: [
         "Descrição da habilidade 4"
       ],
       type: "video",
       src: "https://www.w3schools.com/html/mov_bbb.mp4"
     },
     {
       title: "Habilidade 5",
       description: [
         "Descrição da habilidade 5"
       ],
       type: "iframe",
       src: "https://www.youtube.com/embed/3tmd-ClpJxA"
     },
     {
       title: "Habilidade 6",
       description: [
         "Descrição da habilidade 6",
         "Ultimate"
       ],
       type: "video",
       src: "videos/skill6.webm"
     }
   ];
   const tabs = document.querySelectorAll(".skill-tab");
   const titleEl = document.querySelector(".skill-title");
   const descEl = document.querySelector(".skill-description");
   const mediaEl = document.querySelector(".skill-media");
   function renderSkill(index) {
     const skill = skills[index];
     titleEl.textContent = skill.title;
     descEl.innerHTML = "";
     skill.description.forEach(text => {
       const p = document.createElement("p");
       p.textContent = text;
       descEl.appendChild(p);
     });
     mediaEl.innerHTML = "";
     if (skill.type === "iframe") {
       const iframe = document.createElement("iframe");
       iframe.src = skill.src;
       iframe.allowFullscreen = true;
       mediaEl.appendChild(iframe);
     }
     if (skill.type === "video") {
       const video = document.createElement("video");
       video.src = skill.src;
       video.controls = true;
       video.loop = true;
       video.muted = true;
       mediaEl.appendChild(video);
     }
   }
   tabs.forEach(tab => {
     tab.addEventListener("click", () => {
       tabs.forEach(t => t.classList.remove("active"));
       tab.classList.add("active");
       renderSkill(tab.dataset.skill);
     });
   });
   renderSkill(0);
 </script>

</body> </html>