import Card from '@mui/material/Card' import MuiCardActions from '@mui/material/CardActions' import { BackgroundStoryblok } from '../../typings/generated/components-schema' import { LmCardStandaloneProps } from './cardTypes' import CardContent from '@mui/material/CardContent' import { LmComponentRender } from '@LmComponentRender' import useBackgroundBox from '../section/useBackgroundBox' import BackgroundImage from '../section/BackgroundImage' import BackgroundElements from '../section/BackgroundElements' import React, { FC, PropsWithChildren } from 'react' import CardMedia from '@mui/material/CardMedia' import Image from 'next/image' import Box from '@mui/material/Box' import CardActionArea from '@mui/material/CardActionArea' import { getLinkAttrs, LinkType } from '../../utils/linkHandler' import { LmCoreComponents } from '@CONFIG' export default function LmCardStandalone({ content }: LmCardStandaloneProps) { const background: BackgroundStoryblok | undefined = content.background?.[0] const { className, style } = useBackgroundBox({ background, styles: content.styles, stylesMobile: content.styles_mobile, stylesTablet: content.styles_tablet, stylesHover: content.styles_hover }) const hasHoverContent = !!content.body_on_hover?.length const btnProps = content.link?.linktype ? { ...getLinkAttrs(content.link as LinkType, { openExternal: !!content.open_external }), naked: true, component: LmCoreComponents.lm_link_render } : undefined const ActionArea: FC> = ({ children }) => btnProps?.href ? ( {children} ) : ( <>{children} ) return ( {background?.image && } {!!background?.background_elements?.length && ( )} {!!content.body_above_media?.length && ( content.content_padding ? theme.spacing(Number(content.content_padding)) : undefined }} > {content.body_above_media?.map((blok) => ( ))} )} {!!content.media?.filename && ( content.media_margin ? theme.spacing(Number(content.media_margin)) : undefined }} > {content.media?.alt )} {!!content.body?.length && ( content.content_padding ? theme.spacing(Number(content.content_padding)) : undefined }} > {content.body?.map((blok) => ( ))} )} {!!content.body_actions?.length && ( {content.body_actions?.map((blok) => ( ))} )} {hasHoverContent && ( {content.body_on_hover?.map((blok) => ( ))} )} ) }