Hiyve Components - v1.0.0
    Preparing search index...

    Function useWaitingRoom

    • Access waiting room state and admission controls.

      Provides the list of users waiting for admission, whether the local user is currently waiting, and actions for the room owner to admit or reject waiting users.

      Returns {
          admitUser: (userId: string) => Promise<void>;
          isWaitingForAdmission: boolean;
          rejectUser: (userId: string) => Promise<void>;
          waitingUsers: WaitingRoomUser[];
          wasRejected: boolean;
      }

      Object containing waiting room state (waitingUsers, isWaitingForAdmission, wasRejected) and actions (admitUser, rejectUser)

      • admitUser: (userId: string) => Promise<void>
      • isWaitingForAdmission: boolean
      • rejectUser: (userId: string) => Promise<void>
      • waitingUsers: WaitingRoomUser[]
      • wasRejected: boolean
      import { useWaitingRoom, useRoom } from '@hiyve/rn-react';

      function WaitingRoomPanel() {
      const { waitingUsers, isWaitingForAdmission, wasRejected, admitUser, rejectUser } = useWaitingRoom();
      const { isOwner } = useRoom();

      if (isWaitingForAdmission) return <Text>Waiting for the host to let you in...</Text>;
      if (wasRejected) return <Text>Your request to join was declined.</Text>;

      if (!isOwner || waitingUsers.length === 0) return null;

      return (
      <FlatList
      data={waitingUsers}
      renderItem={({ item }) => (
      <View style={{ flexDirection: 'row', alignItems: 'center' }}>
      <Text style={{ flex: 1 }}>{item.displayName}</Text>
      <Button title="Admit" onPress={() => admitUser(item.userId)} />
      <Button title="Reject" onPress={() => rejectUser(item.userId)} />
      </View>
      )}
      />
      );
      }