Erweiterungen
This commit is contained in:
1 parent
47f31b7a5a
commit
c69a5644a1
5 files changed
+128
-18
No files matched your search
@@ -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) {
|
||||
|
||||
@@ -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(() {});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user