Improved snackbars

This commit is contained in:
Juan Gilsanz Polo
2024-02-27 01:46:12 +01:00
parent 16d05880c9
commit 8a968be6e0
29 changed files with 588 additions and 627 deletions

View File

@@ -1,23 +1,18 @@
// ignore_for_file: use_build_context_synchronously
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:linkdy/constants/global_keys.dart';
void copyToClipboard({
required GlobalKey<ScaffoldMessengerState> key,
required String value,
required String successMessage,
}) async {
if (scaffoldMessengerGlobalKey.currentState != null) {
await Clipboard.setData(
ClipboardData(text: value),
);
scaffoldMessengerGlobalKey.currentState!.showSnackBar(
SnackBar(
content: Text(successMessage),
backgroundColor: Colors.green,
),
);
}
await Clipboard.setData(
ClipboardData(text: value),
);
key.currentState!.showSnackBar(
SnackBar(
content: Text(successMessage),
backgroundColor: Colors.green,
),
);
}

17
lib/utils/snackbar.dart Normal file
View File

@@ -0,0 +1,17 @@
import 'package:flutter/material.dart';
void showSnackbar({
required GlobalKey<ScaffoldMessengerState> key,
required String label,
required Color color,
Color? labelColor,
}) {
final snackBar = SnackBar(
content: Text(
label,
style: TextStyle(color: labelColor ?? Colors.white),
),
backgroundColor: color,
);
key.currentState?.showSnackBar(snackBar);
}