appSnackbar function
void
appSnackbar(
- BuildContext context,
- String message, {
- IconData? icon,
- Color? iconColor,
- bool backToRoot = false,
Generic reusable Snackbar for the package
Implementation
void appSnackbar(
BuildContext context,
String message, {
IconData? icon, // optional icon
Color? iconColor, // optional icon color
bool backToRoot = false,
}) {
final snackBar = SnackBar(
content: Row(
children: [
Expanded(
child: Text(
message,
style: const TextStyle(color: Colors.white, fontSize: 14),
),
),
if (icon != null) ...[
const SizedBox(width: 8), // text এবং icon এর মধ্যে gap
Icon(icon, color: iconColor ?? Colors.white, size: 20),
],
],
),
behavior: SnackBarBehavior.floating,
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
duration: const Duration(seconds: 2),
backgroundColor: Colors.black87,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
if (backToRoot) {
Future.delayed(const Duration(milliseconds: 500), () {
Navigator.popUntil(context, (route) => route.isFirst);
});
}
}