import React from 'react';
import { AudioLevelDisplayType } from '../../types';
import { DisplayShapes } from '../Video/Video';
import InlineCircle from './InlineCircle';
import InlineWave from './InlineWave';
import { AudioLevelBorder, AudioLevelIndicatorClasses } from './Border';
import { useHMSStore } from '../../hooks/HMSRoomProvider';
import { selectPeerAudioByID } from '../../store/selectors';
export interface AudioLevelIndicatorProps {
peerId?: string;
type: AudioLevelDisplayType;
level?: number;
color?: string;
displayShape?: DisplayShapes;
classes?: AudioLevelIndicatorClasses;
}
export const AudioLevelIndicator = ({
peerId,
type,
level = 0,
color,
displayShape = 'rectangle',
classes,
}: AudioLevelIndicatorProps) => {
let audioLevel = useHMSStore(store => selectPeerAudioByID(store, peerId));
audioLevel = level || audioLevel;
switch (type) {
case 'inline-circle':
return ;
case 'inline-wave':
return ;
case 'border':
return (
);
default:
return null;
}
};