adguard-home-manager/lib/functions/snackbar.dart

32 lines
912 B
Dart
Raw Normal View History

2022-10-09 20:03:17 +02:00
// ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart';
import 'package:adguard_home_manager/providers/app_config_provider.dart';
2023-05-06 02:25:41 +02:00
import 'package:adguard_home_manager/config/globals.dart';
2022-10-09 20:03:17 +02:00
void showSnacbkar({
required AppConfigProvider appConfigProvider,
required String label,
2023-02-04 23:26:13 +01:00
required Color color,
Color? labelColor
2022-10-09 20:03:17 +02:00
}) async {
if (appConfigProvider.showingSnackbar == true) {
2023-05-06 02:25:41 +02:00
scaffoldMessengerKey.currentState?.clearSnackBars();
2022-10-09 20:03:17 +02:00
await Future.delayed(const Duration(milliseconds: 500));
}
appConfigProvider.setShowingSnackbar(true);
2023-05-06 02:25:41 +02:00
final snackBar = SnackBar(
content: Text(
label,
style: TextStyle(
color: labelColor ?? Colors.white
2023-02-04 23:26:13 +01:00
),
2023-05-06 02:25:41 +02:00
),
backgroundColor: color,
);
scaffoldMessengerKey.currentState?.showSnackBar(snackBar).closed.then(
(value) => appConfigProvider.setShowingSnackbar(false)
);
2022-10-09 20:03:17 +02:00
}