import 'package:flutter/material.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/extension/build_context_x.dart'; extension AppSnackBarsBuildContextExtension on BuildContext { void showSuccessSnackbar(String message) { ScaffoldMessenger.of(this).showSnackBar( _makeSnackbar( message: message, icon: Icons.check_circle, backgroundColor: Colors.green, ), ); } void showFailureSnackbar(String message) { ScaffoldMessenger.of(this).showSnackBar( _makeSnackbar( message: message, icon: Icons.error, backgroundColor: Colors.red, ), ); } SnackBar _makeSnackbar({ required String message, required Color backgroundColor, required IconData icon, }) { return SnackBar( content: Row( mainAxisSize: MainAxisSize.min, spacing: 8, children: [ Icon(icon, color: Colors.white), Text( message, style: textTheme.bodyMedium?.copyWith( color: ColorsManager.whiteColors, ), ), ], ), backgroundColor: backgroundColor, behavior: SnackBarBehavior.floating, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12.0), ), margin: const EdgeInsetsDirectional.symmetric( horizontal: 92, vertical: 32, ), ); } }