import 'package:flutter/material.dart'; import 'package:simplecloudnotifier/state/globals.dart'; import 'package:toastification/toastification.dart'; class Toaster { // https://payamzahedi.com/toastification/ static const autoCloseDuration = Duration(seconds: 4); static const alignment = Alignment.topCenter; static const animationDuration = Duration(milliseconds: 200); static final borderRadius = BorderRadius.circular(4.0); static void simple(String title) { print('[TOAST]: [[SIMPLE]] $title'); if (!Globals().appWidgetInitialized) { print('[TOAST]: Cannot show simple-toast - app not initialized - skipping'); return; } toastification.show( type: ToastificationType.success, style: ToastificationStyle.simple, title: Text(title), description: Text(title), autoCloseDuration: autoCloseDuration, borderRadius: borderRadius, closeButton: ToastCloseButton(showType: CloseButtonShowType.none), alignment: alignment, animationDuration: animationDuration, pauseOnHover: false, applyBlurEffect: true, closeOnClick: true, showProgressBar: false, ); } static void success(String title, String message) { print('[TOAST]: [[SUCC]] $title:\n$message'); if (!Globals().appWidgetInitialized) { print('[TOAST]: Cannot show succ-toast - app not initialized - skipping'); return; } toastification.show( type: ToastificationType.success, style: ToastificationStyle.flatColored, title: Text(title), description: Text(message), autoCloseDuration: autoCloseDuration, borderRadius: borderRadius, closeButton: ToastCloseButton(showType: CloseButtonShowType.none), alignment: alignment, animationDuration: animationDuration, pauseOnHover: false, applyBlurEffect: true, closeOnClick: true, showProgressBar: false, ); } static void info(String title, String message) { print('[TOAST]: [[INFO]] $title:\n$message'); if (!Globals().appWidgetInitialized) { print('[TOAST]: Cannot show info-toast - app not initialized - skipping'); return; } toastification.show( type: ToastificationType.info, style: ToastificationStyle.flatColored, title: Text(title), description: Text(message), autoCloseDuration: autoCloseDuration, borderRadius: borderRadius, closeButton: ToastCloseButton(showType: CloseButtonShowType.none), alignment: alignment, animationDuration: animationDuration, pauseOnHover: false, applyBlurEffect: true, closeOnClick: true, showProgressBar: false, ); } static void warn(String title, String message) { print('[TOAST]: [[WARN]] $title:\n$message'); if (!Globals().appWidgetInitialized) { print('[TOAST]: Cannot show warn-toast - app not initialized - skipping'); return; } toastification.show( type: ToastificationType.warning, style: ToastificationStyle.flatColored, title: Text(title), description: Text(message), autoCloseDuration: autoCloseDuration, borderRadius: borderRadius, closeButton: ToastCloseButton(showType: CloseButtonShowType.none), alignment: alignment, animationDuration: animationDuration, pauseOnHover: false, applyBlurEffect: true, closeOnClick: true, showProgressBar: false, ); } static void error(String title, String message) { print('[TOAST]: [[ERROR]] $title:\n$message'); if (!Globals().appWidgetInitialized) { print('[TOAST]: Cannot show error-toast - app not initialized - skipping'); return; } toastification.show( type: ToastificationType.error, style: ToastificationStyle.flatColored, title: Text(title), description: Text(message), autoCloseDuration: autoCloseDuration, borderRadius: borderRadius, closeButton: ToastCloseButton(showType: CloseButtonShowType.none), alignment: alignment, animationDuration: animationDuration, pauseOnHover: false, applyBlurEffect: true, closeOnClick: true, showProgressBar: false, ); } }