Erweiterungen

This commit is contained in:
Sven committed 2024-02-08 14:30:30 +01:00
1 parent 47f31b7a5a
commit c69a5644a1
5 files changed
+128 -18

No files matched your search

+8
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:isar/isar.dart';
import 'package:mqtt_client/mqtt_client.dart';
import 'package:stadtbote/content_views/accepted_jobs_page.dart';
import 'package:stadtbote/content_views/approach_area_page.dart';
import 'package:stadtbote/content_views/assigned_jobs_page.dart';
@@ -8,11 +9,13 @@ import 'package:stadtbote/content_views/messages_page.dart';
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/status.dart';
import 'package:stadtbote/popups/accept_jobs_popup.dart';
import 'package:stadtbote/popups/infos_popup.dart';
import 'package:stadtbote/tools/message_service.dart';
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;
@@ -243,6 +246,10 @@ class _MainPageState extends State<MainPage> {
MessageService().subscribe<JobReceivedMessage>(Constants.messageTopicJobReceived, this, (JobReceivedMessage jobReceivedMessage) {
_jobReceived(jobReceivedMessage.job);
});
MessageService().subscribe<MessageReceivedMessage>(Constants.messageTopicMessageReceived, this, (MessageReceivedMessage mesage) {
_refreshBadges();
});
}
void _exitMessages() {
@@ -254,6 +261,7 @@ class _MainPageState extends State<MainPage> {
void _refreshBadges() async {
_assignedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(0).count();
_acceptedJobsValueNotifier.value = await MyApp.isarInstance.jobs.filter().stateEqualTo(1).count();
_messagesValueNotifier.value = await MyApp.isarInstance.messages.filter().readEqualTo(false).count();
}
void _jobReceived(Job job) {
+12 -5
View File
@@ -90,11 +90,15 @@ class _MessagesPageState extends State<MessagesPage> {
}
void _handleSendPressed(types.PartialText text) async {
var now = DateTime.now();
var message = sbmessage.Message();
message.text = [text.text];
message.from = _sid;
message.subj = '';
message.time = DateFormat("yyyy.mm.dd HH:mm").format(DateTime.now());
message.time = now.toIso8601String();
message.read = true;
message.id = await sbmessage.Message.getNextId();
MyApp.isarInstance.writeTxnSync(() {
@@ -105,7 +109,7 @@ class _MessagesPageState extends State<MessagesPage> {
_messages.insert(0, types.TextMessage(
author: _user,
createdAt: DateTime.now().millisecondsSinceEpoch,
createdAt: now.millisecondsSinceEpoch,
id: const Uuid().v4().toString(),
text: text.text,
));
@@ -125,14 +129,17 @@ class _MessagesPageState extends State<MessagesPage> {
_messages.insert(0, types.TextMessage(
author: message.from == _sid ? _user : _central,
createdAt: DateTime.now().millisecondsSinceEpoch,
createdAt: DateTime.parse(message.time).millisecondsSinceEpoch,
id: const Uuid().v4().toString(),
text: text,
));
setState(() {});
message.read = true;
MyApp.isarInstance.writeTxnSync(() {
MyApp.isarInstance.messages.putSync(message);
});
}
Util.logInfo('');
setState(() {});
}
}