mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-13 20:56:19 -08:00
fix(parental-lock): focus, tokens and phone width for lock UI
The lock rows, lock dialogs and PIN error used Material system tokens the theme never declares, so every one of those declarations was invalid: keyboard focus on the "N locked" rows and Stalker lock rows was invisible, their borders and the lock list border had no colour, locked and unlocked toggles looked the same, and the PIN error was not red. - UI-05: 2px inset --app-selection-color ring on :focus-visible for the rail locked rows and the Stalker lock rows (>= 3:1 in both themes). - UI-08: lock UI on --app-* tokens; local per-theme error red for the PIN error and the adult chip; locked toggles get accent colour + tint. - UI-10: no 440/480px content min-width; lock dialogs open with maxWidth calc(100vw - 32px), so they fit a 375px phone. - UI-11: the PWA Xtream dialog hides the Electron-only selection count and Select/Deselect-all; a failed lock write shows PARENTAL_LOCK.SAVE_FAILED; clear-search buttons get a translated aria-label. New web E2E (parental-lock-ui.e2e.ts) tabs to each lock row and checks ring, border, PIN error and phone fit in light and dark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
963a431bb7
commit
13fa68bbb1
20 files changed
+826
-121
No files matched your search
@@ -374,7 +374,8 @@ so a cancelled or refused PIN leaves it showing the real state.
|
||||
the PIN. The Xtream dialog loads its candidates through the
|
||||
capability-selected data source (`IXtreamDataSource.getAllCategories`,
|
||||
which the PWA source answers from its session cache or the API), so PWA
|
||||
users can set locks too; the hide/show checkboxes remain Electron-only.
|
||||
users can set locks too; the hide/show checkboxes, the selection count
|
||||
and the Select/Deselect-all actions remain Electron-only.
|
||||
A deliberate non-choice: no dedicated lock button in the rail header
|
||||
(the header already carries search, sort and manage, and the lock is a
|
||||
category-management concern) and no keyword-based "adult" recognition
|
||||
@@ -415,6 +416,12 @@ so a cancelled or refused PIN leaves it showing the real state.
|
||||
so a child cannot switch the idle relock off for the next unlock.
|
||||
- Header lock/unlock button and the `parental-lock-now` /
|
||||
`parental-unlock` palette commands.
|
||||
- Styling uses app tokens only (the theme declares no `--mat-sys-*`); the
|
||||
PIN error and the Stalker adult chip use a local red per theme. Keyboard
|
||||
focus on a lock row is a 2px inset `--app-selection-color` ring, and the
|
||||
lock dialogs open with `maxWidth: 'calc(100vw - 32px)'` and no content
|
||||
min-width, so they fit a 375px phone. `apps/web-e2e/src/parental-lock-ui.e2e.ts`
|
||||
checks rings, borders, the PIN error and phone width in both themes.
|
||||
|
||||
## Startup footprint
|
||||
|
||||
|
||||
Reference in new issue
Block a user