Add guarding if fields are not supplied

This commit is contained in:
Reiss Cashmore 2023-10-30 12:25:51 +00:00
parent 46a1804f64
commit 4611bde653

View File

@ -8,26 +8,34 @@ export default function Component({ service }) {
const [refreshTimer, setRefreshTimer] = useState(0); const [refreshTimer, setRefreshTimer] = useState(0);
const { widget } = service; const { widget } = service;
useEffect(() => { useEffect(() => {
const refreshInterval = setInterval( if (widget?.refreshInterval) {
() => {setRefreshTimer(refreshTimer + 1)}, const refreshInterval = setInterval(() => {
widget?.refreshInterval setRefreshTimer(refreshTimer + 1);
); }, widget?.refreshInterval);
return () => clearInterval(refreshInterval) return () => clearInterval(refreshInterval);
}
}, [refreshTimer]); }, [refreshTimer]);
const scrollingDisableStyle = widget.scrolling const scrollingDisableStyle = widget.scrolling
? "pointer-events:none; overflow: hidden;" ? "pointer-events:none; overflow: hidden;"
: ""; : "";
const sizeClasses = `h-${widget?.sizes?.xs || 80} sm:h-${
widget?.sizes?.sm || 80
} md:h-${widget?.sizes?.md || 80} lg:h-${widget?.sizes?.lg || 80} xl:h-${
widget?.sizes?.xl || 80
} 2xl:h-${widget?.sizes?.["2xl"] || 80}`;
return ( return (
<Container service={service}> <Container service={service}>
<Block> <Block>
<iframe <iframe
src={widget.src} src={widget?.src}
id={refreshTimer} key={`${widget?.name}-${refreshTimer}`}
key={refreshTimer} name={widget?.name}
title="Iframe" title={widget?.name}
allow={widget?.allowPolicy} allow={widget?.allowPolicy}
allowfullscreen={widget?.allowfullscreen} allowfullscreen={widget?.allowfullscreen}
referrerpolicy={widget?.referrerPolicy} referrerpolicy={widget?.referrerPolicy}
@ -35,7 +43,7 @@ export default function Component({ service }) {
scrolling={widget?.allowScrolling} scrolling={widget?.allowScrolling}
frameBorder={widget?.border} frameBorder={widget?.border}
style={{ width: "100%", scrollingDisableStyle }} style={{ width: "100%", scrollingDisableStyle }}
className={`h-${widget.sizes?.xs} sm:h-${widget.sizes?.sm} md:h-${widget.sizes?.md} lg:h-${widget.sizes?.lg} xl:h-${widget.sizes?.xl} 2xl:h-${widget.sizes?.["2xl"]} ${scrollingDisableStyle}`} className={sizeClasses}
/> />
</Block> </Block>
</Container> </Container>