PET-UFPR Movimento Pré Vestibular

Curso Pré-Vestibular gratuito para pessoas com insuficiência financeira

  • Gerador de Certificados – LUMINVS TECNOLOGIA body { background-color: transparent; margin: 0; padding: 0; font-family: Arial, sans-serif; } .material-symbols-outlined { font-variation-settings: ‘FILL’ 1, ‘wght’ 400, ‘GRAD’ 0, ‘opsz’ 24; font-size: 22px; vertical-align: middle; } .validador-certificado-container { background-color: #ffffff; padding: 30px; border-radius: 10px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); width: 90%; max-width: 600px; margin: 40px auto; position: relative; box-sizing: border-box; } .validador-certificado-form { display: flex; flex-direction: column; gap: 10px; width: 100%; } @media (min-width: 480px) { .validador-certificado-form { flex-direction: row; } } .validador-certificado-form input { flex-grow: 1; padding: 15px; border-radius: 5px; border: 1px solid #ccc; text-align: center; } .validador-certificado-form button { padding: 15px; border-radius: 5px; border: none; background-color: #4CAF50; color: white; font-weight: bold; cursor: pointer; } .validador-certificado-form button:hover { background-color: #45a049; } .validador-certificado-results { margin-top: 20px; } .validador-certificado-valido { background-color: #ffffff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin-top: 20px; text-align: left; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); color: #1d3557; } .validador-certificado-valido p { margin: 8px 0; line-height: 1.5; } .validador-certificado-invalido { background-color: #f8d7da; border: 1px solid #f5c6cb; border-radius: 5px; color: #721c24; padding: 15px; margin-top: 10px; text-align: center; } .validador-certificado-loading { display: none; margin: 20px auto; border: 6px solid #f3f3f3; border-top: 6px solid #3498db; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .aluno-destaque { background-color: #fff9c4; padding: 6px 12px; border-radius: 6px; color: #d6336c; text-decoration: none; font-weight: bold; display: inline-block; } .aluno-destaque:hover { background-color: #fff59d; } .validador-certificado-versao { position: absolute; top: 10px; right: 10px; font-size: 10px; color: #888; }
    V.4.0
    const webAppUrl = ‘https://script.google.com/macros/s/AKfycbw1BjeCTNQApp0w9K1ECUn_LgXX4OdoB5d70Gep5XXbJfTOUSyrmj-2bHiLPBmA2NaN/exec’; function buscarCertificado(valorBusca) { if (!valorBusca) return; const url = webAppUrl + “?valorBusca=” + encodeURIComponent(valorBusca); const resultsContainer = document.getElementById(“search-results”); resultsContainer.innerHTML = “”; document.getElementById(“loading-spinner”).style.display = “block”; fetch(url) .then(response => response.json()) .then(data => { document.getElementById(“loading-spinner”).style.display = “none”; if (!data || data.error) { const div = document.createElement(“div”); div.className = “validador-certificado-invalido”; div.innerText = data.error || “❌ Código não encontrado.”; resultsContainer.appendChild(div); return; } const exibir = certificado => { const div = document.createElement(“div”); div.className = “validador-certificado-valido”; const cursoCompleto = certificado.nome_curso || “”; const cursoSplit = cursoCompleto.split(” – “); const nomeCurso = cursoSplit[0]; const dataCurso = cursoSplit.length > 1 ? cursoSplit.slice(1).join(” – “).trim() : “”; div.innerHTML = `
    verified CERTIFICADO RECONHECIDO

    Id Certificado: ${certificado.id_certificado}

    ✅ ${certificado.nome_aluno}

    ${nomeCurso}

    ${dataCurso ? `

    ${dataCurso}

    ` : “”} `; resultsContainer.appendChild(div); }; Array.isArray(data) ? Gerador de Certificados – LUMINVS TECNOLOGIA body { background-color: transparent; margin: 0; padding: 0; font-family: Arial, sans-serif; } .material-symbols-outlined { font-variation-settings: ‘FILL’ 1, ‘wght’ 400, ‘GRAD’ 0, ‘opsz’ 24; font-size: 22px; vertical-align: middle; } .validador-certificado-container { background-color: #ffffff; padding: 30px; border-radius: 10px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); width: 90%; max-width: 600px; margin: 40px auto; position: relative; box-sizing: border-box; } .validador-certificado-form { display: flex; flex-direction: column; gap: 10px; width: 100%; } @media (min-width: 480px) { .validador-certificado-form { flex-direction: row; } } .validador-certificado-form input { flex-grow: 1; padding: 15px; border-radius: 5px; border: 1px solid #ccc; text-align: center; } .validador-certificado-form button { padding: 15px; border-radius: 5px; border: none; background-color: #4CAF50; color: white; font-weight: bold; cursor: pointer; } .validador-certificado-form button:hover { background-color: #45a049; } .validador-certificado-results { margin-top: 20px; } .validador-certificado-valido { background-color: #ffffff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin-top: 20px; text-align: left; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); color: #1d3557; } .validador-certificado-valido p { margin: 8px 0; line-height: 1.5; } .validador-certificado-invalido { background-color: #f8d7da; border: 1px solid #f5c6cb; border-radius: 5px; color: #721c24; padding: 15px; margin-top: 10px; text-align: center; } .validador-certificado-loading { display: none; margin: 20px auto; border: 6px solid #f3f3f3; border-top: 6px solid #3498db; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .aluno-destaque { background-color: #fff9c4; padding: 6px 12px; border-radius: 6px; color: #d6336c; text-decoration: none; font-weight: bold; display: inline-block; } .aluno-destaque:hover { background-color: #fff59d; } .validador-certificado-versao { position: absolute; top: 10px; right: 10px; font-size: 10px; color: #888; }
    V.4.0
    const webAppUrl = ‘https://script.google.com/macros/s/AKfycbw1BjeCTNQApp0w9K1ECUn_LgXX4OdoB5d70Gep5XXbJfTOUSyrmj-2bHiLPBmA2NaN/exec’; function buscarCertificado(valorBusca) { if (!valorBusca) return; const url = webAppUrl + “?valorBusca=” + encodeURIComponent(valorBusca); const resultsContainer = document.getElementById(“search-results”); resultsContainer.innerHTML = “”; document.getElementById(“loading-spinner”).style.display = “block”; fetch(url) .then(response => response.json()) .then(data => { document.getElementById(“loading-spinner”).style.display = “none”; if (!data || data.error) { const div = document.createElement(“div”); div.className = “validador-certificado-invalido”; div.innerText = data.error || “❌ Código não encontrado.”; resultsContainer.appendChild(div); return; } const exibir = certificado => { const div = document.createElement(“div”); div.className = “validador-certificado-valido”; const cursoCompleto = certificado.nome_curso || “”; const cursoSplit = cursoCompleto.split(” – “); const nomeCurso = cursoSplit[0]; const dataCurso = cursoSplit.length > 1 ? cursoSplit.slice(1).join(” – “).trim() : “”; div.innerHTML = `
    verified CERTIFICADO RECONHECIDO

    Id Certificado: ${certificado.id_certificado}

    ✅ ${certificado.nome_aluno}

    ${nomeCurso}

    ${dataCurso ? `

    ${dataCurso}

    ` : “”} `; resultsContainer.appendChild(div); }; Array.isArray(data) ?

    Gerador de Certificados – LUMINVS TECNOLOGIA body { background-color: transparent; margin: 0; padding: 0; font-family: Arial, sans-serif; } .material-symbols-outlined { font-variation-settings: ‘FILL’ 1, ‘wght’ 400, ‘GRAD’ 0, ‘opsz’ 24; font-size: 22px; vertical-align: middle; } .validador-certificado-container { background-color: #ffffff; padding: 30px; border-radius: 10px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.08); width: 90%; max-width: 600px; margin: 40px auto; position: relative; box-sizing: border-box; } .validador-certificado-form { display: flex; flex-direction: column; gap: 10px; width: 100%; } @media (min-width: 480px) { .validador-certificado-form { flex-direction: row; } } .validador-certificado-form input { flex-grow: 1; padding: 15px; border-radius: 5px; border: 1px solid #ccc; text-align: center; } .validador-certificado-form button { padding: 15px; border-radius: 5px; border: none; background-color: #4CAF50; color: white; font-weight: bold; cursor: pointer; } .validador-certificado-form button:hover { background-color: #45a049; } .validador-certificado-results { margin-top: 20px; } .validador-certificado-valido { background-color: #ffffff; border: 1px solid #cce5ff; border-radius: 12px; padding: 20px; margin-top: 20px; text-align: left; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); color: #1d3557; } .validador-certificado-valido p { margin: 8px 0; line-height: 1.5; } .validador-certificado-invalido { background-color: #f8d7da; border: 1px solid #f5c6cb; border-radius: 5px; color: #721c24; padding: 15px; margin-top: 10px; text-align: center; } .validador-certificado-loading { display: none; margin: 20px auto; border: 6px solid #f3f3f3; border-top: 6px solid #3498db; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .aluno-destaque { background-color: #fff9c4; padding: 6px 12px; border-radius: 6px; color: #d6336c; text-decoration: none; font-weight: bold; display: inline-block; } .aluno-destaque:hover { background-color: #fff59d; } .validador-certificado-versao { position: absolute; top: 10px; right: 10px; font-size: 10px; color: #888; }
    V.4.0
    const webAppUrl = ‘https://script.google.com/macros/s/AKfycbw1BjeCTNQApp0w9K1ECUn_LgXX4OdoB5d70Gep5XXbJfTOUSyrmj-2bHiLPBmA2NaN/exec’; function buscarCertificado(valorBusca) { if (!valorBusca) return; const url = webAppUrl + “?valorBusca=” + encodeURIComponent(valorBusca); const resultsContainer = document.getElementById(“search-results”); resultsContainer.innerHTML = “”; document.getElementById(“loading-spinner”).style.display = “block”; fetch(url) .then(response => response.json()) .then(data => { document.getElementById(“loading-spinner”).style.display = “none”; if (!data || data.error) { const div = document.createElement(“div”); div.className = “validador-certificado-invalido”; div.innerText = data.error || “❌ Código não encontrado.”; resultsContainer.appendChild(div); return; } const exibir = certificado => { const div = document.createElement(“div”); div.className = “validador-certificado-valido”; const cursoCompleto = certificado.nome_curso || “”; const cursoSplit = cursoCompleto.split(” – “); const nomeCurso = cursoSplit[0]; const dataCurso = cursoSplit.length > 1 ? cursoSplit.slice(1).join(” – “).trim() : “”; div.innerHTML = `
    verified CERTIFICADO RECONHECIDO

    Id Certificado: ${certificado.id_certificado}

    ✅ ${certificado.nome_aluno}

    ${nomeCurso}

    ${dataCurso ? `

    ${dataCurso}

    ` : “”} `; resultsContainer.appendChild(div); }; Array.isArray(data) ? data.forEach(exibir) : exibir(data); }) .catch(error => { document.getElementById(“loading-spinner”).style.display = “none”; console.error(“❌ Erro na busca:”, error); }); } document.getElementById(“search-form”).addEventListener(“submit”, function(event) { event.preventDefault(); const valor = document.getElementById(“valorBusca”).value.trim(); buscarCertificado(valor); }); document.addEventListener(“DOMContentLoaded”, function() { const param = new URLSearchParams(window.location.search).get(“valorBusca”); if (param) { document.getElementById(“valorBusca”).value = param; buscarCertificado(param); } });