diff --git a/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.html b/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.html
index a257208..968d979 100644
--- a/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.html
+++ b/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.html
@@ -53,9 +53,16 @@
{{ 'adminOrders.applyStatus' | translate }}
{{ 'adminModeration.hideSelected' | translate }}
{{ 'adminProducts.bulkExportAction' | translate }}
- {{ 'adminModeration.archiveSelected' | translate }}
+ {{ 'adminModeration.deleteSelected' | translate }}
}
+
@if (facade.loading()) {
diff --git a/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.ts b/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.ts
index 5bf8cee..608da48 100644
--- a/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.ts
+++ b/src/app/features/admin/moderation/pages/admin-reviews-list-page.component.ts
@@ -16,11 +16,12 @@ import { SkeletonComponent } from '../../../../shared/ui/skeleton/skeleton.compo
import { CardComponent } from '../../../../shared/ui/card/card.component';
import { ModerationDashboardComponent } from '../components/moderation-dashboard/moderation-dashboard.component';
import { ReviewHealthWidgetComponent, ReviewHealthItem } from '../components/review-health-widget/review-health-widget.component';
+import { ConfirmDialogComponent } from '../../../../shared/ui/confirm-dialog/confirm-dialog.component';
@Component({
selector: 'app-admin-reviews-list-page',
standalone: true,
- imports: [CommonModule, FormsModule, TranslatePipe, ButtonComponent, InputComponent, BadgeComponent, TableComponent, PaginationComponent, EmptyStateComponent, SkeletonComponent, CardComponent, ModerationDashboardComponent, ReviewHealthWidgetComponent],
+ imports: [CommonModule, FormsModule, TranslatePipe, ButtonComponent, InputComponent, BadgeComponent, TableComponent, PaginationComponent, EmptyStateComponent, SkeletonComponent, CardComponent, ModerationDashboardComponent, ReviewHealthWidgetComponent, ConfirmDialogComponent],
templateUrl: './admin-reviews-list-page.component.html',
styleUrls: ['./admin-reviews-list-page.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
@@ -35,6 +36,7 @@ export class AdminReviewsListPageComponent {
readonly allColumns = ALL_REVIEW_COLUMNS;
protected readonly columnsPanelOpen = signal(false);
protected readonly bulkStatusValue = signal
('approved');
+ protected readonly bulkDeleteConfirmOpen = signal(false);
constructor() {
this.facade.loadList();
@@ -45,6 +47,15 @@ export class AdminReviewsListPageComponent {
return Math.max(1, Math.ceil(this.facade.total() / this.facade.filters().pageSize));
}
+ bulkDelete(): void {
+ this.bulkDeleteConfirmOpen.set(true);
+ }
+
+ confirmBulkDelete(): void {
+ this.facade.applyBulkDelete();
+ this.bulkDeleteConfirmOpen.set(false);
+ }
+
view(id: string): void {
void this.router.navigate([this.languageService.currentLanguage(), 'backoffice', 'moderation', id]);
}
diff --git a/src/app/i18n/en.ts b/src/app/i18n/en.ts
index a8093d6..749cd3c 100644
--- a/src/app/i18n/en.ts
+++ b/src/app/i18n/en.ts
@@ -1302,7 +1302,8 @@ export const en: Translations = {
notAvailable: 'Not available yet',
changeStatus: 'Change status',
hideSelected: 'Hide',
- archiveSelected: 'Archive',
+ deleteSelected: 'Delete',
+ confirmBulkDelete: 'Delete the selected reviews? This cannot be undone.',
reportsQueue: 'Reports queue',
reportsColumn: 'Reports',
reportTarget: 'Reported item',
diff --git a/src/app/i18n/hy.ts b/src/app/i18n/hy.ts
index 7f1100e..539d2a0 100644
--- a/src/app/i18n/hy.ts
+++ b/src/app/i18n/hy.ts
@@ -1297,7 +1297,8 @@ export const hy: Translations = {
notAvailable: 'Դեռ հասանելի չէ',
changeStatus: 'Փոխել կարգավիճակը',
hideSelected: 'Թաքցնել',
- archiveSelected: 'Արխիվացնել',
+ deleteSelected: 'Ջնջել',
+ confirmBulkDelete: 'Ջնջե՞լ ընտրված կարծիքները։ Հնարավոր չէ հետարկել։',
reportsQueue: 'Բողոքների հերթ',
reportsColumn: 'Բողոքներ',
reportTarget: 'Բողոքարկված օբյեկտ',
diff --git a/src/app/i18n/ru.ts b/src/app/i18n/ru.ts
index b841604..6c06518 100644
--- a/src/app/i18n/ru.ts
+++ b/src/app/i18n/ru.ts
@@ -1297,7 +1297,8 @@ export const ru: Translations = {
notAvailable: 'Пока недоступно',
changeStatus: 'Изменить статус',
hideSelected: 'Скрыть',
- archiveSelected: 'В архив',
+ deleteSelected: 'Удалить',
+ confirmBulkDelete: 'Удалить выбранные отзывы? Это действие нельзя отменить.',
reportsQueue: 'Очередь жалоб',
reportsColumn: 'Жалобы',
reportTarget: 'Объект жалобы',
diff --git a/src/app/i18n/translations.ts b/src/app/i18n/translations.ts
index 4d60970..a52246f 100644
--- a/src/app/i18n/translations.ts
+++ b/src/app/i18n/translations.ts
@@ -1301,7 +1301,8 @@ export interface Translations {
notAvailable: string;
changeStatus: string;
hideSelected: string;
- archiveSelected: string;
+ deleteSelected: string;
+ confirmBulkDelete: string;
reportsQueue: string;
reportsColumn: string;
reportTarget: string;