diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html index 05200b433..0c26044cf 100644 --- a/src/app/pages/chat/chat.page.html +++ b/src/app/pages/chat/chat.page.html @@ -69,10 +69,10 @@
{{room.lastMessage.msg}} - A escrever ... - + A escrever... +
diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index 35e529c30..e9142db52 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -628,8 +628,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { this.wsChatMethodsService.getDmRoom(roomId).send({ file: { "type": "application/img", - "guid": '', - "image_url": 'data:image/jpeg;base64,' +file.base64String + "guid": '' }, temporaryData: formData, attachments: [{ diff --git a/src/app/pages/inactivity/inactivity.page.ts b/src/app/pages/inactivity/inactivity.page.ts index 4a60452d7..00dd852b0 100644 --- a/src/app/pages/inactivity/inactivity.page.ts +++ b/src/app/pages/inactivity/inactivity.page.ts @@ -201,10 +201,8 @@ export class InactivityPage implements OnInit { storePin() { - const code = this.code.join('') - - SessionStore.setPin(code) - + const code = this.code.join(''); + SessionStore.setPin(code); this.router.navigate(['/home/events']); } diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index d9e4db818..9a4e9ab49 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -127,7 +127,7 @@ export class AuthService { this.loginToChatWs() - console.log('Login to Rocket chat OK'); + console.log('Login to Rocket chat OK', responseChat); this.ValidatedUserChat = responseChat; localStorage.setItem('userChat', JSON.stringify(responseChat)); this.storageService.store(AuthConnstants.AUTH, responseChat); diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index 2fc0eb8ad..10b322cdf 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -91,33 +91,39 @@ export class RoomService { this.id, "stream-room-messages", (ChatMessage) => { - ChatMessage = ChatMessage.fields.args[0] - ChatMessage = this.fix_updatedAt(ChatMessage) - // console.log('recivemessage', ChatMessage) + setTimeout(()=>{ + ChatMessage = ChatMessage.fields.args[0] - const messageIsFound = this.messages.find((message) => { - message._id == ChatMessage._id - }) - - if(!messageIsFound) { - const message = this.prepareMessage(ChatMessage) - - this.lastMessage = message - if (message.t == 'r') { this.name = message.msg } - this.calDateDuration(ChatMessage._updatedAt) + ChatMessage = this.fix_updatedAt(ChatMessage) + // console.log('recivemessage', ChatMessage) - setTimeout(() => { - this.scrollDown() - }, 100) + const messageIsFound = this.messages.find((message) => { + return message._id == ChatMessage._id + }) - this.NativeNotificationService.sendNotificationChat({ - message: message.msg, - title: this.name - }); - - this.addMessageDB(ChatMessage) - } + if(!messageIsFound) { + console.log('messageIsFound', messageIsFound) + const message = this.prepareMessage(ChatMessage) + + this.lastMessage = message + if (message.t == 'r') { this.name = message.msg } + this.calDateDuration(ChatMessage._updatedAt) + + setTimeout(() => { + this.scrollDown() + }, 100) + + this.NativeNotificationService.sendNotificationChat({ + message: message.msg, + title: this.name + }); + + this.addMessageDB(ChatMessage) + } else { + console.log('have') + } + }, 150) } ) diff --git a/src/app/services/chat/ws-chat.service.ts b/src/app/services/chat/ws-chat.service.ts index d3cfa0b47..dd84856c6 100644 --- a/src/app/services/chat/ws-chat.service.ts +++ b/src/app/services/chat/ws-chat.service.ts @@ -666,7 +666,7 @@ updateRoomEventss(roomId, collection:string, funx: Function, ) { if (this.ws.connected == false || loginRequired == true && this.isLogin == false) { // save data to send when back online // console.log('save msgQueue this.ws.connected == false || loginRequired == true && this.isLogin == false',this.ws.connected, loginRequired, this.isLogin) - console.log('save msgQueue', requestId, message) + //console.log('save msgQueue', requestId, message) this.wsMsgQueue[requestId] = {message, requestId, loginRequired} } else { @@ -679,8 +679,6 @@ updateRoomEventss(roomId, collection:string, funx: Function, ) { onmessage: async (event: any)=> { const data = JSON.parse(event.data) - console.log('data', data) - for (const [key, value] of Object.entries(this.wsCallbacks)) { if(value.type== 'Onmessage') { const dontRepeat = await value.funx(data) diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 72d828098..cdb4c7b2f 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -48,11 +48,11 @@
- {{msg.u.name}} {{msg.offline}} {{ msg.sendAttempt }} {{ msg.uploadingFile }} errorUploadingAttachment:{{ msg.errorUploadingAttachment}} + {{msg.u.name}} {{showDateDuration(msg._updatedAt)}}
- {{msg.msg}} {{msg.offline}} + {{msg.msg}} {{last ? scrollToBottom() : ''}}
@@ -67,7 +67,7 @@
- {{msg.u.name}} {{msg.offline}} {{ msg.sendAttempt }} {{ msg.uploadingFile }} errorUploadingAttachment:{{ msg.errorUploadingAttachment}} + {{msg.u.name}} {{showDateDuration(msg.duration)}}
diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 1edc23fc2..29aca9233 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -32,6 +32,7 @@ import { FileType } from 'src/app/models/fileType'; import { SearchPage } from 'src/app/pages/search/search.page'; import { ProcessesService } from 'src/app/services/processes.service'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; +import { Camera, CameraResultType, CameraSource } from '@capacitor/camera'; const IMAGE_DIR = 'stored-images'; @Component({ @@ -441,6 +442,40 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } + async takePictureMobile() { + const roomId = this.roomId + + const file = await Camera.getPhoto({ + quality: 90, + // allowEditing: true, + resultType: CameraResultType.Base64, + source: CameraSource.Camera + }); + console.log('ADDFILECHAT', file) + //const imageData = await this.fileToBase64Service.convert(file) + //console.log('ADDFILECHAT', imageData) + + const response = await fetch('data:image/jpeg;base64,'+ file.base64String!); + const blob = await response.blob(); + + const formData = new FormData(); + formData.append("blobFile", blob); + + this.wsChatMethodsService.getDmRoom(roomId).send({ + file: { + "type": "application/img", + "guid": '', + }, + temporaryData: formData, + attachments: [{ + "title": file.path , + "image_url": 'data:image/jpeg;base64,' +file.base64String, + "text": "description", + "title_link_download": false, + }] + }) + + } async takePicture() { const roomId = this.roomId @@ -450,6 +485,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy const lastphoto: any = await this.fileService.loadFiles(); const { capturedImage, capturedImageTitle} = await this.fileService.loadFileData(lastphoto); const base64 = await fetch(capturedImage); + console.log('imsge take picture', image) const blob = await base64.blob(); const formData = new FormData(); formData.append("blobFile", blob); @@ -473,7 +509,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } async addImage() { - this.addFileToChat(['image/apng', 'image/jpeg', 'image/png']) + this.addFileToChatMobile(['image/apng', 'image/jpeg', 'image/png']) } async addFile() { @@ -522,14 +558,51 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy }); } + async addFileToChatMobile(types: typeof FileType[] ) { + const roomId = this.roomId + + const file = await Camera.getPhoto({ + quality: 90, + // allowEditing: true, + resultType: CameraResultType.Base64, + source: CameraSource.Photos + }); + console.log('ADDFILECHAT', file) + //const imageData = await this.fileToBase64Service.convert(file) + //console.log('ADDFILECHAT', imageData) + + const response = await fetch('data:image/jpeg;base64,'+ file.base64String!); + const blob = await response.blob(); + + const formData = new FormData(); + formData.append("blobFile", blob); + + this.wsChatMethodsService.getDmRoom(roomId).send({ + file: { + "type": "application/img", + "guid": '' + }, + temporaryData: formData, + attachments: [{ + "title": file.path , + "image_url": 'data:image/jpeg;base64,' +file.base64String, + "text": "description", + "title_link_download": false, + }] + }) + + } + async addFileToChat(types: typeof FileType[] ) { + const roomId = this.roomId const file: any = await this.fileService.getFileFromDevice(types); + console.log('Add image', file) const imageData = await this.fileToBase64Service.convert(file) - + const formData = new FormData(); formData.append("blobFile", file); @@ -617,7 +690,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy } else if (res['data'] == 'take-picture') { - this.takePicture() + this.takePictureMobile() } else if (res['data'] == 'add-picture') {