diff --git a/lib/pages/collections_list_page.dart b/lib/pages/collections_list_page.dart index 63f553c..d4c36c6 100644 --- a/lib/pages/collections_list_page.dart +++ b/lib/pages/collections_list_page.dart @@ -21,7 +21,7 @@ class CollectionsListPage extends StatefulWidget { class _CollectionsListPageState extends State { bool addingNewBookmark = false; - final bookmarkCountMap = Storage.loadPerCollectionBookmarkCount(); + var bookmarkCountMap = {}; Widget bottomSheetBuilder(BuildContext context) { final titleTextFieldController = TextEditingController( @@ -84,8 +84,9 @@ class _CollectionsListPageState extends State { @override Widget build(BuildContext context) { final collections = Storage.loadCollections(); - final provider = context.watch(); - addingNewBookmark = provider.currentMapsLinkMetadata != null; + bookmarkCountMap = Storage.loadPerCollectionBookmarkCount(); + addingNewBookmark = + context.watch().currentMapsLinkMetadata != null; return Scaffold( appBar: AppBar( title: addingNewBookmark @@ -94,7 +95,8 @@ class _CollectionsListPageState extends State { actions: [ if (addingNewBookmark) TextButton( - onPressed: () => provider.removeCurrentMapsLink(), + onPressed: () => + context.read().removeCurrentMapsLink(), child: Text(AppLocalizations.of(context)!.cancel), ) else diff --git a/lib/service/notifying.dart b/lib/service/notifying.dart index 7c4dca1..bb8838a 100644 --- a/lib/service/notifying.dart +++ b/lib/service/notifying.dart @@ -8,13 +8,31 @@ class Notifying { required String text, bool isError = false, }) { + ScaffoldMessenger.of(context).hideCurrentSnackBar(); ScaffoldMessenger.of(context).showSnackBar( SnackBar( - content: Text( - text, - style: isError - ? TextStyle(color: Theme.of(context).colorScheme.error) - : null, + backgroundColor: Theme.of(context).colorScheme.error, + content: SizedBox( + height: 30, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + text, + style: isError + ? TextStyle(color: Theme.of(context).colorScheme.onError) + : null, + ), + IconButton( + onPressed: () => + ScaffoldMessenger.of(context).hideCurrentSnackBar(), + icon: Icon( + Icons.close_rounded, + color: Theme.of(context).colorScheme.onError, + ), + ), + ], + ), ), ), );