Localize and de-queue wallet status snackbars
This commit is contained in:
+139
-3
@@ -99,11 +99,12 @@ class _PeyaAppState extends ConsumerState<PeyaApp> with WindowListener {
|
||||
next.operationMessage!.isNotEmpty;
|
||||
|
||||
if (shouldShowStatus) {
|
||||
final message = next.operationMessage!;
|
||||
final message = _localizeOperationStatus(next.operationMessage!);
|
||||
if (_statusSnackVisible && _lastStatusMessage == message) {
|
||||
return;
|
||||
}
|
||||
messenger.hideCurrentSnackBar();
|
||||
messenger.clearSnackBars();
|
||||
messenger.removeCurrentSnackBar();
|
||||
messenger.showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(message),
|
||||
@@ -116,12 +117,147 @@ class _PeyaAppState extends ConsumerState<PeyaApp> with WindowListener {
|
||||
}
|
||||
|
||||
if (_statusSnackVisible) {
|
||||
messenger.hideCurrentSnackBar();
|
||||
messenger.clearSnackBars();
|
||||
messenger.removeCurrentSnackBar();
|
||||
_statusSnackVisible = false;
|
||||
_lastStatusMessage = null;
|
||||
}
|
||||
}
|
||||
|
||||
String _localizeOperationStatus(String message) {
|
||||
final l10n = AppLocalizations.of(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
);
|
||||
if (l10n == null) {
|
||||
return message;
|
||||
}
|
||||
|
||||
switch (message) {
|
||||
case 'Preparing wallet directory...':
|
||||
return 'Preparing wallet directory...'.startsWith('Preparing') &&
|
||||
Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Przygotowywanie katalogu portfela...'
|
||||
: message;
|
||||
case 'Creating wallet...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Tworzenie portfela...'
|
||||
: message;
|
||||
case 'Preparing temporary wallet...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Przygotowywanie tymczasowego portfela...'
|
||||
: message;
|
||||
case 'Generating seed phrase...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Generowanie seedu...'
|
||||
: message;
|
||||
case 'Restoring wallet from seed...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Przywracanie portfela z seedu...'
|
||||
: message;
|
||||
case 'Checking wallet files...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Sprawdzanie plików portfela...'
|
||||
: message;
|
||||
case 'Opening wallet...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Otwieranie portfela...'
|
||||
: message;
|
||||
case 'Loading wallet data...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Wczytywanie danych portfela...'
|
||||
: message;
|
||||
case 'Connecting to node...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Łączenie z nodem...'
|
||||
: message;
|
||||
case 'Creating subaddress...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Tworzenie subadresu...'
|
||||
: message;
|
||||
case 'Updating subaddress...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Aktualizowanie subadresu...'
|
||||
: message;
|
||||
case 'Preparing transaction...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Przygotowywanie transakcji...'
|
||||
: message;
|
||||
case 'Submitting transaction...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Wysyłanie transakcji...'
|
||||
: message;
|
||||
case 'Preparing stake...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Przygotowywanie stake...'
|
||||
: message;
|
||||
case 'Submitting stake...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Wysyłanie stake...'
|
||||
: message;
|
||||
case 'Refreshing balances...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Odświeżanie sald...'
|
||||
: message;
|
||||
case 'Loading transactions...':
|
||||
return Localizations.localeOf(
|
||||
_navigatorKey.currentContext ?? _scaffoldMessengerKey.currentContext ?? context,
|
||||
).languageCode ==
|
||||
'pl'
|
||||
? 'Wczytywanie transakcji...'
|
||||
: message;
|
||||
default:
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
super.didChangeDependencies();
|
||||
|
||||
Reference in New Issue
Block a user