import React, { useCallback } from 'react'; import Label from 'Components/Label'; import TableRowCell from 'Components/Table/Cells/TableRowCell'; import TableSelectCell from 'Components/Table/Cells/TableSelectCell'; import Column from 'Components/Table/Column'; import TableRow from 'Components/Table/TableRow'; import { kinds } from 'Helpers/Props'; import { SelectStateInputProps } from 'typings/props'; import translate from 'Utilities/String/translate'; import styles from './ManageDownloadClientsModalRow.css'; interface ManageDownloadClientsModalRowProps { id: number; name: string; enable: boolean; priority: number; removeCompletedDownloads: boolean; removeFailedDownloads: boolean; implementation: string; columns: Column[]; isSelected?: boolean; onSelectedChange(result: SelectStateInputProps): void; } function ManageDownloadClientsModalRow( props: ManageDownloadClientsModalRowProps ) { const { id, isSelected, name, enable, priority, removeCompletedDownloads, removeFailedDownloads, implementation, onSelectedChange, } = props; const onSelectedChangeWrapper = useCallback( (result: SelectStateInputProps) => { onSelectedChange({ ...result, }); }, [onSelectedChange] ); return ( {name} {implementation} {priority} {removeCompletedDownloads ? translate('Yes') : translate('No')} {removeFailedDownloads ? translate('Yes') : translate('No')} ); } export default ManageDownloadClientsModalRow;