From db1fdb987124a7a555c3468ac363b99f60c65c15 Mon Sep 17 00:00:00 2001 From: Nathan Vasse Date: Thu, 12 Dec 2024 15:18:25 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(front)=20add=20useIsMobile=20hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This hook tells whether the current browser is a mobile one or not. --- src/frontend/src/utils/useIsMobile.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/frontend/src/utils/useIsMobile.ts diff --git a/src/frontend/src/utils/useIsMobile.ts b/src/frontend/src/utils/useIsMobile.ts new file mode 100644 index 00000000..63054573 --- /dev/null +++ b/src/frontend/src/utils/useIsMobile.ts @@ -0,0 +1,20 @@ +import { isMobileBrowser } from '@livekit/components-core' +import { useEffect, useState } from 'react' + +export const useIsMobile = () => { + const [isMobile, setIsMobile] = useState(isMobileBrowser()) + + useEffect(() => { + const handleResize = () => { + setIsMobile(isMobileBrowser()) + } + + window.addEventListener('resize', handleResize) + + return () => { + window.removeEventListener('resize', handleResize) + } + }, []) + + return isMobile +}