Add kiosk sign-out quick-pick for recently-used categories#48
Add kiosk sign-out quick-pick for recently-used categories#48OSPFNeighbour wants to merge 2 commits into
Conversation
…w primitive Unifies the Mode and Options checklists in the kiosk session admin form (and the location selector) onto shared OptionList/OptionRow/OptionButtonRow components instead of ad-hoc bordered divs, for a consistent bordered-list look and less duplicated markup.
Adds a config-gated screen between member scan-out and the full category tree, showing touch-friendly shortcuts for the categories most frequently used recently at this location (with who last used each one) and by this member, ranked by frequency then recency. Falls through to the existing full category tree via "More categories", or automatically when there's nothing to suggest yet (e.g. a brand new location or member). Stacks on the admin OptionList/OptionRow restyle so the new 'Quick pick categories' rollout flag can reuse the shared option-row component. - api: Location.recentCategories / Person.recentCategories GraphQL fields, ranked over a bounded recent-periods window via the existing start_time-sorted GSIs (no DB schema change), with unit tests for the ranking/dedupe/enabled-category logic - web/kiosk: new ScanScreenQuickPick screen wired into ScanController's scan -> quick pick -> categories -> adjust flow, gated behind a new quickPickCategories session config flag (default off) - web/admin: 'Quick pick categories' checkbox on the kiosk session form
|
This looks great, and it matches our experience that the parent/child drill-down For what it's worth: we've been running essentially this feature as an interim Exclude the trainer/assessor branches. We skip anything under Rank by most recent activity, not just frequency. We order by Disambiguate child names by parent. Several child categories share a name Showing who last used each one is a nice touch we don't have, and the fallback Ours is here if any of it is useful: Happy to test this at our units once it's merged if that would help. |
|
I'll check my logic, but count of participants should outrank last used and
trainer shouldn't come up much if there a bunch of students
Tim Dykes
M: 041 962 0603
E: ttdykes at gmail.com
…On Sun, 26 July 2026, 12:02 am jacksgithubacct, ***@***.***> wrote:
*jacksgithubacct* left a comment (NSWSESMembers/seslogin#48)
<#48 (comment)>
This looks great, and it matches our experience that the parent/child
drill-down
is the slowest part of a sign-out.
For what it's worth: we've been running essentially this feature as an
interim
Tampermonkey userscript at BME and BMW since mid-May, so a couple of
months of
real muster-night use. It reads periods and injects a "Recently used" row
into
the category screen. Obviously a native, config-gated screen is the right
home
for it - happy to retire ours once this lands. A few things we learned the
hard
way that might be worth considering:
*Exclude the trainer/assessor branches.* We skip anything under Trainer,
Assessor and Workshop - Trainer. Those roles sign out against a lot of
distinct categories, and without the exclusion they crowd out the picks the
majority of members actually need. Might be worth making the excluded
parents
configurable per location.
*Rank by most recent activity, not just frequency.* We order by
max(startTime, endTime), counting endTime only when it is in the past (a
genuine completed sign-out) rather than a scheduled/future end. The effect
is
that as soon as the first person signs out of an activity, that category
is top
of the list for the next twenty people doing the same thing on the same
night.
Pure frequency over a long window tends to lag the activity that's actually
happening tonight. "Frequency then recency" may already cover this, but the
ordering mattered a lot for us.
*Disambiguate child names by parent.* Several child categories share a
name
across parents - Other exists under multiple parents. A quick-pick tile
showing only the child name is genuinely ambiguous, so we show the child
name on
the tile with the parent underneath it. Worth surfacing the parent
somewhere in
ScanScreenQuickPick.
Showing who last used each one is a nice touch we don't have, and the
fallback
to the full tree when there isn't enough data is definitely the right call.
Ours is here if any of it is useful:
https://github.com/jacksgithubacct/seslogin-tools (quick-tiles.user.js).
It's a DOM-level hack against the kiosk markup, so treat it as a
description of
the behaviour rather than an implementation to copy.
Happy to test this at our units once it's merged if that would help.
—
Reply to this email directly, view it on GitHub
<#48?email_source=notifications&email_token=ABMH2NU4HIC37IZJM3TZ6S35GS4WZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBXHA3TMNBVGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-5078764541>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABMH2NS5RFAZXX7K4QY3VDL5GS4WZAVCNFSNUABGKJSXA33TNF2G64TZHMYTENBVGE2DQNZZG45US43TOVSTWNBZGM2TENBXGAZTDILWAI>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/ABMH2NSZF3V4YOCFK3PAA2L5GS4WZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBXHA3TMNBVGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/ABMH2NSLBJ35SCKI4TBQEX35GS4WZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKMBXHA3TMNBVGQY2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
Yeah, different ways of skinning the same cat. I purely went down the path of 'the last 6 used' by the unit, so didnt |
Adds a config-gated screen between member scan-out and the full category
tree, showing touch-friendly shortcuts for the categories most frequently
used recently at this location (with who last used each one) and by this
member, ranked by frequency then recency. Falls through to the existing
full category tree via "More categories", or automatically when there's
nothing to suggest yet (e.g. a brand new location or member).
Stacks on the admin OptionList/OptionRow restyle so the new
'Quick pick categories' rollout flag can reuse the shared option-row
component.
ranked over a bounded recent-periods window via the existing
start_time-sorted GSIs (no DB schema change), with unit tests for the
ranking/dedupe/enabled-category logic
scan -> quick pick -> categories -> adjust flow, gated behind a new
quickPickCategories session config flag (default off)
Stack created with Sapling. Best reviewed with ReviewStack.