askToJoinRoom function

void askToJoinRoom(
  1. dynamic context,
  2. dynamic ref,
  3. String roomId
)

Implementation

void askToJoinRoom(
  BuildContext context,
  WidgetRef ref,
  String roomId,
) async {
  showModalBottomSheet(
    context: context,
    isDismissible: true,
    shape: const RoundedRectangleBorder(
      borderRadius: BorderRadius.only(
        topRight: Radius.circular(20),
        topLeft: Radius.circular(20),
      ),
    ),
    builder: (context) => Container(
      width: double.infinity,
      padding: const EdgeInsets.all(20),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        mainAxisSize: MainAxisSize.min,
        children: [
          Text(
            L10n.of(context).youAreNotPartOfThisGroup,
          ),
          const SizedBox(height: 20),
          ActerPrimaryActionButton(
            onPressed: () async {
              Navigator.pop(context);
              final server = roomId.split(':').last;
              await joinRoom(
                context,
                ref,
                L10n.of(context).tryingToJoin(roomId),
                roomId,
                server,
                (roomId) => navigateToRoomOrAskToJoin(context, ref, roomId),
              );
            },
            child: Text(L10n.of(context).joinRoom),
          ),
        ],
      ),
    ),
  );
}