FAQ - Johto

Revisão de 23h05min de 20 de junho de 2025 por Renee (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Banner FAQ Johto.webp


Perguntas Frequentes
`; return; } const ul = document.createElement("ul"); ul.className = "faq-list"; dataToRender.forEach((item, idx) => { let tags = item.tags || []; const ordered = []; DEFAULT_TAG_ORDER.forEach(tag => { if (tags.includes(tag)) ordered.push(tag); }); const rest = tags.filter(tag => !DEFAULT_TAG_ORDER.includes(tag)).sort(); tags = [...ordered, ...rest]; const li = document.createElement("li"); li.className = "faq-item"; const qId = `faq-q-${idx}-${Math.random().toString(36).slice(2)}`; li.innerHTML = `
Pergunta: ${item.question}
Resposta: ${item.answer}
${tags.map(tag => `${tag}`).join('')}
`; ul.appendChild(li); }); container.appendChild(ul); container.querySelectorAll(".faq-question").forEach(el => { el.onclick = function () { const ansId = this.getAttribute("data-answer"); const ans = document.getElementById(ansId); if (ans.classList.contains("active")) { ans.classList.remove("active"); } else { container.querySelectorAll(".faq-answer.active").forEach(a => a.classList.remove("active")); ans.classList.add("active"); } }; }); } function getRandomQuestions(faqArr, count = 8) { const arr = [...faqArr]; for (let i = arr.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [arr[i], arr[j]] = [arr[j], arr[i]]; } return arr.slice(0, count); } document.addEventListener("DOMContentLoaded", () => { const widget = document.getElementById("faq-widget"); if (!widget) { console.error("Erro: Elemento faq-widget não encontrado."); return; } // Obtém os parâmetros dos atributos data-* let title = widget.getAttribute("data-title") || "Perguntas Frequentes"; let placeholder = widget.getAttribute("data-placeholder") || "Pesquisar por palavra, grupo, etc."; // Log para depuração console.log("Title obtido:", title); console.log("Placeholder obtido:", placeholder); // Atualiza os elementos no DOM const titleElement = widget.querySelector(".faq-title"); const searchInput = widget.querySelector("#faq-search"); if (titleElement) { titleElement.textContent = title; } else { console.error("Erro: Elemento .faq-title não encontrado."); } if (searchInput) { searchInput.setAttribute("placeholder", placeholder); } else { console.error("Erro: Elemento #faq-search não encontrado."); } const tagSelect = widget.querySelector("#faq-tag-select"); if (!tagSelect) { console.error("Erro: Elemento #faq-tag-select não encontrado."); return; } renderTagSelect(tagSelect); function updateFAQ() { const selected = tagSelect.value; if (!selected) { renderFAQ({ filter: searchInput.value, tag: "", useRandom: !searchInput.value }); } else if (selected === "__all__") { renderFAQ({ filter: searchInput.value, tag: "__all__", useRandom: false }); } else { renderFAQ({ filter: searchInput.value, tag: selected, useRandom: false }); } } searchInput.addEventListener("input", updateFAQ); tagSelect.addEventListener("change", updateFAQ); // Renderiza inicialmente com a ordem padrão renderFAQ({ useRandom: true }); });