From 1d45d3aa7c6487895c4023012faa5ef21123cfc9 Mon Sep 17 00:00:00 2001 From: Cyril Date: Mon, 15 Dec 2025 05:26:11 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20focus=20chat=20input=20on?= =?UTF-8?q?=20panel=20open?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit move keyboard focus to the message input when the chat panel opens. Signed-off-by: Cyril --- src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx b/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx index d1483f93..ce9b2679 100644 --- a/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx +++ b/src/frontend/src/features/rooms/livekit/prefabs/Chat.tsx @@ -1,5 +1,5 @@ import type { ChatMessage, ChatOptions } from '@livekit/components-core' -import * as React from 'react' +import React, { useEffect } from 'react' import { formatChatMessageLinks, useChat, @@ -36,6 +36,11 @@ export function Chat({ ...props }: ChatProps) { const { isChatOpen } = useSidePanel() const chatSnap = useSnapshot(chatStore) + useEffect(() => { + if (!isChatOpen || !inputRef.current) return + inputRef.current.focus() + }, [isChatOpen]) + // Use useParticipants hook to trigger a re-render when the participant list changes. const participants = useParticipants()