import {TITLE_MODEL} from '@app/titles/models/title'; import {TitlePoster} from '@app/titles/title-poster/title-poster'; import {TitleLink} from '@app/titles/title-link'; import {ChannelContentModel} from '@app/admin/channels/channel-content-config'; import {NEWS_ARTICLE_MODEL} from '@app/titles/models/news-article'; import {NewsArticleImage} from '@app/news/news-article-image'; import {NewsArticleLink} from '@app/news/news-article-link'; import {BulletSeparatedItems} from '@app/titles/bullet-separated-items'; import {FormattedDate} from '@common/i18n/formatted-date'; import {NewsArticleSourceLink} from '@app/news/news-article-source-link'; import {PERSON_MODEL} from '@app/titles/models/person'; import {PersonPoster} from '@app/people/person-poster/person-poster'; import {PersonLink} from '@app/people/person-link'; import {KnownForCompact} from '@app/people/known-for-compact'; import React from 'react'; import {FormattedDuration} from '@common/i18n/formatted-duration'; import {InteractableRating} from '@app/reviews/interactable-rating'; interface Props { item: ChannelContentModel; } export function ChannelContentListItem({item}: Props) { switch (item.model_type) { case TITLE_MODEL: return (
{item.runtime ? ( ) : null} {item.certification && ( {item.certification} )} {item.rating && item.status !== 'upcoming' ? ( ) : (
)} {item.description ? (

{item.description}

) : null}
); case PERSON_MODEL: return (
{item.primary_credit ? (
) : null}

{item.description}

); case NEWS_ARTICLE_MODEL: return (

{item.body}

); default: return null; } }