Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions 2026/css/registro.css
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,15 @@
color: #28a745;
}

/* display: grid de .registro-form anula el atributo hidden. */
.registro-form[hidden] {
display: none;
}

.registro-cerrado h2 {
margin-top: 0;
}

@media (max-width: 768px) {
.registro-layout,
.field-grid {
Expand Down
14 changes: 14 additions & 0 deletions 2026/js/registro.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,25 @@
});
}

// 21 oct 2026, 7:00 p. m. en Panamá (UTC-5). Supabase rechaza los envíos desde esa hora.
const CIERRE_REGISTRO = Date.parse('2026-10-22T00:00:00Z');
const registroCerrado = document.getElementById('registroCerrado');

function registroEstaCerrado() {
if (Date.now() < CIERRE_REGISTRO) return false;
form.hidden = true;
registroCerrado.hidden = false;
return true;
}

dayInputs.forEach(option => option.addEventListener('change', syncAttendanceFields));
syncAttendanceFields();
registroEstaCerrado();

form.addEventListener('submit', async function (event) {
event.preventDefault();
// La página pudo abrirse antes del cierre.
if (registroEstaCerrado()) return;
syncAttendanceFields();

if (!form.checkValidity()) {
Expand Down
5 changes: 5 additions & 0 deletions 2026/registro.html
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ <h2>PyCon Panamá 2026</h2>
</aside>

<div class="registro-panel">
<div id="registroCerrado" class="registro-cerrado" role="status" hidden>
<h2>El registro está cerrado</h2>
<p>El registro para PyCon Panamá 2026 cerró el miércoles 21 de octubre a las 7:00 p. m.</p>
<p>Si te registraste, te escribiremos por correo con los detalles para participar. ¿Tienes dudas? Escríbenos a <a href="mailto:pyconpanama@gmail.com">pyconpanama@gmail.com</a>.</p>
</div>
<form id="registroForm" class="registro-form" novalidate>
<div class="field-grid">
<div class="field">
Expand Down
6 changes: 6 additions & 0 deletions tests/registro-page.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ test('el registro exige al menos un día y modalidad cuando corresponde', () =>
assert.match(pageScript, /option\.required = diaJueves\.checked/);
});

test('el registro se cierra el 21 de octubre a las 7:00 p. m. de Panamá', () => {
assert.match(page, /id="registroCerrado"[^>]+hidden/);
assert.match(pageScript, /Date\.parse\('2026-10-22T00:00:00Z'\)/);
assert.match(pageScript, /if \(registroEstaCerrado\(\)\) return;/);
});

test('el registro recoge accesibilidad y consentimiento de privacidad explícito', () => {
assert.match(page, /id="accesibilidad"[^>]+maxlength="500"/);
assert.match(page, /No incluyas diagnósticos ni información médica/);
Expand Down
Loading