import React, { ReactElement } from "react"; import PropTypes from "prop-types"; import { isEmpty, isNil } from "lodash"; interface ICardProps { orientation: string; imageUrl?: string; hasDetails?: boolean; title?: PropTypes.ReactElementLike | null; children?: PropTypes.ReactNodeLike; borderColorClass?: string; backgroundColor?: string; onClick?: (event: React.MouseEvent) => void; cardContainerStyle?: PropTypes.object; imageStyle?: PropTypes.object; } const renderCard = (props: ICardProps): ReactElement => { switch (props.orientation) { case "horizontal": return (
Placeholder image
{props.hasDetails && (
{props.children}
)}
); case "vertical": return (
Placeholder image
{props.hasDetails && (
{!isNil(props.title) ? (
{props.title}
) : null} {props.children}
)}
); case "vertical-2": return (
Home
{props.title}
{props.hasDetails && <>{props.children}}
); case "horizontal-small": return ( <>
{/* thumbnail */}
{/* details */}

{props.title}

); case "horizontal-medium": return ( <>
{/* thumbnail */}
{/* details */}

{props.title}

{props.hasDetails && <>{props.children}}
); case "cover-only": return ( <> {/* thumbnail */}
); case "card-with-info-panel": return ( <>
{/* thumbnail */}
{/* myata-dyata */}
); default: return <>; } }; export const Card = React.memo( (props: ICardProps): ReactElement => renderCard(props), ); export default Card;