YurSnackBar function
void
YurSnackBar({})
Implementation
void YurSnackBar({
required String message,
InfoType snackBarType = InfoType.success,
double duration = 3,
double fontSize = 16.0,
int maxLines = 2,
TextAlign textAlign = TextAlign.start,
}) {
var scaffoldMessenger = ScaffoldMessenger.of(Get.context);
Color backgroundColor = Colors.green;
Color textColor = Colors.white;
switch (snackBarType) {
case InfoType.info:
backgroundColor = Colors.blue;
textColor = Colors.white;
break;
case InfoType.success:
backgroundColor = Colors.green;
textColor = Colors.white;
break;
case InfoType.error:
backgroundColor = Colors.red;
textColor = Colors.white;
break;
case InfoType.warning:
backgroundColor = Colors.orange;
textColor = Colors.white;
break;
}
scaffoldMessenger.showSnackBar(
SnackBar(
content: YurText(
text: message,
color: textColor,
fontWeight: FontWeight.w500,
maxLines: maxLines,
textAlign: textAlign,
fontSize: fontSize,
),
backgroundColor: backgroundColor,
animation: CurvedAnimation(
parent: AnimationController(
vsync: scaffoldMessenger,
animationBehavior: AnimationBehavior.preserve,
duration: 500.ms,
),
curve: Curves.easeInOut,
),
duration: Duration(seconds: duration.toInt()),
behavior: SnackBarBehavior.floating,
shape: const RoundedRectangleBorder(borderRadius: br4),
action: SnackBarAction(
label: "Tutup",
textColor: textColor,
onPressed: () => scaffoldMessenger.hideCurrentSnackBar(),
),
clipBehavior: Clip.antiAlias,
elevation: 4,
closeIconColor: textColor,
padding: e12,
dismissDirection: DismissDirection.horizontal,
showCloseIcon: false,
),
);
}