From 89aa022f2d233987b44d644e594a9b4132a2fbc0 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Tue, 6 Jun 2023 00:14:48 +0200 Subject: [PATCH] Fixed show snackbar error --- lib/functions/copy_clipboard.dart | 23 +++++++++++-------- lib/screens/clients/active_client_tile.dart | 3 --- lib/screens/clients/added_client_tile.dart | 2 -- .../filters/filters_triple_column.dart | 2 -- lib/screens/filters/list_options_menu.dart | 2 -- lib/screens/settings/app_logs/app_logs.dart | 1 - 6 files changed, 13 insertions(+), 20 deletions(-) diff --git a/lib/functions/copy_clipboard.dart b/lib/functions/copy_clipboard.dart index 87c8135..fbd13ec 100644 --- a/lib/functions/copy_clipboard.dart +++ b/lib/functions/copy_clipboard.dart @@ -3,18 +3,21 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:adguard_home_manager/config/globals.dart'; + void copyToClipboard({ - required BuildContext context, required String value, required String successMessage }) async { - await Clipboard.setData( - ClipboardData(text: value) - ); - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(successMessage), - backgroundColor: Colors.green, - ) - ); + if (scaffoldMessengerKey.currentState != null) { + await Clipboard.setData( + ClipboardData(text: value) + ); + scaffoldMessengerKey.currentState!.showSnackBar( + SnackBar( + content: Text(successMessage), + backgroundColor: Colors.green, + ) + ); + } } \ No newline at end of file diff --git a/lib/screens/clients/active_client_tile.dart b/lib/screens/clients/active_client_tile.dart index c3e55cf..26cb30f 100644 --- a/lib/screens/clients/active_client_tile.dart +++ b/lib/screens/clients/active_client_tile.dart @@ -35,7 +35,6 @@ class ActiveClientTile extends StatelessWidget { icon: Icons.copy_rounded, action: () { copyToClipboard( - context: context, value: client.name != '' ? client.name! : client.ip, @@ -58,7 +57,6 @@ class ActiveClientTile extends StatelessWidget { icon: Icons.copy_rounded, onTap: () { copyToClipboard( - context: context, value: client.name != '' ? client.name! : client.ip, @@ -137,7 +135,6 @@ class ActiveClientTile extends StatelessWidget { icon: Icons.copy_rounded, onTap: () { copyToClipboard( - context: context, value: client.name != '' ? client.name! : client.ip, diff --git a/lib/screens/clients/added_client_tile.dart b/lib/screens/clients/added_client_tile.dart index ff6d566..c63c816 100644 --- a/lib/screens/clients/added_client_tile.dart +++ b/lib/screens/clients/added_client_tile.dart @@ -55,7 +55,6 @@ class AddedClientTile extends StatelessWidget { icon: Icons.copy_rounded, onTap: () { copyToClipboard( - context: context, value: client.ids.toString().replaceAll(RegExp(r'^\[|\]$'), ''), successMessage: AppLocalizations.of(context)!.copiedClipboard, ); @@ -189,7 +188,6 @@ class AddedClientTile extends StatelessWidget { icon: Icons.copy_rounded, onTap: () { copyToClipboard( - context: context, value: client.ids.toString().replaceAll(RegExp(r'^\[|\]$'), ''), successMessage: AppLocalizations.of(context)!.copiedClipboard, ); diff --git a/lib/screens/filters/filters_triple_column.dart b/lib/screens/filters/filters_triple_column.dart index c481749..de0ffb0 100644 --- a/lib/screens/filters/filters_triple_column.dart +++ b/lib/screens/filters/filters_triple_column.dart @@ -249,7 +249,6 @@ class FiltersTripleColumn extends StatelessWidget { icon: Icons.copy_rounded, onTap: () { copyToClipboard( - context: context, value: filteringProvider.filtering!.userRules[index], successMessage: AppLocalizations.of(context)!.copiedClipboard, ); @@ -266,7 +265,6 @@ class FiltersTripleColumn extends StatelessWidget { title: AppLocalizations.of(context)!.copyClipboard, icon: Icons.copy_rounded, action: () => copyToClipboard( - context: context, value: filteringProvider.filtering!.userRules[index], successMessage: AppLocalizations.of(context)!.copiedClipboard, ) diff --git a/lib/screens/filters/list_options_menu.dart b/lib/screens/filters/list_options_menu.dart index 6482ecd..1d644a0 100644 --- a/lib/screens/filters/list_options_menu.dart +++ b/lib/screens/filters/list_options_menu.dart @@ -87,7 +87,6 @@ class ListOptionsMenu extends StatelessWidget { onTap: () { Navigator.pop(context); // Closes the context menu copyToClipboard( - context: context, value: list.url, successMessage: AppLocalizations.of(context)!.listUrlCopied ); @@ -114,7 +113,6 @@ class ListOptionsMenu extends StatelessWidget { title: AppLocalizations.of(context)!.copyListUrl, icon: Icons.copy_rounded, action: () => copyToClipboard( - context: context, value: list.url, successMessage: AppLocalizations.of(context)!.listUrlCopied ) diff --git a/lib/screens/settings/app_logs/app_logs.dart b/lib/screens/settings/app_logs/app_logs.dart index 48a3c9d..19a8502 100644 --- a/lib/screens/settings/app_logs/app_logs.dart +++ b/lib/screens/settings/app_logs/app_logs.dart @@ -25,7 +25,6 @@ class AppLogs extends StatelessWidget { IconButton( onPressed: appConfigProvider.logs.isNotEmpty ? () => copyToClipboard( - context: context, value: jsonEncode(appConfigProvider.logs.map((log) => log.toMap()).toList()), successMessage: AppLocalizations.of(context)!.logsCopiedClipboard )