Smart Locks on mobile
The mobile Locks tab gives quick access to every property's smart-lock state from the phone.
List view
The Locks tab opens to a list of properties with smart-lock integration enabled. Each row shows:
- Property name + slug
- Lock state chip —
LOCKED/UNLOCKED/OFFLINE - Battery level (if recently reported)
- Last-event time delta (e.g. "32 min ago · unlock by Anna")
Tap a row to open the property detail view.
Detail view (3 tabs)
The detail view is split into three tabs, swipe or tap to switch:
1. Lock Control
The big "tap to unlock" / "tap to lock" action. Confirmation modal before either action. Tapping unlock triggers a real Nuki command — every unlock from this surface is captured in the Activity Log on desktop with source=mobile-app.
2. Codes
The per-teammate access codes assigned to this property:
- Cleaner codes
- Maintenance codes
- Guest PIN (current reservation)
Each row shows the code, its expiry, the assigned teammate, and a status chip (ACTIVE / EXPIRED / PENDING).
Tap a row to see the full detail or to revoke. Revoking from mobile updates the Nuki lock immediately and writes an audit-log entry on desktop.
3. 2N QR
For properties with a 2N intercom, this tab shows the QR codes generated for the current reservation's guests — same data as the desktop V28 Smart Locks "2N QR Codes" panel.
If 2N is not enabled for this property, the tab shows "2N not enabled on this property".
Activity log access
There is no Activity Log tab on mobile — to inspect lock events history, go to the desktop V28 Smart Locks page. The mobile detail view shows the most-recent event in the header; the full audit log lives on desktop.
Implements: gh#108 (Mobile Locks — list + 3-tab detail).