import React from 'react'; import { useSelector } from 'react-redux'; import { CommandBody } from 'Commands/Command'; import TableRowCell from 'Components/Table/Cells/TableRowCell'; import createMultiSeriesSelector from 'Store/Selectors/createMultiSeriesSelector'; import translate from 'Utilities/String/translate'; import styles from './QueuedTaskRowNameCell.css'; export interface QueuedTaskRowNameCellProps { commandName: string; body: CommandBody; clientUserAgent?: string; } export default function QueuedTaskRowNameCell( props: QueuedTaskRowNameCellProps ) { const { commandName, body, clientUserAgent } = props; const seriesIds = [...(body.seriesIds ?? [])]; if (body.seriesId) { seriesIds.push(body.seriesId); } const series = useSelector(createMultiSeriesSelector(seriesIds)); const sortedSeries = series.sort((a, b) => a.sortTitle.localeCompare(b.sortTitle) ); return ( {commandName} {sortedSeries.length ? ( - {sortedSeries.map((s) => s.title).join(', ')} ) : null} {body.seasonNumber ? ( {' '} {translate('SeasonNumberToken', { seasonNumber: body.seasonNumber, })} ) : null} {clientUserAgent ? ( {translate('From')}: {clientUserAgent} ) : null} ); }