{"id":5570,"date":"2026-09-23T15:47:04","date_gmt":"2026-09-23T18:47:04","guid":{"rendered":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/?page_id=5570"},"modified":"2026-09-23T15:48:15","modified_gmt":"2026-09-23T18:48:15","slug":"5570-2","status":"publish","type":"page","link":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/5570-2\/","title":{"rendered":"Validaci\u00f3n Semana Dickens 2026"},"content":{"rendered":"\n<!-- ============================================================\n     Widget de asistencia \u00b7 Semana Dickens\n     Pegar este bloque completo en una p\u00e1gina de WordPress usando\n     un bloque \"HTML personalizado\" (Gutenberg) \u2014 NO un bloque de\n     p\u00e1rrafo\/texto normal, porque esos sanitizan el <script>.\n\n     La p\u00e1gina donde lo pegues debe abrirse con ?charla=ID_DE_LA_CHARLA\n     en la URL (eso ya lo arma solo el sistema al generar el QR, una\n     vez que completes ASISTENCIA_WIDGET_URL en el .gs con la URL de\n     ESTA p\u00e1gina).\n     ============================================================ -->\n<div id=\"sd-asistencia-widget\" style=\"max-width:420px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;text-align:center;padding:20px;border:1px solid #d7e0e8;border-radius:14px;background:#fff\">\n  <h3 id=\"sd-titulo\" style=\"color:#123f70;margin:0 0 6px\">Registrar asistencia<\/h3>\n  <p id=\"sd-subtitulo\" style=\"color:#607080;margin:0 0 18px\">Ingres\u00e1 tu DNI para confirmar tu presencia.<\/p>\n  <input id=\"sd-dni\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"DNI\"\n         style=\"padding:12px;font-size:18px;width:100%;max-width:220px;border:1px solid #bdcad6;border-radius:8px;text-align:center;box-sizing:border-box\">\n  <br>\n  <button id=\"sd-btn\" style=\"margin-top:14px;padding:12px 28px;font-size:16px;font-weight:bold;background:#237a3b;color:#fff;border:0;border-radius:8px;cursor:pointer\">\n    Confirmar presente\n  <\/button>\n  <div id=\"sd-msg\" style=\"margin-top:16px;font-weight:bold;min-height:20px\"><\/div>\n<\/div>\n\n<script>\n(function(){\n  \/\/ ---- CONFIGURACION: peg\u00e1 ac\u00e1 la URL \/exec de tu Apps Script (la misma\n  \/\/ constante SD.WEB_APP_URL del c\u00f3digo de Google Apps Script) ----\n  var APPS_SCRIPT_URL = 'https:\/\/script.google.com\/macros\/s\/AKfycbx_v3J4w6Ehq1olMIyDhMw77KgoCD7eXRbncWkT77FDlP2b_sgdGvqkdh6TdMHIwhR_\/exec';\n\n  var params = new URLSearchParams(window.location.search);\n  var charla = params.get('charla') || '';\n\n  var btn = document.getElementById('sd-btn');\n  var msg = document.getElementById('sd-msg');\n  var dniInput = document.getElementById('sd-dni');\n  var subtitulo = document.getElementById('sd-subtitulo');\n\n  if (!charla) {\n    subtitulo.textContent = 'Falta el identificador de la charla en el enlace. Escane\u00e1 el QR impreso en el aula.';\n    btn.disabled = true;\n    btn.style.opacity = '0.5';\n  }\n\n  function setMsg(text, ok) {\n    msg.style.color = ok ? '#237a3b' : '#b42318';\n    msg.textContent = text;\n  }\n\n  async function confirmar() {\n    var dni = (dniInput.value || '').trim();\n    if (!dni) { setMsg('Ingres\u00e1 tu DNI.', false); dniInput.focus(); return; }\n    if (!charla) { setMsg('Falta el identificador de la charla.', false); return; }\n\n    btn.disabled = true;\n    setMsg('Registrando\u2026', true);\n\n    try {\n      var url = APPS_SCRIPT_URL + '?api=asistencia&dni=' + encodeURIComponent(dni) + '&charla=' + encodeURIComponent(charla);\n      var res = await fetch(url);\n      var data = await res.json();\n      setMsg(data.message || (data.ok ? 'Listo.' : 'No se pudo registrar la asistencia.'), !!data.ok);\n      if (data.ok) { dniInput.value = ''; }\n    } catch (err) {\n      setMsg('Error de conexi\u00f3n. Revis\u00e1 tu internet e intent\u00e1 de nuevo.', false);\n    } finally {\n      btn.disabled = false;\n    }\n  }\n\n  btn.addEventListener('click', confirmar);\n  dniInput.addEventListener('keydown', function(e){ if (e.key === 'Enter') confirmar(); });\n\n  \/\/ Foco autom\u00e1tico al cargar, para que alcance con escanear -> tipear -> Enter\n  setTimeout(function(){ dniInput.focus(); }, 100);\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1468,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/pages\/5570"}],"collection":[{"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/users\/1468"}],"replies":[{"embeddable":true,"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/comments?post=5570"}],"version-history":[{"count":2,"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/pages\/5570\/revisions"}],"predecessor-version":[{"id":5572,"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/pages\/5570\/revisions\/5572"}],"wp:attachment":[{"href":"https:\/\/isef2-caba.infd.edu.ar\/sitio\/wp-json\/wp\/v2\/media?parent=5570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}