aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer/src/components/BrowserViewPlaceholder.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/renderer/src/components/BrowserViewPlaceholder.tsx')
-rw-r--r--packages/renderer/src/components/BrowserViewPlaceholder.tsx55
1 files changed, 28 insertions, 27 deletions
diff --git a/packages/renderer/src/components/BrowserViewPlaceholder.tsx b/packages/renderer/src/components/BrowserViewPlaceholder.tsx
index 11c09d6..8f055e7 100644
--- a/packages/renderer/src/components/BrowserViewPlaceholder.tsx
+++ b/packages/renderer/src/components/BrowserViewPlaceholder.tsx
@@ -29,36 +29,37 @@ export default observer(() => {
29 const store = useStore(); 29 const store = useStore();
30 30
31 // eslint-disable-next-line react-hooks/exhaustive-deps -- react-hooks doesn't support `throttle`. 31 // eslint-disable-next-line react-hooks/exhaustive-deps -- react-hooks doesn't support `throttle`.
32 const onResize = useCallback(throttle(([entry]: ResizeObserverEntry[]) => { 32 const onResize = useCallback(
33 if (entry) { 33 throttle(([entry]: ResizeObserverEntry[]) => {
34 const { 34 if (entry) {
35 x, 35 const { x, y, width, height } = entry.target.getBoundingClientRect();
36 y, 36 store.setBrowserViewBounds({
37 width, 37 x,
38 height, 38 y,
39 } = entry.target.getBoundingClientRect(); 39 width,
40 store.setBrowserViewBounds({ 40 height,
41 x, 41 });
42 y, 42 }
43 width, 43 }, 100),
44 height, 44 [store],
45 }); 45 );
46 }
47 }, 100), [store]);
48 46
49 const resizeObserverRef = useRef<ResizeObserver | null>(null); 47 const resizeObserverRef = useRef<ResizeObserver | null>(null);
50 48
51 const ref = useCallback((element: HTMLElement | null) => { 49 const ref = useCallback(
52 if (resizeObserverRef.current !== null) { 50 (element: HTMLElement | null) => {
53 resizeObserverRef.current.disconnect(); 51 if (resizeObserverRef.current !== null) {
54 } 52 resizeObserverRef.current.disconnect();
55 if (element === null) { 53 }
56 resizeObserverRef.current = null; 54 if (element === null) {
57 return; 55 resizeObserverRef.current = null;
58 } 56 return;
59 resizeObserverRef.current = new ResizeObserver(onResize); 57 }
60 resizeObserverRef.current.observe(element); 58 resizeObserverRef.current = new ResizeObserver(onResize);
61 }, [onResize, resizeObserverRef]); 59 resizeObserverRef.current.observe(element);
60 },
61 [onResize, resizeObserverRef],
62 );
62 63
63 return ( 64 return (
64 <Box 65 <Box