Skip to content

Remove legacy v1 time-entry picker from scan kiosk - #219

Merged
sdunster merged 1 commit into
mainfrom
claude/scan-kiosk-v2-migration-qssh1b
Sep 12, 2026
Merged

Remove legacy v1 time-entry picker from scan kiosk#219
sdunster merged 1 commit into
mainfrom
claude/scan-kiosk-v2-migration-qssh1b

Conversation

@sdunster

@sdunster sdunster commented Sep 9, 2026

Copy link
Copy Markdown
Member

Summary

The scan kiosk's sign-out "Adjust" screen had two time-entry UIs, selected by the per-session easyTimeEntry config flag:

  • Legacy ("v1"): a 24-hour numeric keypad, with a shared day + auto next-day rollover for the end time.
  • V2: a 12-hour keypad with AM/PM, an explicit confirm step, and Yesterday/Today quick buttons, with independent dates per field.

This makes V2 the only option in code, ignoring the session config var per the task, and removes all traces of v1:

  • ScanScreenAdjust.tsx: removed all easyTimeEntry branching, the legacy "Day" row, next-day rollover logic, and the easyTimeEntry prop — the component now always behaves like the old V2 path.
  • Deleted the legacy ScanModalDateTime.tsx modal; renamed ScanModalDateTimeV2.tsxScanModalDateTime.tsx (and its test file) since it's now the only picker.
  • ScanController.tsx: dropped the easyTimeEntry derivation/prop passthrough.
  • SessionForm.tsx (admin UI): removed the "Easy time entry" checkbox and its config read/write helpers — the setting no longer does anything.
  • Updated ScanScreenAdjust.test.tsx and KioskMain.test.tsx to drop the now-meaningless easyTimeEntry flag from test setup.
  • api/tests/seed_fixtures.rs: removed the test asserting both branches are seeded, since there's only one branch now.
  • local/seed/synthetic.json / local/examples/README.md: cleared easyTimeEntry from the fixture kiosk config and swapped the example session set-config-key command for one that still does something (smallCategories).

No GraphQL schema or backend changes were needed — Session.config is an opaque JSON blob the Rust backend never parses.

Test plan

  • cd web && npx tsc -b — type-checks clean
  • cd web && npx eslint on all touched files — clean
  • cd web && npx vitest run on ScanScreenAdjust.test.tsx, ScanModalDateTime.test.tsx, KioskMain.test.tsx — 37 passed
  • cd web && npx prettier --check — clean (one file auto-fixed)
  • cd api && cargo test --test seed_fixtures — 7 passed
  • cd api && cargo clippy --all-targets -- -D warnings — clean
  • cd api && cargo fmt --check — clean

🤖 Generated with Claude Code

https://claude.ai/code/session_01DoAKMBi1JjU4XcMew4JPmT


Generated by Claude Code

The scan kiosk's sign-out Adjust screen supported two time-entry
UIs, selected by the per-session easyTimeEntry config flag: the
legacy 24-hour numeric keypad, and a 12-hour keypad with an
explicit confirm step (formerly ScanModalDateTimeV2). Make the
newer picker the only option: drop the flag and all v1 branching
from ScanScreenAdjust, delete the legacy ScanModalDateTime modal,
rename the V2 modal to ScanModalDateTime, and remove the "Easy
time entry" toggle from the session admin form. Also drop the
easyTimeEntry references from tests and local seed fixtures/docs,
since only one picker now exists.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DoAKMBi1JjU4XcMew4JPmT
@sdunster
sdunster marked this pull request as ready for review September 10, 2026 00:29
@sdunster
sdunster merged commit 8e40d78 into main Sep 12, 2026
3 checks passed
@sdunster
sdunster deleted the claude/scan-kiosk-v2-migration-qssh1b branch September 12, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants