Files
sendico/frontend/pweb/lib/utils/snackbar.dart
2025-11-13 15:06:15 +03:00

30 lines
987 B
Dart

import 'dart:async';
import 'package:flutter/material.dart';
ScaffoldFeatureController<SnackBar, SnackBarClosedReason> notifyUserX(
ScaffoldMessengerState sm,
String message,
{ int delaySeconds = 3 }
) => sm.showSnackBar(SnackBar(content: Text(message), duration: Duration(seconds: delaySeconds)));
ScaffoldFeatureController<SnackBar, SnackBarClosedReason> notifyUser(
BuildContext context,
String message,
{ int delaySeconds = 3 }
) => notifyUserX(ScaffoldMessenger.of(context), message, delaySeconds: delaySeconds);
Future<ScaffoldFeatureController<SnackBar, SnackBarClosedReason>> postNotifyUser(
BuildContext context, String message, {int delaySeconds = 3}) {
final completer = Completer<ScaffoldFeatureController<SnackBar, SnackBarClosedReason>>();
WidgetsBinding.instance.addPostFrameCallback((_) {
final controller = notifyUser(context, message, delaySeconds: delaySeconds);
completer.complete(controller);
});
return completer.future;
}