mcf-components/src/components/MCF_MediaCard.js
2021-09-09 15:27:26 +02:00

43 lines
1.1 KiB
JavaScript

/* eslint-disable react/prop-types */
import React, {useState} from 'react'
import Card from '@material-ui/core/Card'
import CardContent from '@material-ui/core/CardContent'
import CardHeader from '@material-ui/core/CardHeader'
import CardMedia from '@material-ui/core/CardMedia'
import ComponentFactory from '../ComponentFactory'
import {useStyles} from '../index'
export default function MCF_MediaCard (props) {
const [params, setParams] = useState(props.params)
const classes = useStyles()
const renderContents = () => {
return params.contents.map(contentConfig => {
contentConfig.params.parentKey = params.key
return ComponentFactory.createComponent(contentConfig)
})
}
return (
<Card className={classes.card}>
<CardHeader
title={params.mainText} // string
subheader={params.secondaryText} // string
/>
<CardMedia
className={classes.media}
image={params.imageURL} // string: URL
title={params.imageTitle} // string
alt={params.imageAlt} // string
/>
<CardContent>
{renderContents()}
</CardContent>
</Card>
)
}