ClubLedger/static
Claude 68a35e5bff
Split staff role into cashier/pos-staff; fix admin tab visibility
Roles:
- cashier: Members + Cashier (top-up) tabs; POST /topup enforced at API level
- pos-staff: Members + Bar (charge) tabs; POST /charge enforced at API level
- admin: all tabs including Admin panel

Changes:
- migrate_db() recreates staff_accounts with new CHECK constraint and
  converts any existing 'staff' rows to 'pos-staff' on startup
- cashier_user / pos_user FastAPI dependencies added; applied to /topup and /charge
- Role dropdowns in admin panel updated to the three new values
- startApp() hides irrelevant tabs per role on login
- doLogout() resets all tab visibility so the next login starts clean
- fmtRole() formats role names ('pos-staff' → 'POS Staff') in the accounts table

https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7
2026-05-30 14:19:41 +00:00
..
app.js Split staff role into cashier/pos-staff; fix admin tab visibility 2026-05-30 14:19:41 +00:00
bar.html Remove product search from bar tab 2026-05-30 08:52:18 +00:00
bar.js Remove product search from bar tab 2026-05-30 08:52:18 +00:00
cashier.html Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
cashier.js Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
common.js Fix 1-4: staff dropdown, split pages, print size toggle, receipts 2026-05-30 06:28:54 +00:00
index.html Split staff role into cashier/pos-staff; fix admin tab visibility 2026-05-30 14:19:41 +00:00
style.css Add staff auth, admin area, currency decimal input 2026-05-30 09:19:07 +00:00