Skip to content

Commit

Permalink
remove announcement error dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
Eldar2021 committed Jul 10, 2023
1 parent fbc7875 commit a2b24d8
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:mobx/mobx.dart';

import 'package:encointer_wallet/models/announcement/announcement.dart';
import 'package:encointer_wallet/utils/fetch_status.dart';
import 'package:encointer_wallet/service/service.dart';
import 'package:encointer_wallet/config/consts.dart';

part 'announcement_store.g.dart';
Expand Down Expand Up @@ -56,6 +57,7 @@ abstract class _AnnouncementStoreBase with Store {

communityAnnouncementsResponse.fold((l) {
error = l.error.toString();
Log.e('announcement_view', '${l.error}');
fetchStatus = FetchStatus.error;
}, (r) {
announcementsCommunnity = r;
Expand All @@ -75,6 +77,7 @@ abstract class _AnnouncementStoreBase with Store {

globalAnnouncementsResponse.fold((l) {
error = l.error.toString();
Log.e('announcement_view', '${l.error}');
fetchStatus = FetchStatus.error;
}, (r) {
announcementsGlobal = r;
Expand Down
67 changes: 0 additions & 67 deletions app/lib/page/assets/announcement/view/announcement_view.dart
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
import 'package:ew_http/ew_http.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:mobx/mobx.dart';
import 'package:provider/provider.dart';
import 'package:flutter/cupertino.dart';

import 'package:encointer_wallet/models/announcement/announcement.dart';
import 'package:encointer_wallet/utils/repository_provider.dart';
import 'package:encointer_wallet/modules/modules.dart';
import 'package:encointer_wallet/page/assets/announcement/logic/announcement_card_store.dart';
import 'package:encointer_wallet/service/log/log_service.dart';
import 'package:encointer_wallet/utils/alerts/app_alert.dart';
import 'package:encointer_wallet/utils/extensions/string/string_extensions.dart';
import 'package:encointer_wallet/utils/fetch_status.dart';
import 'package:encointer_wallet/page/assets/announcement/logic/announcement_store.dart';
import 'package:encointer_wallet/page/assets/announcement/widgets/announcement_card.dart';
import 'package:encointer_wallet/l10n/l10.dart';

const _logTarget = 'announcement_view';

class AnnouncementView extends StatefulWidget {
const AnnouncementView({
Expand All @@ -37,7 +30,6 @@ class AnnouncementView extends StatefulWidget {

class _AnnouncementViewState extends State<AnnouncementView> {
late final AnnouncementStore _announcementStore;
List<ReactionDisposer> _disposers = <ReactionDisposer>[];

@override
void initState() {
Expand All @@ -47,24 +39,9 @@ class _AnnouncementViewState extends State<AnnouncementView> {
await _getAnnouncements();
});

_listenToErrors();

super.initState();
}

@override
void dispose() {
/// Important! Do not forget to dispose all disposable variables
/// which may lead to a memory leak issues
if (_disposers.isNotEmpty) {
for (final d in _disposers) {
d();
}
}

super.dispose();
}

@override
Widget build(BuildContext context) {
return Observer(builder: (_) {
Expand All @@ -76,32 +53,6 @@ class _AnnouncementViewState extends State<AnnouncementView> {
});
}

void _listenToErrors() {
_disposers = <ReactionDisposer>[
/// in case of an unknown error, it triggers dialog to popup
reaction((_) => _announcementStore.error.isNotNullOrEmpty, (result) {
if (result) {
AppAlert.showErrorDialog(
context,
errorText: _getErrorMessages(failureType: FailureType.unknown, error: _announcementStore.error),
buttontext: context.l10n.ok,
);
}
}),

/// in case of a known error, it triggers dialog to popup
reaction((_) => _announcementStore.failureType != null, (result) {
if (result) {
AppAlert.showErrorDialog(
context,
errorText: _getErrorMessages(failureType: _announcementStore.failureType!, error: _announcementStore.error),
buttontext: context.l10n.ok,
);
}
})
];
}

Future<void> _getAnnouncements() async {
final devMode = context.read<AppSettings>().developerMode;
await Future.wait([
Expand All @@ -110,24 +61,6 @@ class _AnnouncementViewState extends State<AnnouncementView> {
devMode: devMode, langCode: Localizations.localeOf(context).languageCode),
]);
}

String _getErrorMessages({
required FailureType failureType,

/// [error] is required because we check for it first
/// if it's not null we return needed localized text
required String? error,
}) {
Log.d('_getErrorMessages: failureType = $failureType, error = $error', _logTarget);
if (error.isNotNullOrEmpty) {
return '${context.l10n.announcements} ${context.l10n.errorMessageWithStatusCode(error!)}';
}
return switch (failureType) {
FailureType.badRequest => '${context.l10n.announcements} ${context.l10n.badRequest}',
FailureType.noAuthorization => '${context.l10n.announcements} ${context.l10n.noAuthorizationError}',
_ => '${context.l10n.announcements} ${context.l10n.somethingWentWrong}',
};
}
}

class AnnouncementList extends StatelessWidget {
Expand Down

0 comments on commit a2b24d8

Please sign in to comment.