From 8eab45b6d5f8e6e2b18fd61b1bca53c121ac1fc8 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Wed, 22 Jan 2025 16:12:58 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9(frontend)=20prevent=20runtime=20er?= =?UTF-8?q?ror=20when=20Crisp=20is=20not=20initialized?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevents runtime error when Crisp chat hasn't initialized before component mount Previously caused crash since we assumed $crisp global was always available. --- .../rooms/livekit/components/controls/SupportToggle.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/features/rooms/livekit/components/controls/SupportToggle.tsx b/src/frontend/src/features/rooms/livekit/components/controls/SupportToggle.tsx index 76554de3..91042060 100644 --- a/src/frontend/src/features/rooms/livekit/components/controls/SupportToggle.tsx +++ b/src/frontend/src/features/rooms/livekit/components/controls/SupportToggle.tsx @@ -7,7 +7,9 @@ import { ToggleButtonProps } from '@/primitives/ToggleButton' export const SupportToggle = ({ onPress, ...props }: ToggleButtonProps) => { const { t } = useTranslation('rooms', { keyPrefix: 'controls' }) - const [isOpened, setIsOpened] = useState($crisp.is('chat:opened')) + const [isOpened, setIsOpened] = useState(() => { + return window?.$crisp?.is?.('chat:opened') || false + }) useEffect(() => { if (!Crisp) {