Erweiterungen
This commit is contained in:
1 parent
20a1309946
commit
25a2455ce1
18 files changed
+2272
-1261
No files matched your search
@@ -10,6 +10,7 @@ import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||
import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||
import 'package:stadtbote/model/job.dart';
|
||||
import 'package:stadtbote/model/message.dart';
|
||||
import 'package:stadtbote/model/session_status.dart';
|
||||
import 'package:stadtbote/model/status.dart';
|
||||
import 'package:stadtbote/popups/accept_jobs_popup.dart';
|
||||
import 'package:stadtbote/popups/infos_popup.dart';
|
||||
@@ -19,6 +20,7 @@ import 'package:stadtbote/tools/messages/job_received_message.dart';
|
||||
import 'package:stadtbote/tools/messages/message_message.dart';
|
||||
import 'package:stadtbote/tools/messages/session_info_update.dart';
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'package:stadtbote/tools/messages/status_info_update.dart';
|
||||
|
||||
import '../main.dart';
|
||||
import '../tools/constants.dart';
|
||||
@@ -28,13 +30,7 @@ class MainPage extends ContentViewWidget {
|
||||
final ValueNotifier<String> _zipValueNotifier = ValueNotifier("----");
|
||||
final ValueNotifier<String> sidValueNotifier = ValueNotifier("----");
|
||||
|
||||
MainPage({super.key}) {
|
||||
Status? status = MyApp.isarInstance.status.where().findFirstSync();
|
||||
if (status != null) {
|
||||
_zipValueNotifier.value = status.locZip;
|
||||
sidValueNotifier.value = status.sid;
|
||||
}
|
||||
}
|
||||
MainPage({super.key});
|
||||
|
||||
@override
|
||||
State<MainPage> createState() => _MainPageState();
|
||||
@@ -77,7 +73,7 @@ class MainPage extends ContentViewWidget {
|
||||
rightButtonVisible: true,
|
||||
rightButtonImage: Util.fetchFutureIcon(const Icon(Icons.info_outline, size: 20.0, color: Colors.white)),
|
||||
rightButtonOnPressed: () async {
|
||||
showInfosPopup(context, await MyApp.isarInstance.status.where().findFirst());
|
||||
showInfosPopup(context, await MyApp.isarInstance.sessionStatus.where().findFirst());
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -91,6 +87,8 @@ class _MainPageState extends State<MainPage> {
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_updateHeader();
|
||||
|
||||
_refreshBadges();
|
||||
|
||||
_initMessages();
|
||||
@@ -240,8 +238,12 @@ class _MainPageState extends State<MainPage> {
|
||||
}
|
||||
|
||||
_initMessages() {
|
||||
MessageService().subscribe<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, this, (sessionStatusInfoUpdateMessage) {
|
||||
widget.sidValueNotifier.value = sessionStatusInfoUpdateMessage.status.sid;
|
||||
});
|
||||
|
||||
MessageService().subscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, this, (statusInfoUpdateMessage) {
|
||||
widget.sidValueNotifier.value = statusInfoUpdateMessage.status.sid;
|
||||
_updateHeader();
|
||||
});
|
||||
|
||||
MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) {
|
||||
@@ -258,9 +260,9 @@ class _MainPageState extends State<MainPage> {
|
||||
}
|
||||
|
||||
void _exitMessages() {
|
||||
MessageService().unsubscribe<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, this);
|
||||
MessageService().unsubscribe<SessionStatusInfoUpdate>(Constants.messageTopicSessionStatusInfoUpdate, this);
|
||||
|
||||
MessageService().unsubscribe<StatusInfoUpdate>(Constants.messageTopicJobReceived, this);
|
||||
MessageService().unsubscribe<SessionStatusInfoUpdate>(Constants.messageTopicJobReceived, this);
|
||||
}
|
||||
|
||||
void _refreshBadges() async {
|
||||
@@ -272,4 +274,17 @@ class _MainPageState extends State<MainPage> {
|
||||
void _jobReceived(Job job) {
|
||||
_refreshBadges();
|
||||
}
|
||||
|
||||
void _updateHeader() async {
|
||||
var status = await MyApp.isarInstance.status.where().findFirst();
|
||||
var sessionStatus = await MyApp.isarInstance.sessionStatus.where().findFirst();
|
||||
|
||||
if (status != null) {
|
||||
widget._zipValueNotifier.value = '${status.pos.zip} (${status.pos.zipReal})';
|
||||
} else if (sessionStatus != null) {
|
||||
widget._zipValueNotifier.value = sessionStatus.sid;
|
||||
} else {
|
||||
widget._zipValueNotifier.value = "---";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user