From 7c1b807e5ebb7f7e21b5a1e5a384af5449d863f7 Mon Sep 17 00:00:00 2001 From: Leonid Pershin Date: Sat, 25 Jul 2026 19:17:00 +0300 Subject: [PATCH] Enhance UploadToShowDialog: add 'apply to all' functionality for batch show assignment, improve UI layout for better user experience, and update translations for new options. --- .../admin/media/UploadToShowDialog.tsx | 27 ++++++++++++++++--- frontend/src/shared/lib/i18n.ts | 2 ++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/frontend/src/features/admin/media/UploadToShowDialog.tsx b/frontend/src/features/admin/media/UploadToShowDialog.tsx index 9d1e0b9..639dcf0 100644 --- a/frontend/src/features/admin/media/UploadToShowDialog.tsx +++ b/frontend/src/features/admin/media/UploadToShowDialog.tsx @@ -46,6 +46,10 @@ export function UploadToShowDialog({ files, onClose }: { files: File[]; onClose: const assignment = (name: string): string => name in overrides ? overrides[name] : (matchedByName.get(name) ?? '') + /** Проставить одно шоу (или «в библиотеку») всем файлам разом. */ + const applyToAll = (showId: string) => + setOverrides(Object.fromEntries(files.map((f) => [f.name, showId]))) + // Предпросмотр: что распарсим для каждого файла при текущих настройках, в порядке добавления. const previews = useMemo(() => { const opts = { @@ -104,11 +108,26 @@ export function UploadToShowDialog({ files, onClose }: { files: File[]; onClose: )}

-
+
{t('admin.media.toShowPreview')} - - {t('admin.media.toShowMatched', { matched: matchedCount, total: files.length })} - +
+ + {t('admin.media.toShowMatched', { matched: matchedCount, total: files.length })} + + +