let view = CallParticipantsInfoView(callViewModel: viewModel)
CallParticipantsInfoView
The CallParticipantsInfoView
component represents a popup that lets the user see more information about a particular call and its participants. It allows you to see which participants are in the call, what their mute state is and attempt to trigger different actions based on your own capabilities.
On top of that, the menu allows you to invite other people to the call.
Let’s see how to use the component.
Usage
If you want to use the componant as a standalone, you can create it like this:
The required parameters for this method are:
callViewModel
- the call view model used for the call.
Additionally, if you are using our ViewFactory
and the default view, you can customize or swap this view with your own implementation. In order to do that, you should implement the method makeParticipantsListView
:
func makeParticipantsListView(
viewModel: CallViewModel
) -> some View {
CustomCallParticipantsInfoView(
callViewModel: viewModel,
)
}
The component also provides a view that you can use to invite members to the call. You can provide your own list of users that should be browsable in the view. In order to do that, you should implement the UserListProvider
protocol.
The protocol has one method loadNextUsers(pagination: Pagination), that returns a list of users:
func loadNextUsers(pagination: Pagination) async throws -> [User] {
// load the users, based on the pagination parameter provided
}
The Pagination
model consists of the following properties:
pageSize
- the size of the pageoffset
- the current pagination offset
In order to inject your custom implementation, you need to provide it in the creation of the Utils
class:
let utils = Utils(userListProvider: MockUserListProvider())
let streamVideoUI = StreamVideoUI(streamVideo: streamVideo, utils: utils)