Refactor ChannelDetail and MediaImportDialog components for improved functionality and clarity
ci / build-backend (push) Successful in 1m32s
ci / build-frontend (push) Successful in 1m6s
ci / tests (push) Successful in 1m42s
ci / sonar (push) Successful in 4m39s

Consolidated imports in ChannelDetail and replaced the SchedulePreview component with AirSchedule for enhanced scheduling display. Updated the MediaImportDialog to prioritize the manual tab and adjusted localization strings for clarity in both English and Russian. These changes aim to streamline user interactions and improve the overall user experience in managing channels and media imports.
This commit is contained in:
Leonid Pershin
2026-07-28 10:37:11 +03:00
parent ef5c56f04b
commit 287ed5aa12
7 changed files with 140 additions and 22 deletions
@@ -11,19 +11,22 @@ import { ManualInboxPanel } from './ManualInboxPanel'
import { MovieImportPanel } from './MovieImportPanel'
import { UploadToShowPanel } from './UploadToShowPanel'
/** Способы пополнить библиотеку: фильмы пачкой, серии из manual/, загрузка файлов в шоу. */
type Tab = 'movies' | 'manual' | 'toShow'
/** Способы пополнить библиотеку: серии из manual/, фильмы пачкой, загрузка файлов в шоу. */
type Tab = 'manual' | 'movies' | 'toShow'
/**
* Одно окно на все способы завести медиа: фильмы пачкой, серии из `manual/` в шоу и загрузка
* Одно окно на все способы завести медиа: серии из `manual/` в шоу, фильмы пачкой и загрузка
* выбранных файлов в шоу. Раньше это были три кнопки и три окна — а выбор между ними делается
* один раз и по одному признаку: что за контент кладём.
*
* Первой открывается вкладка серий: сериалами библиотека пополняется чаще, и попасть в неё сразу
* важнее, чем в разбор фильмов, который делают раз на пачку.
*/
export function MediaImportDialog({ onClose }: Readonly<{ onClose: () => void }>) {
const { t } = useTranslation()
const [tab, setTab] = useState<Tab>('movies')
const [tab, setTab] = useState<Tab>('manual')
const tabs: Tab[] = ['movies', 'manual', 'toShow']
const tabs: Tab[] = ['manual', 'movies', 'toShow']
return (
<Dialog open onOpenChange={(open) => !open && onClose()}>