From fca99d6126c31fbb18ed9f1034cee6f940b040e8 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Tue, 10 Feb 2026 16:28:21 +0100 Subject: refactor --- apps/web/src/hooks/use-container-size.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 apps/web/src/hooks/use-container-size.ts (limited to 'apps/web/src/hooks/use-container-size.ts') diff --git a/apps/web/src/hooks/use-container-size.ts b/apps/web/src/hooks/use-container-size.ts new file mode 100644 index 00000000..8b46f20e --- /dev/null +++ b/apps/web/src/hooks/use-container-size.ts @@ -0,0 +1,29 @@ +import { useEffect, useState } from "react"; + +export function useContainerSize({ + containerRef, +}: { + containerRef: React.RefObject; +}) { + const [size, setSize] = useState({ width: 0, height: 0 }); + + useEffect(() => { + const container = containerRef.current; + if (!container) return; + + const observer = new ResizeObserver((entries) => { + for (const entry of entries) { + const { width, height } = entry.contentRect; + setSize({ width, height }); + } + }); + + observer.observe(container); + + return () => { + observer.disconnect(); + }; + }, [containerRef]); + + return size; +} -- cgit v1.3.1