mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 21:56:18 -08:00
feat: add confirmation dialog for clearing recently viewed items
Entire-Checkpoint: c6e522b4276c
This commit is contained in:
1 parent
7f92dd359c
commit
21a9cdb0c6
4 files changed
+30
-7
No files matched your search
@@ -670,6 +670,8 @@
|
||||
"CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Abgeschlossene Downloads für diese Playlist löschen",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION": "Zuletzt angesehen löschen",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Zuletzt angesehen für diesen Abschnitt löschen",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_TITLE": "Zuletzt angesehen löschen?",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE": "Alle zuletzt angesehenen Einträge in diesem Abschnitt werden entfernt. Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"XTREAM_CODE": "Xtream Code",
|
||||
"STALKER_PORTAL": "Stalker-Portal",
|
||||
"CHANNELS_COUNT": "{{count}} Sender",
|
||||
|
||||
@@ -782,6 +782,8 @@
|
||||
"CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Clear completed downloads for this playlist",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION": "Clear recently viewed",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Clear recently viewed for this section",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_TITLE": "Clear recently viewed?",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE": "All recently viewed items in this section will be removed. This action cannot be undone.",
|
||||
"XTREAM_CODE": "Xtream Code",
|
||||
"STALKER_PORTAL": "Stalker Portal",
|
||||
"CHANNELS_COUNT": "{{count}} channels",
|
||||
|
||||
@@ -626,6 +626,8 @@
|
||||
"CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "Очистить завершенные загрузки для этого плейлиста",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION": "Очистить недавно просмотренное",
|
||||
"CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "Очистить недавно просмотренное для этого раздела",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_TITLE": "Очистить недавно просмотренное?",
|
||||
"CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE": "Все недавно просмотренные элементы в этом разделе будут удалены. Это действие нельзя отменить.",
|
||||
"XTREAM_CODE": "Xtream Code",
|
||||
"STALKER_PORTAL": "Портал Stalker",
|
||||
"CHANNELS_COUNT": "{{count}} каналов",
|
||||
|
||||
+24
-7
@@ -19,7 +19,8 @@ import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatTooltip } from '@angular/material/tooltip';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { Store } from '@ngrx/store';
|
||||
import { TranslatePipe } from '@ngx-translate/core';
|
||||
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
|
||||
import { DialogService } from 'components';
|
||||
import {
|
||||
buildGlobalCollectionDetailNavigationTarget,
|
||||
buildCollectionViewState,
|
||||
@@ -83,6 +84,8 @@ export class UnifiedCollectionPageComponent implements AfterContentInit {
|
||||
private readonly scopeService = inject(ScopeToggleService);
|
||||
private readonly favoritesData = inject(UnifiedFavoritesDataService);
|
||||
private readonly recentData = inject(UnifiedRecentDataService);
|
||||
private readonly dialogService = inject(DialogService);
|
||||
private readonly translate = inject(TranslateService);
|
||||
readonly detailTemplate = contentChild(UnifiedCollectionDetailDirective);
|
||||
private readonly playlists = this.store.selectSignal(
|
||||
selectAllPlaylistsMeta
|
||||
@@ -357,12 +360,26 @@ export class UnifiedCollectionPageComponent implements AfterContentInit {
|
||||
);
|
||||
}
|
||||
|
||||
async clearAllRecent(): Promise<void> {
|
||||
await this.recentData.clearRecentItems(
|
||||
this.effectiveScope(),
|
||||
this.playlistId()
|
||||
);
|
||||
this.allItems.set([]);
|
||||
clearAllRecent(): void {
|
||||
if (this.allItems().length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const scope = this.effectiveScope();
|
||||
const playlistId = this.playlistId();
|
||||
|
||||
this.dialogService.openConfirmDialog({
|
||||
title: this.translate.instant(
|
||||
'WORKSPACE.SHELL.CLEAR_RECENTLY_VIEWED_DIALOG_TITLE'
|
||||
),
|
||||
message: this.translate.instant(
|
||||
'WORKSPACE.SHELL.CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE'
|
||||
),
|
||||
onConfirm: () => {
|
||||
this.allItems.set([]);
|
||||
void this.recentData.clearRecentItems(scope, playlistId);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async onReorder(items: UnifiedCollectionItem[]): Promise<void> {
|
||||
|
||||
Reference in new issue
Block a user