mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-12 20:16:15 -08:00
fix(collections): one confirmed Clear recently viewed action (#1865)
A playlist's own recently viewed page (/workspace/<provider>/<id>/recent, opened from the dashboard's recently viewed rails) showed two clear buttons: the page's "Clear recently viewed <type>", which confirms through createClearCollectionAction, and a header delete_sweep button that cleared every tab of the playlist at once without asking. Remove the header bulk action end to end, and the unreachable, unconfirmed clear button of the M3U channel list's recent view, so every clear goes through createClearCollectionAction. Drop the two i18n keys only those buttons used. E2E: a shared helper asserts one clear control per page and one confirmation per press; the M3U, Xtream and Stalker recent tests cancel first (rows stay), then clear once on the playlist's own recently viewed page. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
015ea203b7
commit
8fabb88106
39 files changed
+261
-327
No files matched your search
@@ -842,6 +842,13 @@ per-theme tokens in `apps/web/src/_settings-theme.scss`.
|
||||
is "Cancel …", pass `cancelLabel` "Close" so the two buttons do not read
|
||||
alike. `theme-tokens.e2e.ts` checks the label and the error fill in both
|
||||
themes.
|
||||
- **One control per action.** A page offers one control for a destructive
|
||||
action. Clearing a favorites or recently viewed tab goes through
|
||||
`createClearCollectionAction` (`unified-collection-clear-action.ts` in
|
||||
`portal/shared/ui`), from the collection page's button and from the command
|
||||
palette alike; the shell
|
||||
header does not repeat it. `recent.e2e.ts` checks the single control and
|
||||
the single confirmation on M3U, Xtream and Stalker recently viewed pages.
|
||||
|
||||
## Forms
|
||||
|
||||
|
||||
@@ -139,7 +139,8 @@ services:
|
||||
3. `WorkspaceShellSearchSyncService` owns the search query signals, debounced
|
||||
application, provider-store synchronization, and query-param sync.
|
||||
4. `WorkspaceShellHeaderService` owns playlist title/subtitle, account/info
|
||||
actions, refresh action state, and recent-items bulk cleanup.
|
||||
actions, and refresh action state. It has no clear action: clearing
|
||||
recently viewed or favorites belongs to the collection page.
|
||||
5. `WorkspaceShellCommandPaletteService` owns command-palette dialog lifecycle
|
||||
and recent-command recording.
|
||||
6. `WorkspaceShellXtreamImportService` owns Xtream import/refresh overlay
|
||||
|
||||
Reference in new issue
Block a user