From b2e8db5bf49b29a2c1a574ad938db0d9ab4d1dc9 Mon Sep 17 00:00:00 2001 From: jessikitty Date: Mon, 5 Oct 2026 11:39:16 +1100 Subject: [PATCH] Name Picker --- README.md | 9 +++++ public/css/kiosk.css | 15 +++++++++ public/index.html | 24 +++++++++----- public/js/kiosk.js | 79 +++++++++++++++++++++++++++++++++----------- 4 files changed, 100 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index c9aca46..c904bfc 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,15 @@ same person can be signed in at two sites at once without the system arguing abo An admin account can be limited to a single site. Those admins see only that site's visitors, staff list and log, and cannot touch the others. +### Choosing who to visit + +The kiosk asks for a few letters of the name rather than presenting a long list. Once the filter +narrows to five or fewer people, their names appear as large buttons to tap and the full-list +dropdown gets out of the way; above that the dropdown carries everyone, because a page of eighty +buttons is worse than a scroll wheel. Pressing enter picks the person when exactly one is left. + +The cut-off is `TAP_LIST_LIMIT` in `public/js/kiosk.js`. + ## Branding the kiosk Each site can carry its own banner and colours, set under **Sites → Edit**. diff --git a/public/css/kiosk.css b/public/css/kiosk.css index fd8177b..06f48d5 100644 --- a/public/css/kiosk.css +++ b/public/css/kiosk.css @@ -234,6 +234,21 @@ a:focus-visible { margin-bottom: 20px; -webkit-overflow-scrolling: touch; } + +/* The shortlist is the thing to tap, so make it read as the answer rather than + as another field. */ +#host-list .host-option, +#freq-host-list .host-option { + border-color: var(--deep); + box-shadow: inset 0 0 0 1px var(--deep); + min-height: 64px; + font-size: 19px; + animation: rise 160ms ease-out; +} +@media (prefers-reduced-motion: reduce) { + #host-list .host-option, + #freq-host-list .host-option { animation: none; } +} .host-option small { display: block; color: var(--muted); font-size: 14px; } .host-empty { color: var(--muted); diff --git a/public/index.html b/public/index.html index 6132d1a..ee0451b 100644 --- a/public/index.html +++ b/public/index.html @@ -68,12 +68,16 @@

Who are you here to see?

+

Type the first few letters of their name. Their name will appear below — + tap it.

-