mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-04-19 21:39:16 +00:00
34 lines
No EOL
1,022 B
Dart
34 lines
No EOL
1,022 B
Dart
// ignore_for_file: use_build_context_synchronously
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:adguard_home_manager/providers/app_config_provider.dart';
|
|
import 'package:adguard_home_manager/config/globals.dart';
|
|
|
|
void showSnackbar({
|
|
required AppConfigProvider appConfigProvider,
|
|
required String label,
|
|
required Color color,
|
|
Color? labelColor,
|
|
GlobalKey<ScaffoldMessengerState>? key,
|
|
}) async {
|
|
final GlobalKey<ScaffoldMessengerState> scaffoldKey = key ?? scaffoldMessengerKey;
|
|
if (appConfigProvider.showingSnackbar == true) {
|
|
scaffoldKey.currentState?.clearSnackBars();
|
|
await Future.delayed(const Duration(milliseconds: 500));
|
|
}
|
|
appConfigProvider.setShowingSnackbar(true);
|
|
|
|
final snackBar = SnackBar(
|
|
content: Text(
|
|
label,
|
|
style: TextStyle(
|
|
color: labelColor ?? Colors.white
|
|
),
|
|
),
|
|
backgroundColor: color,
|
|
);
|
|
scaffoldKey.currentState?.showSnackBar(snackBar).closed.then(
|
|
(value) => appConfigProvider.setShowingSnackbar(false)
|
|
);
|
|
} |