import { useInView } from 'react-intersection-observer' import React, { useMemo, useState } from 'react' import Skeleton from '@mui/material/Skeleton' import { intersectionDefaultOptions } from '../../utils/intersectionObserverConfig' import { LmIframeProps } from './iframeTypes' import clsx from 'clsx' export default function LmIframe({ content }: LmIframeProps): JSX.Element { const [refIntersectionObserver, inView] = useInView( intersectionDefaultOptions ) const [loaded, setLoaded] = useState(false) const urlSrc = useMemo(() => { if (inView) { return content.url } return '' }, [content.url, inView]) const properties = content.property || [] const allowed = content.allow || [] content.responsive_ratio return (
{!loaded && ( )}