Add various informative alert-boxes

This commit is contained in:
2025-11-09 21:31:03 +01:00
parent c108859899
commit fd5e714074
23 changed files with 426 additions and 130 deletions

View File

@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:provider/provider.dart';
import 'package:simplecloudnotifier/api/api_client.dart';
import 'package:simplecloudnotifier/api/api_exception.dart';
import 'package:simplecloudnotifier/components/error_display/error_display.dart';
import 'package:simplecloudnotifier/models/user.dart';
import 'package:simplecloudnotifier/pages/account/login.dart';
@@ -166,6 +167,9 @@ class _AccountRootPageState extends State<AccountRootPage> {
_futureSenderNamesCount = ImmediateFuture.ofValue(senderNames.length);
_futureUser = ImmediateFuture.ofValue(user);
});
} on APIException catch (exc, trace) {
ApplicationLog.error('Failed to refresh account data: ' + exc.toString(), trace: trace);
if (!exc.toastShown) Toaster.error("Error", 'Failed to refresh account data');
} catch (exc, trace) {
ApplicationLog.error('Failed to refresh account data: ' + exc.toString(), trace: trace);
Toaster.error("Error", 'Failed to refresh account data');
@@ -417,7 +421,13 @@ class _AccountRootPageState extends State<AccountRootPage> {
],
),
onTap: () {
Navi.push(context, () => FilteredMessageViewPage(title: "All Messages", filter: MessageFilter(senderUserID: [user.userID])));
Navi.push(
context,
() => FilteredMessageViewPage(
title: "All Messages",
alertText: "All messages sent from your account",
filter: MessageFilter(senderUserID: [user.userID]),
));
},
),
];
@@ -528,9 +538,12 @@ class _AccountRootPageState extends State<AccountRootPage> {
context: context,
builder: (context) => ShowTokenModal(account: acc, isAfterRegister: true),
);
} catch (exc, trace) {
} on APIException catch (exc, trace) {
if (!exc.toastShown) Toaster.error("Error", 'Failed to create user account');
ApplicationLog.error('Failed to create user account: ' + exc.toString(), trace: trace);
} catch (exc, trace) {
Toaster.error("Error", 'Failed to create user account');
ApplicationLog.error('Failed to create user account: ' + exc.toString(), trace: trace);
} finally {
setState(() => loading = false);
}
@@ -574,6 +587,9 @@ class _AccountRootPageState extends State<AccountRootPage> {
//TODO clear messages/channels/etc in open views
acc.clear();
await acc.save();
} on APIException catch (exc, trace) {
if (!exc.toastShown) Toaster.error("Error", 'Failed to delete user');
ApplicationLog.error('Failed to delete user: ' + exc.toString(), trace: trace);
} catch (exc, trace) {
Toaster.error("Error", 'Failed to delete user');
ApplicationLog.error('Failed to delete user: ' + exc.toString(), trace: trace);
@@ -601,6 +617,9 @@ class _AccountRootPageState extends State<AccountRootPage> {
Toaster.success("Success", 'Username changed');
_backgroundRefresh();
} on APIException catch (exc, trace) {
if (!exc.toastShown) Toaster.error("Error", 'Failed to update username');
ApplicationLog.error('Failed to update username: ' + exc.toString(), trace: trace);
} catch (exc, trace) {
Toaster.error("Error", 'Failed to update username');
ApplicationLog.error('Failed to update username: ' + exc.toString(), trace: trace);