show static method

void show({
  1. required BuildContext context,
  2. required String message,
  3. SnackbarVariant variant = SnackbarVariant.info,
  4. Duration duration = const Duration(seconds: 3),
  5. String? actionLabel,
  6. VoidCallback? onAction,
})

Implementation

static void show({
  required BuildContext context,
  required String message,
  SnackbarVariant variant = SnackbarVariant.info,
  Duration duration = const Duration(seconds: 3),
  String? actionLabel,
  VoidCallback? onAction,
}) {
  final colors = variant.getColors(context);

  ScaffoldMessenger.of(context).showSnackBar(
    SnackBar(
      content: Row(
        children: [
          Icon(
            variant.icon,
            color: colors.foreground,
            size: 20,
          ),
          const SizedBox(width: 12),
          Expanded(
            child: Text(
              message,
              style: TextStyle(color: colors.foreground),
            ),
          ),
        ],
      ),
      backgroundColor: colors.background,
      duration: duration,
      behavior: SnackBarBehavior.floating,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(8),
      ),
      action: actionLabel != null && onAction != null
          ? SnackBarAction(
              label: actionLabel,
              onPressed: onAction,
              textColor: colors.foreground,
            )
          : null,
    ),
  );
}