Customization Prerequisite
danger
If you are not using DyteMeeting component directly, rendering the following components are critical for the meeting to function.
DyteParticipantsAudio
This component is required for audio playback. You will not be able to hear audio without this component.
This component also displays a dialog if the browser throws an auto play error, requiring user interaction to allow audio to be played.
<DyteParticipantsAudio meeting={meeting} />
DyteNotifications
This component is required for receiving notifications. If you don't have this component, you won't be notified of events like network disconnection or poor network.
<DyteNotifications
  meeting={meeting}
  config={{
    config: {
      // which notifications to show
      notifications: ['chat', 'participant_joined', 'participant_left'],
      // which notifications should have sounds
      notification_sounds: ['chat', 'participant_joined', 'participant_left'],
      // maximum number of participant joined sound notifications
      participant_joined_sound_notification_limit: 10,
      // maximum number of chat message sound notifications
      participant_chat_message_sound_notification_limit: 10,
    },
  }}
/>
DyteDialogManager
A component which handles all dialog elements in a component. This component is required for the following components to work:
- DyteLeaveButton
 - DyteSettingsToggle
 - DyteBreakoutRoomsToggle
 - DyteMuteAllButton
 
This components depends on the values from states object.
function Example() {
  const [states, setStates] = useState({});
  const setState = (s) => setStates((states) => ({ ...states, ...s }));
  return (
    <Row>
      <DyteButton onClick={() => setState({ activeLeaveConfirmation: true })}>
        Show Leave Confirmation
      </DyteButton>
      <DyteDialogManager
        meeting={meeting}
        states={states}
        onDyteStateUpdate={(e) => setState(e.detail)}
      />
    </Row>
  );
}