Enhance ManualInboxDialog: add show selection dropdown for improved media organization and update translations for better user guidance. Simplify layout by removing redundant elements while maintaining user hints.
This commit is contained in:
@@ -177,6 +177,23 @@ export function ManualInboxDialog({ onClose }: { onClose: () => void }) {
|
|||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
|
|
||||||
<div className="flex flex-col gap-3">
|
<div className="flex flex-col gap-3">
|
||||||
|
{/* Шоу — первое решение в этом диалоге: остальные поля лишь помогают разложить файлы. */}
|
||||||
|
<div className="flex flex-col gap-1.5">
|
||||||
|
<Label>{t('admin.media.manualShow')}</Label>
|
||||||
|
<Select value={showId} onValueChange={setShowId}>
|
||||||
|
<SelectTrigger>
|
||||||
|
<SelectValue placeholder={t('admin.media.manualPickShow')} />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
{(shows ?? []).map((show) => (
|
||||||
|
<SelectItem key={show.id} value={show.id}>
|
||||||
|
{show.name}
|
||||||
|
</SelectItem>
|
||||||
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="grid gap-3 sm:grid-cols-3">
|
<div className="grid gap-3 sm:grid-cols-3">
|
||||||
<div className="flex flex-col gap-1.5">
|
<div className="flex flex-col gap-1.5">
|
||||||
<Label>{t('common.search')}</Label>
|
<Label>{t('common.search')}</Label>
|
||||||
@@ -375,23 +392,7 @@ export function ManualInboxDialog({ onClose }: { onClose: () => void }) {
|
|||||||
<p className="text-xs text-amber-500">{t('admin.media.manualTruncated')}</p>
|
<p className="text-xs text-amber-500">{t('admin.media.manualTruncated')}</p>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<div className="flex flex-wrap items-center gap-2">
|
<p className="text-xs text-muted-foreground">{t('admin.media.manualCleanupHint')}</p>
|
||||||
<Select value={showId} onValueChange={setShowId}>
|
|
||||||
<SelectTrigger className="w-72">
|
|
||||||
<SelectValue placeholder={t('admin.media.manualPickShow')} />
|
|
||||||
</SelectTrigger>
|
|
||||||
<SelectContent>
|
|
||||||
{(shows ?? []).map((show) => (
|
|
||||||
<SelectItem key={show.id} value={show.id}>
|
|
||||||
{show.name}
|
|
||||||
</SelectItem>
|
|
||||||
))}
|
|
||||||
</SelectContent>
|
|
||||||
</Select>
|
|
||||||
<span className="text-xs text-muted-foreground">
|
|
||||||
{t('admin.media.manualCleanupHint')}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DialogFooter>
|
<DialogFooter>
|
||||||
|
|||||||
@@ -225,6 +225,7 @@ const resources = {
|
|||||||
manualCleanupHint:
|
manualCleanupHint:
|
||||||
'Файлы уйдут из папки, спутники (субтитры, nfo) и опустевший каталог будут удалены.',
|
'Файлы уйдут из папки, спутники (субтитры, nfo) и опустевший каталог будут удалены.',
|
||||||
manualTruncated: 'Показаны первые 500 файлов — в папке есть ещё.',
|
manualTruncated: 'Показаны первые 500 файлов — в папке есть ещё.',
|
||||||
|
manualShow: 'Шоу',
|
||||||
manualPickShow: 'Выберите шоу',
|
manualPickShow: 'Выберите шоу',
|
||||||
manualImport: 'Забрать в шоу',
|
manualImport: 'Забрать в шоу',
|
||||||
manualImported: 'Импортировано файлов: {{count}}',
|
manualImported: 'Импортировано файлов: {{count}}',
|
||||||
@@ -915,6 +916,7 @@ const resources = {
|
|||||||
manualCleanupHint:
|
manualCleanupHint:
|
||||||
'Files leave the folder; siblings (subtitles, nfo) and the emptied folder are removed.',
|
'Files leave the folder; siblings (subtitles, nfo) and the emptied folder are removed.',
|
||||||
manualTruncated: 'Showing the first 500 files — there are more in the folder.',
|
manualTruncated: 'Showing the first 500 files — there are more in the folder.',
|
||||||
|
manualShow: 'Show',
|
||||||
manualPickShow: 'Pick a show',
|
manualPickShow: 'Pick a show',
|
||||||
manualImport: 'Import into show',
|
manualImport: 'Import into show',
|
||||||
manualImported: 'Files imported: {{count}}',
|
manualImported: 'Files imported: {{count}}',
|
||||||
|
|||||||
Reference in New Issue
Block a user