mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-10 23:45:48 +01:00
✨ Add new config format
This commit is contained in:
23
src/hooks/use-resize.ts
Normal file
23
src/hooks/use-resize.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { useCallback, useEffect, useState, MutableRefObject } from 'react';
|
||||
|
||||
export const useResize = (myRef: MutableRefObject<HTMLDivElement | null>) => {
|
||||
const [width, setWidth] = useState(0);
|
||||
const [height, setHeight] = useState(0);
|
||||
|
||||
const handleResize = useCallback(() => {
|
||||
setWidth(myRef.current?.offsetWidth ?? 0);
|
||||
setHeight(myRef.current?.offsetHeight ?? 0);
|
||||
}, [myRef]);
|
||||
|
||||
useEffect(() => {
|
||||
window.addEventListener('load', handleResize);
|
||||
window.addEventListener('resize', handleResize);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('load', handleResize);
|
||||
window.removeEventListener('resize', handleResize);
|
||||
};
|
||||
}, [myRef, handleResize]);
|
||||
|
||||
return { width, height };
|
||||
};
|
||||
Reference in New Issue
Block a user