import 'package:flutter/material.dart'; import 'url_launcher.dart' show UrlLaunchErrorCode; class Notifying { static void showSnackbar( BuildContext context, { required String text, bool isError = false, }) { ScaffoldMessenger.of(context).hideCurrentSnackBar(); ScaffoldMessenger.of(context).showSnackBar( SnackBar( backgroundColor: Theme.of(context).colorScheme.error, content: SizedBox( height: 30, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( text, style: isError ? TextStyle(color: Theme.of(context).colorScheme.onError) : null, ), IconButton( onPressed: () => ScaffoldMessenger.of(context).hideCurrentSnackBar(), icon: Icon( Icons.close_rounded, color: Theme.of(context).colorScheme.onError, ), ), ], ), ), ), ); } static void showUrlErrorSnackbar( BuildContext context, UrlLaunchErrorCode errorCode, ) { String errorText = ''; if (errorCode == UrlLaunchErrorCode.none) { return; } else if (errorCode == UrlLaunchErrorCode.couldNotLaunch) { errorText = 'Could not launch Url'; } else { errorText = 'Invalid Url'; } showSnackbar(context, text: errorText, isError: true); } }