| 1 |
import { useEffect, useState } from 'react'; |
| 2 |
|
| 3 |
const IFRAME_DISPLAY_TIMEOUT = 5000; |
| 4 |
|
| 5 |
export function useIframeNotRendered(app: string) { |
| 6 |
const [iframeNotRendered, setIframeNotRendered] = useState(false); |
| 7 |
useEffect(() => { |
| 8 |
const timer = setTimeout(() => { |
| 9 |
const iframe = document.getElementById(app); |
| 10 |
if (!iframe) { |
| 11 |
setIframeNotRendered(true); |
| 12 |
} |
| 13 |
}, IFRAME_DISPLAY_TIMEOUT); |
| 14 |
|
| 15 |
return () => { |
| 16 |
if (timer) { |
| 17 |
clearTimeout(timer); |
| 18 |
} |
| 19 |
}; |
| 20 |
}, []); |
| 21 |
|
| 22 |
return iframeNotRendered; |
| 23 |
} |
| 24 |
|
| 25 |
export const resizeWindow = () => { |
| 26 |
const adminMenuWrap = document.getElementById('adminmenuwrap'); |
| 27 |
const sideMenuHeight = adminMenuWrap ? adminMenuWrap.offsetHeight : 0; |
| 28 |
const adminBar = document.getElementById('wpadminbar'); |
| 29 |
const adminBarHeight = (adminBar && adminBar.offsetHeight) || 0; |
| 30 |
const offset = 4; |
| 31 |
if (window.innerHeight < sideMenuHeight) { |
| 32 |
return sideMenuHeight - offset; |
| 33 |
} else { |
| 34 |
return window.innerHeight - adminBarHeight - offset; |
| 35 |
} |
| 36 |
}; |
| 37 |
|