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

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.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/components/layout/scaffold.dart';
import 'package:simplecloudnotifier/models/channel.dart';
@@ -230,7 +231,7 @@ class _KeyTokenViewPageState extends State<KeyTokenViewPage> {
title: 'Messages',
values: [keytoken.messagesSent.toString()],
mainAction: () {
Navi.push(context, () => FilteredMessageViewPage(title: keytoken.name, filter: MessageFilter(usedKeys: [keytoken.keytokenID])));
Navi.push(context, () => FilteredMessageViewPage(title: keytoken.name, alertText: 'All message sent with the key \'${keytoken.name}\'', filter: MessageFilter(usedKeys: [keytoken.keytokenID])));
},
),
..._buildPermissionCard(context, true, keytoken.toPreview()),
@@ -543,6 +544,9 @@ class _KeyTokenViewPageState extends State<KeyTokenViewPage> {
Toaster.info('Logout', 'Successfully deleted the key');
Navi.pop(context);
} on APIException catch (exc, trace) {
ApplicationLog.error('Failed to delete key: ' + exc.toString(), trace: trace);
if (!exc.toastShown) Toaster.error("Error", 'Failed to delete key');
} catch (exc, trace) {
Toaster.error("Error", 'Failed to delete key');
ApplicationLog.error('Failed to delete key: ' + exc.toString(), trace: trace);
@@ -563,6 +567,9 @@ class _KeyTokenViewPageState extends State<KeyTokenViewPage> {
Toaster.info("Success", "Key updated");
widget.needsReload?.call();
} on APIException catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
if (!exc.toastShown) Toaster.error("Error", 'Failed to update key');
} catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
Toaster.error("Error", 'Failed to update key');
@@ -583,6 +590,9 @@ class _KeyTokenViewPageState extends State<KeyTokenViewPage> {
Toaster.info("Success", "Key updated");
widget.needsReload?.call();
} on APIException catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
if (!exc.toastShown) Toaster.error("Error", 'Failed to update key');
} catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
Toaster.error("Error", 'Failed to update key');
@@ -603,6 +613,9 @@ class _KeyTokenViewPageState extends State<KeyTokenViewPage> {
Toaster.info("Success", "Key updated");
widget.needsReload?.call();
} on APIException catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
if (!exc.toastShown) Toaster.error("Error", 'Failed to update key');
} catch (exc, trace) {
ApplicationLog.error('Failed to update key: ' + exc.toString(), trace: trace);
Toaster.error("Error", 'Failed to update key');