import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client'; import React, { FC } from 'react'; import DragHandleIcon from '@mui/icons-material/DragHandle'; import Box from '@mui/material/Box'; import useIndicator from 'components/indicators/useIndicator'; import PrimaryMediaInfo from '../../mediainfo/PrimaryMediaInfo'; import ListContentWrapper from './ListContentWrapper'; import ListItemBody from './ListItemBody'; import ListImageContainer from './ListImageContainer'; import ListViewUserDataButtons from './ListViewUserDataButtons'; import type { ItemDto } from 'types/itemDto'; import type { ListOptions } from 'types/listOptions'; interface ListContentProps { item: ItemDto; listOptions: ListOptions; enableContentWrapper?: boolean; enableOverview?: boolean; enableSideMediaInfo?: boolean; clickEntireItem?: boolean; action?: string; isLargeStyle: boolean; downloadWidth?: number; } const ListContent: FC = ({ item, listOptions, enableContentWrapper, enableOverview, enableSideMediaInfo, clickEntireItem, action, isLargeStyle, downloadWidth }) => { const indicator = useIndicator(item); return ( {!clickEntireItem && listOptions.dragHandle && ( )} {listOptions.image !== false && ( )} {listOptions.showIndexNumberLeft && ( {item.IndexNumber ??  } )} {listOptions.mediaInfo !== false && enableSideMediaInfo && ( )} {listOptions.recordButton && (item.Type === 'Timer' || item.Type === BaseItemKind.Program) && ( indicator.getTimerIndicator('listItemAside') )} {!clickEntireItem && ( )} ); }; export default ListContent;