do a few more remaining todos
Some checks failed
Build Docker and Deploy / Build Docker Container (push) Successful in 52s
Build Docker and Deploy / Run Unit-Tests (push) Failing after 11m24s
Build Docker and Deploy / Deploy to Server (push) Has been skipped

This commit is contained in:
2025-04-18 19:14:36 +02:00
parent 78c895547e
commit 5417796f3f
9 changed files with 123 additions and 58 deletions

View File

@@ -1,4 +1,9 @@
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:simplecloudnotifier/api/api_client.dart';
import 'package:simplecloudnotifier/state/app_auth.dart';
import 'package:simplecloudnotifier/state/application_log.dart';
import 'package:simplecloudnotifier/utils/notifier.dart';
import 'package:simplecloudnotifier/utils/toaster.dart';
import 'package:simplecloudnotifier/utils/ui.dart';
@@ -48,6 +53,12 @@ class _DebugActionsPageState extends State<DebugActionsPage> {
text: 'Show Simple Notification',
),
SizedBox(height: 20),
UI.button(
big: false,
onPressed: _copyToken,
text: 'Query+Copy FCM Token',
),
SizedBox(height: 4),
UI.button(
big: false,
onPressed: _sendTokenToServer,
@@ -66,7 +77,46 @@ class _DebugActionsPageState extends State<DebugActionsPage> {
);
}
void _sendTokenToServer() {
//TODO
void _sendTokenToServer() async {
try {
final auth = AppAuth();
final clientID = auth.getClientID();
if (clientID == null) {
Toaster.error("Error", "No Client set");
return;
}
final fcmToken = await FirebaseMessaging.instance.getToken();
if (fcmToken == null) {
Toaster.error("Error", "No FCM token returned from Firebase");
return;
}
var newClient = await APIClient.updateClient(auth, clientID, fcmToken: fcmToken);
auth.setClientAndClientID(newClient);
Toaster.success("Success", "Token sent to server");
} catch (exc, trace) {
Toaster.error("Error", "An error occurred while sending the token: ${exc.toString()}");
ApplicationLog.error("An error occurred while sending the token: ${exc.toString()}", trace: trace);
}
}
void _copyToken() async {
try {
final fcmToken = await FirebaseMessaging.instance.getToken();
if (fcmToken == null) {
Toaster.error("Error", "No FCM token returned from Firebase");
return;
}
Clipboard.setData(new ClipboardData(text: fcmToken));
Toaster.info("Clipboard", 'Copied text to Clipboard');
print('================= [CLIPBOARD] =================\n${fcmToken}\n================= [/CLIPBOARD] =================');
} catch (exc, trace) {
Toaster.error("Error", "An error occurred while sending the token: ${exc.toString()}");
ApplicationLog.error("An error occurred while sending the token: ${exc.toString()}", trace: trace);
}
}
}