import 'package:flutter/material.dart'; import 'package:stream_chat/stream_chat.dart'; import 'package:url_launcher/url_launcher.dart'; import '../stream_chat_flutter.dart'; Future launchURL(BuildContext context, String url) async { if (await canLaunch(url)) { await launch(url); } else { Scaffold.of(context).showSnackBar( SnackBar( content: Text('Cannot launch the url'), ), ); } } Future showConfirmationDialog( BuildContext context, { String title, Widget icon, String question, String okText, String cancelText, }) { return showModalBottomSheet( backgroundColor: Colors.white, context: context, shape: RoundedRectangleBorder( borderRadius: BorderRadius.only( topLeft: Radius.circular(16.0), topRight: Radius.circular(16.0), )), builder: (context) { return Column( mainAxisSize: MainAxisSize.min, children: [ SizedBox( height: 26.0, ), if (icon != null) icon, SizedBox( height: 26.0, ), Text( title, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16.0), ), SizedBox( height: 7.0, ), Text(question), SizedBox( height: 36.0, ), Container( color: Color(0xffe6e6e6), height: 1.0, ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ FlatButton( child: Text( cancelText, style: TextStyle( color: Colors.black.withOpacity(0.5), fontWeight: FontWeight.w400), ), onPressed: () { Navigator.of(context).pop(); }, ), FlatButton( child: Text( okText, style: TextStyle( color: Colors.red, fontWeight: FontWeight.w400), ), onPressed: () { Navigator.pop(context, true); }, ), ], ), ], ); }); } /// Get random png with initials String getRandomPicUrl(User user) => 'https://getstream.io/random_png/?id=${user.id}&name=${user.name}';