cleanup and harden
Build and Push Docker Image / build (push) Successful in 12s

This commit is contained in:
Jason Stedwell
2026-06-19 14:48:32 -05:00
parent cdca5557d1
commit d3a6390dc8
2 changed files with 682 additions and 457 deletions
+16 -4
View File
@@ -180,7 +180,7 @@ Per-controller actions in the modal:
| Control | Description | | Control | Description |
|---|---| |---|---|
| **Date picker** | Choose which day to view | | **Date picker** | Choose which day to view (defaults to the browser's local date) |
| **Badged in by** | Set your on-time cutoff (HH:MM) | | **Badged in by** | Set your on-time cutoff (HH:MM) |
| **Controller** | Filter the table to one controller, or show All | | **Controller** | Filter the table to one controller, or show All |
| **Show filtered** | Include filtered tenants in the table (dimmed and tagged) | | **Show filtered** | Include filtered tenants in the table (dimmed and tagged) |
@@ -209,6 +209,17 @@ Per-controller actions in the modal:
> controller the person badged into that day, plus a "MERGED" pill so it's > controller the person badged into that day, plus a "MERGED" pill so it's
> clear the row represents N UniFi UUIDs. > clear the row represents N UniFi UUIDs.
### Interface notes
- On narrow screens, the attendance table automatically changes into stacked
row cards with labels for each field, so all columns remain visible without
sideways scrolling.
- Destructive or structural actions such as removing a controller, dissolving a
merged person, splitting an identity, and resetting a day use in-app
confirmation dialogs instead of browser popups.
- Toast notifications announce success/failure states; keyboard users can close
open dialogs with `Esc`.
--- ---
## Merging identities across controllers ## Merging identities across controllers
@@ -225,9 +236,10 @@ fixes this:
with matching full names across different controllers. One click confirms with matching full names across different controllers. One click confirms
each suggestion (no auto-apply; you're always in the loop). each suggestion (no auto-apply; you're always in the loop).
- The same modal lists every merged person below the suggestions, with - The same modal lists every merged person below the suggestions, with
per-person actions: **Rename**, **Split off** (remove one identity from the per-person actions: **Rename** (opens an in-app text dialog), **Split off**
group), **Dissolve** (break the whole group up — past badge events are (remove one identity from the group), **Dissolve** (break the whole group up —
preserved, the identities just become standalone rows again). past badge events are preserved, the identities just become standalone rows
again).
Once merged, the attendance table: Once merged, the attendance table:
+666 -453
View File
File diff suppressed because it is too large Load Diff