From 81800de9b94a921b90ce72aa08ac4450ee735b13 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 26 Oct 2023 18:31:17 -0400 Subject: [PATCH] index.html.in: add workaround for the code-centering issue --- index.html.in | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/index.html.in b/index.html.in index f6d7cce..0ad89dc 100644 --- a/index.html.in +++ b/index.html.in @@ -306,6 +306,11 @@ ct.setAttribute("x", parseFloat(ct.getAttribute("x")) + hdelta); } + function center_code_wrapper() { + /* Lets us call center_code twice on page load. Why we need to + * do this is an interesting (i.e. stupid) conversation. */ + center_code(); + } /*****************************************/ /* Next, set up the ticket date and time */ @@ -378,8 +383,15 @@ window.addEventListener("load", set_code); /* Center the security code text when the page has loaded; - * in particular, after we set it */ + * in particular, after we set it. And then center it again. + * Why? I'm glad you asked. Because it doesn't actually get + * centered the first time; it's off by a few pixels. But then + * if we center it _again_, I guess we're so close to begin with + * that any errors aren't noticeable. Anyway, just running it + * twice in a row avoids a major headache. We need the wrapper + * because the spec says that duplicate handlers are discarded. */ window.addEventListener("load", center_code); + window.addEventListener("load", center_code_wrapper); /* Re-center the security code when the window is resized, * and in particular after the ticket is re-centered */ -- 2.44.2