diff --git a/src/frontend/src/features/rooms/livekit/components/RecordingIndicator.tsx b/src/frontend/src/features/rooms/livekit/components/RecordingIndicator.tsx new file mode 100644 index 00000000..f2e8f78b --- /dev/null +++ b/src/frontend/src/features/rooms/livekit/components/RecordingIndicator.tsx @@ -0,0 +1,32 @@ +import { useRoomContext } from '@livekit/components-react' +import { useEffect, useState } from 'react' +import { RoomEvent } from 'livekit-client' + +export const RecordingIndicator = () => { + const room = useRoomContext() + const [isRecording, setIsRecording] = useState(room.isRecording) + + useEffect(() => { + const handleRecordingStatusChanges = (isRecording: boolean) => { + setIsRecording(isRecording) + } + room.on(RoomEvent.RecordingStatusChanged, handleRecordingStatusChanges) + return () => { + room.off(RoomEvent.RecordingStatusChanged, handleRecordingStatusChanges) + } + }, [room]) + + return ( +