Notifications

This commit is contained in:
2024-02-08 15:19:37 +08:00
parent 7ed4045a8c
commit b5f77c2736
9 changed files with 243 additions and 28 deletions

View File

@ -1,3 +1,4 @@
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
@ -11,13 +12,17 @@ class AgentNavigation extends StatefulWidget {
icon: Icon(Icons.home),
label: 'Dashboard',
),
NavigationDestination(
icon: Icon(Icons.notifications),
label: 'Notifications',
),
NavigationDestination(
icon: Icon(Icons.account_circle),
label: 'Account',
)
];
static const destinations = ["/", "/account"];
static const destinations = ["/", "/notifications", "/account"];
@override
State<AgentNavigation> createState() => _AgentNavigationState();
@ -26,6 +31,32 @@ class AgentNavigation extends StatefulWidget {
class _AgentNavigationState extends State<AgentNavigation> {
int _selected = 0;
Future<void> initMessage(BuildContext context) async {
void navigate() {
widget.router.push("/notifications");
setState(() {
_selected = 1;
});
}
RemoteMessage? initialMessage =
await FirebaseMessaging.instance.getInitialMessage();
if (initialMessage != null) {
navigate();
}
FirebaseMessaging.onMessageOpenedApp.listen((event) {
navigate();
});
}
@override
void initState() {
super.initState();
initMessage(context);
}
@override
Widget build(BuildContext context) {
return NavigationBar(