diff --git a/packages/neon/lib/src/utils/global_popups.dart b/packages/neon/lib/src/utils/global_popups.dart index 5669d96a..115e7f4f 100644 --- a/packages/neon/lib/src/utils/global_popups.dart +++ b/packages/neon/lib/src/utils/global_popups.dart @@ -10,6 +10,7 @@ class GlobalPopups extends StatefulWidget { } class _GlobalPopupsState extends State { + late GlobalOptions _globalOptions; late FirstLaunchBloc _firstLaunchBloc; late NextPushBloc _nextPushBloc; @@ -17,25 +18,31 @@ class _GlobalPopupsState extends State { void initState() { super.initState(); + _globalOptions = Provider.of(context, listen: false); _firstLaunchBloc = Provider.of(context, listen: false); _nextPushBloc = Provider.of(context, listen: false); - _firstLaunchBloc.onFirstLaunch.listen((final _) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(AppLocalizations.of(context).firstLaunchGoToSettingsToEnablePushNotifications), - action: SnackBarAction( - label: AppLocalizations.of(context).settings, - onPressed: () async { - await Navigator.of(context).push( - MaterialPageRoute( - builder: (final context) => const SettingsPage(), - ), - ); - }, + _firstLaunchBloc.onFirstLaunch.listen((final _) async { + if (await _globalOptions.pushNotificationsEnabled.enabled.first) { + if (!mounted) { + return; + } + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(AppLocalizations.of(context).firstLaunchGoToSettingsToEnablePushNotifications), + action: SnackBarAction( + label: AppLocalizations.of(context).settings, + onPressed: () async { + await Navigator.of(context).push( + MaterialPageRoute( + builder: (final context) => const SettingsPage(), + ), + ); + }, + ), ), - ), - ); + ); + } }); _nextPushBloc.onNextPushSupported.listen((final _) async {