Files
2025-01-21 18:29:27 +05:30

77 lines
1.8 KiB
Dart

import 'dart:math' as math;
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:grocery_app/utils/constants/globle_variable.dart';
/// Hides soft keyboard if already shown
///
enum SnackType {
success,
alert,
error
}
void hideKeyBoard() {
FocusManager.instance.primaryFocus?.unfocus();
}
/// Show snackbar
void showSnackBar(
{ BuildContext ?context,
required String message,
SnackType snackType = SnackType.success,
bool canDismiss = true,
bool sticky = false,
SnackBarBehavior behaviour = SnackBarBehavior.floating,
}) {
//if (!context?.mounted??) return;
//Clear snack bars
ScaffoldMessenger.of(context??GlobalVariable.globalScaffoldKey.currentContext!).clearSnackBars();
// Snack bar
final snackBar = SnackBar(
behavior: behaviour,
padding: EdgeInsets.zero,
elevation: 0,
content: Container(
padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 8.h),
decoration: BoxDecoration(
gradient: LinearGradient(
colors:snackType==SnackType.success? const [
Color(0xFF61B15A),
Color(0xFF6ABE8B)
]:snackType==SnackType.alert?
const [
Color(0xFFFF8906),
Color(0xFFFFA745),
]:
const [
Colors.red,
Colors.redAccent,
],
),
),
child: Text(
message,
textAlign: TextAlign.center,
),
),
duration: sticky ? const Duration(days: 365) : const Duration(seconds: 3),
dismissDirection:
canDismiss ? DismissDirection.down : DismissDirection.none,
);
// Find the ScaffoldMessenger in the widget tree
// and use it to show a SnackBar.
ScaffoldMessenger.of(context??GlobalVariable.globalScaffoldKey.currentContext!).showSnackBar(snackBar);
}