diff --git a/src/app/services/chat/chat-system.service.ts b/src/app/services/chat/chat-system.service.ts index f7b2089d0..594c5e7c4 100644 --- a/src/app/services/chat/chat-system.service.ts +++ b/src/app/services/chat/chat-system.service.ts @@ -6,7 +6,7 @@ import { SessionStore } from 'src/app/store/session.service'; import { capitalizeTxt } from 'src/plugin/text'; import { Update as room } from 'src/app/models/chatMethod'; import { Storage } from '@ionic/storage'; -import { Platform } from '@ionic/angular'; +import { ModalController, NavController, Platform } from '@ionic/angular'; import { SqliteService } from 'src/app/services/sqlite.service'; import { ChatService } from 'src/app/services/chat.service'; import { NativeNotificationService } from 'src/app/services/native-notification.service'; @@ -68,6 +68,8 @@ export class ChatSystemService { private NetworkServiceService: NetworkServiceService, private ViewedMessageService: ViewedMessageService, private notificationService: NotificationsService, + private modalController: ModalController, + private navController: NavController ) { @@ -482,7 +484,7 @@ export class ChatSystemService { if (setData.name != 'Rocket Cat' && setData.name != 'general' && chat == false) { // create room if (!this.roomExist(roomId)) { - let room: RoomService = new RoomService(this.RochetChatConnectorService, new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this, this.notificationService), this.storage, this.platform, this.sqlservice, this.NativeNotificationService, this.sortService, this.ChatService, this.NfService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this, this.ViewedMessageService, this.notificationService) + let room: RoomService = new RoomService(this.RochetChatConnectorService, new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this, this.notificationService), this.storage, this.platform, this.sqlservice, this.NativeNotificationService, this.sortService, this.ChatService, this.NfService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this, this.ViewedMessageService, this.notificationService,this.modalController,this.navController) room.setData(setData) room.receiveMessage() room.getAllUsers = this.getUsers diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 5c002e9a3..711e05fc5 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -4,7 +4,7 @@ import { MessageService, MessageServiceDateLabel } from 'src/app/services/chat/m import { showDateDuration } from 'src/plugin/showDateDuration'; import { chatHistory } from 'src/app/models/chatMethod'; import { Storage } from '@ionic/storage'; -import { Platform } from '@ionic/angular'; +import { ModalController, NavController, Platform } from '@ionic/angular'; import { SqliteService } from 'src/app/services/sqlite.service'; import { NativeNotificationService } from 'src/app/services/native-notification.service'; import { SessionStore } from 'src/app/store/session.service'; @@ -101,7 +101,9 @@ export class RoomService { private NetworkServiceService: NetworkServiceService, private ChatSystemService: ChatSystemService, private ViewedMessageService: ViewedMessageService, - private notificationService: NotificationsService + private notificationService: NotificationsService, + private modalController: ModalController, + private navController: NavController ) { /* this.NativeNotificationService.askForPermission() */ @@ -219,8 +221,8 @@ export class RoomService { if (difference < 0) { this.deleteRoom(); - if(this.chatOpen) { - + if(this.chatOpen && window.location.pathname.includes('chat')) { + this.closeModal() } } else { @@ -1290,4 +1292,8 @@ export class RoomService { this.members = members this.membersExcludeMe = users } + + async closeModal() { + await this.modalController.dismiss(); + } }