From 8956cd00d700d3d7149b5663c9682258643dc5c2 Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Sun, 19 Jul 2026 23:55:11 +0400 Subject: [PATCH] fix(admin): polish products MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add accessible names to the table-view select-all and per-row checkboxes — they had none, while the grid-view equivalent already did (product name via aria-label). New adminProducts.selectAllRows/ selectRow keys added across en/ru/hy. Reviewed toolbar, filters, bulk actions, empty/loading states, and grid view: all buttons already route through app-button (own :focus-visible), empty state already uses shared EmptyStateComponent. No orphaned bindings or corrupted glyphs found. Co-Authored-By: Claude Sonnet 5 --- .../products/components/admin-products-list.component.html | 4 ++-- src/app/i18n/en.ts | 2 ++ src/app/i18n/hy.ts | 2 ++ src/app/i18n/ru.ts | 2 ++ src/app/i18n/translations.ts | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/app/features/admin/products/components/admin-products-list.component.html b/src/app/features/admin/products/components/admin-products-list.component.html index 67ef998..cf330a4 100644 --- a/src/app/features/admin/products/components/admin-products-list.component.html +++ b/src/app/features/admin/products/components/admin-products-list.component.html @@ -88,7 +88,7 @@ - + {{ 'adminProducts.name' | translate }} @if (isColumnVisible('sku')) { {{ 'backoffice.sku' | translate }} } @if (isColumnVisible('brand')) { {{ 'adminProducts.brand' | translate }} } @@ -102,7 +102,7 @@ @for (product of products; track product.id) { - + {{ product.name }} @if (isColumnVisible('sku')) { {{ product.sku }} } @if (isColumnVisible('brand')) { {{ product.brand }} } diff --git a/src/app/i18n/en.ts b/src/app/i18n/en.ts index 3eb3cef..ea00c17 100644 --- a/src/app/i18n/en.ts +++ b/src/app/i18n/en.ts @@ -1531,6 +1531,8 @@ export const en: Translations = { emptyTitle: 'No products found', emptyDescription: 'Try adjusting your filters, or create a new product.', emptyGuide: 'Good products have a clear title, at least one photo, a price, and a short description — that\'s enough to publish. You can always add more detail later.', + selectAllRows: 'Select all products', + selectRow: 'Select product', search: 'Search products…', category: 'Category', allCategories: 'All categories', diff --git a/src/app/i18n/hy.ts b/src/app/i18n/hy.ts index eb5b594..28ddec5 100644 --- a/src/app/i18n/hy.ts +++ b/src/app/i18n/hy.ts @@ -1526,6 +1526,8 @@ export const hy: Translations = { emptyTitle: 'Ապրանքներ չեն գտնվել', emptyDescription: 'Փոխեք ֆիլտրերը կամ ստեղծեք նոր ապրանք։', emptyGuide: 'Լավ ապրանքին բավական է հստակ վերնագիր, առնվազն մեկ լուսանկար, գին և կարճ նկարագրություն՝ հրապարակելու համար։ Մնացածը կարող եք ավելացնել հետո։', + selectAllRows: 'Ընտրել բոլոր ապրանքները', + selectRow: 'Ընտրել ապրանքը', search: 'Փնտրել ապրանքներ…', category: 'Կատեգորիա', allCategories: 'Բոլոր կատեգորիաները', diff --git a/src/app/i18n/ru.ts b/src/app/i18n/ru.ts index 657ce06..cde1b2f 100644 --- a/src/app/i18n/ru.ts +++ b/src/app/i18n/ru.ts @@ -1526,6 +1526,8 @@ export const ru: Translations = { emptyTitle: 'Товары не найдены', emptyDescription: 'Измените фильтры или создайте новый товар.', emptyGuide: 'Хорошему товару нужны понятное название, минимум одно фото, цена и короткое описание — этого достаточно для публикации. Остальное можно добавить позже.', + selectAllRows: 'Выбрать все товары', + selectRow: 'Выбрать товар', search: 'Поиск товаров…', category: 'Категория', allCategories: 'Все категории', diff --git a/src/app/i18n/translations.ts b/src/app/i18n/translations.ts index b6ff9b8..f36db51 100644 --- a/src/app/i18n/translations.ts +++ b/src/app/i18n/translations.ts @@ -1539,6 +1539,8 @@ export interface Translations { emptyTitle: string; emptyDescription: string; emptyGuide: string; + selectAllRows: string; + selectRow: string; search: string; category: string; allCategories: string;