fix(admin): polish reviews

Same select-all/row-checkbox accessible-name gap in table view; grid
view already had aria-label on its row checkbox (customer name),
table view was the gap. New adminModeration.selectAllRows key added
across en/ru/hy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
sdarbinyan
2026-07-20 00:03:46 +04:00
parent 687cc5f5dc
commit 63b3cd8744
5 changed files with 6 additions and 2 deletions

View File

@@ -69,7 +69,7 @@
<app-table> <app-table>
<thead> <thead>
<tr> <tr>
<th><input type="checkbox" (change)="facade.toggleAll($any($event.target).checked)" /></th> <th><input type="checkbox" [attr.aria-label]="'adminModeration.selectAllRows' | translate" (change)="facade.toggleAll($any($event.target).checked)" /></th>
<th>{{ 'adminModeration.customer' | translate }}</th> <th>{{ 'adminModeration.customer' | translate }}</th>
@if (isColumnVisible('product')) { <th>{{ 'adminModeration.product' | translate }}</th> } @if (isColumnVisible('product')) { <th>{{ 'adminModeration.product' | translate }}</th> }
@if (isColumnVisible('rating')) { <th>{{ 'adminModeration.rating' | translate }}</th> } @if (isColumnVisible('rating')) { <th>{{ 'adminModeration.rating' | translate }}</th> }
@@ -83,7 +83,7 @@
<tbody> <tbody>
@for (review of facade.reviews(); track review.id) { @for (review of facade.reviews(); track review.id) {
<tr> <tr>
<td><input type="checkbox" [checked]="isSelected(review.id)" (change)="facade.toggleSelection(review.id, $any($event.target).checked)" /></td> <td><input type="checkbox" [checked]="isSelected(review.id)" [attr.aria-label]="review.customerName" (change)="facade.toggleSelection(review.id, $any($event.target).checked)" /></td>
<td>{{ review.customerName }}</td> <td>{{ review.customerName }}</td>
@if (isColumnVisible('product')) { <td>{{ review.productName }}</td> } @if (isColumnVisible('product')) { <td>{{ review.productName }}</td> }
@if (isColumnVisible('rating')) { <td>{{ review.rating }}★</td> } @if (isColumnVisible('rating')) { <td>{{ review.rating }}★</td> }

View File

@@ -1219,6 +1219,7 @@ export const en: Translations = {
}, },
adminModeration: { adminModeration: {
search: 'Search by customer, product, or review text…', search: 'Search by customer, product, or review text…',
selectAllRows: 'Select all reviews',
allStatuses: 'All statuses', allStatuses: 'All statuses',
allRatings: 'All ratings', allRatings: 'All ratings',
rating: 'Rating', rating: 'Rating',

View File

@@ -1214,6 +1214,7 @@ export const hy: Translations = {
}, },
adminModeration: { adminModeration: {
search: 'Փնտրել ըստ հաճախորդի, ապրանքի կամ կարծիքի տեքստի…', search: 'Փնտրել ըստ հաճախորդի, ապրանքի կամ կարծիքի տեքստի…',
selectAllRows: 'Ընտրել բոլոր կարծիքները',
allStatuses: 'Բոլոր կարգավիճակները', allStatuses: 'Բոլոր կարգավիճակները',
allRatings: 'Բոլոր գնահատականները', allRatings: 'Բոլոր գնահատականները',
rating: 'Գնահատական', rating: 'Գնահատական',

View File

@@ -1214,6 +1214,7 @@ export const ru: Translations = {
}, },
adminModeration: { adminModeration: {
search: 'Поиск по клиенту, товару или тексту отзыва…', search: 'Поиск по клиенту, товару или тексту отзыва…',
selectAllRows: 'Выбрать все отзывы',
allStatuses: 'Все статусы', allStatuses: 'Все статусы',
allRatings: 'Все оценки', allRatings: 'Все оценки',
rating: 'Оценка', rating: 'Оценка',

View File

@@ -1218,6 +1218,7 @@ export interface Translations {
}; };
adminModeration: { adminModeration: {
search: string; search: string;
selectAllRows: string;
allStatuses: string; allStatuses: string;
allRatings: string; allRatings: string;
rating: string; rating: string;