diff --git a/lib/globals.dart b/lib/globals.dart index bd3f455..b3a3170 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -5,3 +5,4 @@ Directory appPath; Directory walletsDirectory; String appVersion; SharedPreferences prefs; +String endPointGVA; diff --git a/lib/main.dart b/lib/main.dart index 1bdad08..39ea86e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -27,7 +27,7 @@ Future main() async { appVersion = await _homeProvider.getAppVersion(); prefs = await SharedPreferences.getInstance(); - String randomEndpoint; // = await getRandomEndpoint(); + String _randomEndpoint; int i = 0; do { if (i >= 5) { @@ -38,9 +38,11 @@ Future main() async { print(i.toString() + ' ème essai de recherche de endpoint GVA.'); await Future.delayed(Duration(milliseconds: 300)); } - randomEndpoint = await _homeProvider.getRandomEndpoint(); + _randomEndpoint = await _homeProvider.getRandomEndpoint(); i++; - } while (randomEndpoint == 'HS'); + } while (_randomEndpoint == 'HS'); + + endPointGVA = _randomEndpoint; if (kReleaseMode && enableSentry) { await SentryFlutter.init( @@ -48,13 +50,13 @@ Future main() async { options.dsn = 'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110'; }, - appRunner: () => runApp(Gecko(randomEndpoint)), + appRunner: () => runApp(Gecko(_randomEndpoint)), ); } else { print('Debug mode enabled: No sentry alerte'); runApp(Gecko( - randomEndpoint, + _randomEndpoint, )); } } diff --git a/lib/models/history.dart b/lib/models/history.dart index ef9076f..8f1293c 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -1,5 +1,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/globals.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:sentry/sentry.dart' as sentry; @@ -14,6 +15,7 @@ class HistoryProvider with ChangeNotifier { final TextEditingController _outputPubkey = new TextEditingController(); bool isTheEnd = false; List transBC; + bool isFirstBuild = true; Future scan() async { await Permission.camera.request(); @@ -144,6 +146,24 @@ class HistoryProvider with ChangeNotifier { return opts; } + snackNode(context) { + if (isFirstBuild) { + String _message; + print('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'); + print(endPointGVA); + if (endPointGVA == 'HS') { + _message = + "Aucun noeud Duniter disponible, veuillez réessayer ultérieurement"; + } else { + _message = "Vous êtes connecté au noeud\n${endPointGVA.split('/')[2]}"; + } + final snackBar = + SnackBar(content: Text(_message), duration: Duration(seconds: 2)); + Scaffold.of(context).showSnackBar(snackBar); + isFirstBuild = false; + } + } + void resetdHistory() { this._outputPubkey.text = ''; notifyListeners(); diff --git a/lib/screens/history.dart b/lib/screens/history.dart index f3ed4b5..9bea156 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -25,6 +25,10 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { HistoryProvider _historyProvider = Provider.of(context); this._outputPubkey.text = _historyProvider.pubkey; print('Build pubkey : ' + _historyProvider.pubkey); + // _historyProvider.snackNode(context); + WidgetsBinding.instance.addPostFrameCallback((_) { + _historyProvider.snackNode(context); + }); return Scaffold( floatingActionButton: Container( height: 80.0, diff --git a/pubspec.yaml b/pubspec.yaml index 7a2a49a..76c4b84 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: A new Flutter project. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.0+15 +version: 0.0.1+0 environment: sdk: ">=2.7.0 <3.0.0"