getEsigSnackBar function

SnackBar? getEsigSnackBar(
  1. String mensagem, {
  2. BuildContext? context,
  3. int duracao = 6,
  4. Color corFundo = Colors.grey,
  5. Color corTexto = Colors.white,
  6. IconData? icon = Icons.info,
  7. EdgeInsets? padding,
  8. SnackBarAction? action,
})

Implementation

SnackBar? getEsigSnackBar(
  String mensagem, {
  BuildContext? context,
  int duracao = 6,
  Color corFundo = Colors.grey,
  Color corTexto = Colors.white,
  IconData? icon = Icons.info,
  EdgeInsets? padding,
  SnackBarAction? action,
}) {
  final action = context == null
      ? null
      : SnackBarAction(
          label: 'Fechar',
          textColor: corTexto,
          onPressed: () => ScaffoldMessenger.of(context).hideCurrentSnackBar(),
        );

  final snackbar = SnackBar(
    padding: EdgeInsets.symmetric(
      horizontal: 0,
    ).copyWith(
      top: padding?.top,
      right: padding?.right,
      bottom: padding?.bottom,
      left: padding?.left,
    ),
    backgroundColor: corFundo,
    duration: Duration(seconds: duracao),
    action: action,
    content: Row(
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: [
        SizedBox(width: 10),
        Icon(icon, color: corTexto),
        SizedBox(width: 10),
        Expanded(
          child: Text(
            mensagem,
            overflow: TextOverflow.visible,
            style: TextStyle(color: corTexto),
          ),
        ),
      ],
    ),
  );

  if (context == null) {
    return snackbar;
  } else {
    ScaffoldMessenger.of(context).showSnackBar(snackbar);
  }
}