feat(media): add Media Manager UI (grid, upload, delete)
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
MediaLibraryPageComponent replaces the coming-soon placeholder at /backoffice/media. Built entirely on Sprint 6 Design System primitives (app-card, app-button, app-input, app-empty-state, app-dialog, app-pagination, app-skeleton) and Sprint 4 Task 2's MediaRepository/MockMediaRepository. - Grid view with per-tile filename/size and delete action - Hidden native file input triggered by an app-button, uploads via MediaLibraryFacade -> MediaRepository.upload() - Delete requires confirmation through app-dialog (destructive action) - Search + pagination wired to MockMediaRepository's list() params - Loading state shows app-skeleton tiles; empty state shows app-empty-state - New mediaLibrary.* translation namespace across en/ru/hy Verified in browser (via a temporary unguarded route, reverted before commit - /backoffice/media itself requires Telegram QR admin auth not available in this session): empty state renders correctly with translated copy, search input and upload button present, no console errors.
This commit is contained in:
@@ -841,4 +841,17 @@ export const hy: Translations = {
|
||||
optionalDataMissingDescription: 'Optional config արժեքը բացակայում է։',
|
||||
optionalDataMissingResolution: 'Ավելացրեք արժեքը, եթե UX-ը կախված է դրանից։',
|
||||
},
|
||||
mediaLibrary: {
|
||||
title: 'Մեդիագրադարան',
|
||||
upload: 'Վերբեռնել',
|
||||
uploading: 'Վերբեռնվում է...',
|
||||
searchPlaceholder: 'Փնտրել ֆայլեր...',
|
||||
delete: 'Ջնջել',
|
||||
deleteConfirmTitle: 'Ջնջե՞լ ֆայլը',
|
||||
deleteConfirmBody: 'Այս գործողությունը հնարավոր չէ հետարկել։',
|
||||
cancel: 'Չեղարկել',
|
||||
confirm: 'Ջնջել',
|
||||
emptyTitle: 'Ֆայլեր դեռ չկան',
|
||||
emptyDescription: 'Վերբեռնեք պատկեր կամ փաստաթուղթ սկսելու համար։',
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user