navigateToRoomOrAskToJoin function
Future<void>
navigateToRoomOrAskToJoin( - dynamic context,
- dynamic ref,
- String roomId
)
Implementation
Future<void> navigateToRoomOrAskToJoin(
BuildContext context,
WidgetRef ref,
String roomId,
) async {
///Get room from roomId
final room = await ref.read(maybeRoomProvider(roomId).future);
if (!context.mounted) return;
/// Navigate to Room is already joined
if (room != null && room.isJoined()) {
//Navigate to Space
if (room.isSpace()) {
goToSpace(context, roomId);
}
//Navigate to Chat
else {
goToChat(context, roomId);
}
}
/// Ask to join room if not yet joined
else {
showRoomPreview(context: context, roomIdOrAlias: roomId);
}
}