diff --git a/.husky/pre-commit b/.husky/pre-commit index fe58ea54a..1577fd5b5 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" +# . "$(dirname -- "$0")/_/husky.sh" -npm run build:version && git add version/git-version.ts +#npm run build:version && git add version/git-version.ts diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index b9ba75d0a..f7022cafb 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -52,8 +52,8 @@ A conversa original mantêm-se como chat individual
-
-
+
+
{{msg.u.name ?? ""}} {{msg.duration}}
@@ -64,7 +64,7 @@ Enviado - + Lido @@ -102,7 +102,7 @@ Enviado - + Lido @@ -122,7 +122,7 @@ - +
@@ -153,13 +153,13 @@ {{file.description}} - + - + Enviado - + Lido diff --git a/src/app/pages/chat/group-messages/group-messages.page.scss b/src/app/pages/chat/group-messages/group-messages.page.scss index 0cc4b5124..f3198487e 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.scss +++ b/src/app/pages/chat/group-messages/group-messages.page.scss @@ -425,4 +425,13 @@ ion-footer { .font-40-rem { font-size: 2.5rem !important; -} \ No newline at end of file +} + + +.dateLabel { + background: #ebebeb !important; + float: unset !important; + margin: 0px auto !important; + width: 110px; + text-align: center; +} diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html index 832e9111e..49bcd4cd4 100644 --- a/src/app/pages/chat/messages/messages.page.html +++ b/src/app/pages/chat/messages/messages.page.html @@ -50,8 +50,8 @@ *ngFor="let msg of ChatSystemService.getDmRoom(this.roomId).messages; let last = last" [class.messages-list-item-wrapper-active]="msg._id == selectedMsgId">
-
+ *ngIf="msg.msg !=''" [class.dateLabel]="msg.dateLabel"> +
{{msg.u.name}} {{msg.duration}}
@@ -64,7 +64,7 @@ Enviado - + Lido @@ -96,17 +96,17 @@
image - + Enviado - + Lido
Tentar
- +
@@ -159,20 +159,20 @@ {{file.description}} - + - + Enviado - + Lido
Tentar
- +
diff --git a/src/app/pages/chat/messages/messages.page.scss b/src/app/pages/chat/messages/messages.page.scss index eda37e81b..e675cbe6d 100644 --- a/src/app/pages/chat/messages/messages.page.scss +++ b/src/app/pages/chat/messages/messages.page.scss @@ -406,4 +406,13 @@ button::-moz-focus-inner { .font-40-rem { font-size: 2.5rem !important; -} \ No newline at end of file +} + + +.dateLabel { + background: #ebebeb !important; + float: unset !important; + margin: 0px auto !important; + width: 110px; + text-align: center; +} diff --git a/src/app/services/chat/message.service.ts b/src/app/services/chat/message.service.ts index c9343aaff..91ee981b5 100644 --- a/src/app/services/chat/message.service.ts +++ b/src/app/services/chat/message.service.ts @@ -47,7 +47,7 @@ export class MessageService { uploadingFile = false errorUploadingAttachment = false loadHistory = false - from: 'Offline'|'History'|'stream'| 'send' + from: 'Offline'|'History'|'stream'| 'send' duration = '' localReference = null viewed: string[] = [] @@ -67,6 +67,8 @@ export class MessageService { messageModelInstance: MessageModel attachmentsModelData: any + dateLabel = false + constructor( private NfService: NfService, @@ -177,7 +179,7 @@ export class MessageService { return firstName + ' ' + lastName } catch (error) { return username - } + } } @@ -193,9 +195,9 @@ export class MessageService { if(!this.hasFile) { - const params = { - roomId:this.rid, - msg:this.msg, + const params = { + roomId:this.rid, + msg:this.msg, localReference: this.localReference } @@ -226,7 +228,7 @@ export class MessageService { this.RochetChatConnectorService.registerCallback({ type: 'reConnect', funx: async ()=> { - + await this.send().catch((error) => { console.error(error) }) @@ -257,10 +259,10 @@ export class MessageService { try { await this.getFileFromDB() } catch (error) {} - } + } if(!this.instanceHasTemporaryData) { - + await this.generateTemporaryData() } @@ -277,14 +279,14 @@ export class MessageService { this.saveChanges() } catch (error) { this.uploadingFile = false - + this.errorUploadingAttachment = true this.UploadAttachmentsTemp++ this.saveChanges() } - + } return uploadSuccessfully @@ -305,7 +307,7 @@ export class MessageService { (ChatMessage: any) => { ChatMessage = ChatMessage.message.result clearTimeout(this.functionTimer); - + this.redefinedMessage(ChatMessage) } ).catch((error) => { @@ -320,16 +322,16 @@ export class MessageService { (ChatMessage: any) => { ChatMessage = ChatMessage.message.result clearTimeout(this.functionTimer); - + this.redefinedMessage(ChatMessage) - + } ).catch((error) => { clearTimeout(this.functionTimer); console.error(error) }) } - + this.functionTimer = setTimeout(() => { this.RochetChatConnectorService.registerCallback({ type:'Onmessage', @@ -395,7 +397,7 @@ export class MessageService { this.notificationService.ChatSendMessageNotificationGrup(usersNames,ChatMessage.u.name,ChatMessage.msg,this.rid) } - + await this.saveChanges() } @@ -415,7 +417,7 @@ export class MessageService { } else if (this.file.type != "application/img") { downloadFile = new Uint8Array(event.body).reduce((data, byte) => data + String.fromCharCode(byte), ''); - + } this.attachments[0] = { @@ -462,7 +464,7 @@ export class MessageService { return true } } - + return false } @@ -525,21 +527,21 @@ export class MessageService { } earlySave = false - + async addMessageDB() { if(!this.addToDb && this.save) { this.addToDb = true const message = this.getChatObj() if(this.instanceHasAttachment) { - this.hasFile = true + this.hasFile = true } delete message.id const createdMessage = await MessageModel.create(message) if(this.instanceHasAttachment) { - this.addFileToDb() + this.addFileToDb() } this.messageModelInstance = createdMessage @@ -556,7 +558,7 @@ export class MessageService { if(!this.messageModelInstance) { this.messageModelInstance = await this.getRowInstance() } - + const createdMessage: any = this.messageModelInstance try { @@ -566,7 +568,7 @@ export class MessageService { if(this.attachmentsModelData) { file = {image_url: this.attachmentsModelData?.fileBase64} } - + await attachments.create({messageId: createdMessage.id, attachments: this.attachments, file: Object.assign(this.file, file) }) } catch (error) { console.log(error) @@ -578,8 +580,8 @@ export class MessageService { if(!this.messageModelInstance) { this.messageModelInstance = await this.getRowInstance() } - - + + const data = await this.messageModelInstance.getAttachments() console.log('data', data); @@ -590,7 +592,7 @@ export class MessageService { async generateTemporaryData () { const blob: any = await this.base64StringToBlob(this.file.image_url) - + const formData = new FormData(); formData.append("blobFile", blob); this.temporaryData = formData @@ -651,7 +653,7 @@ export class MessageService { if(!message.id) { delete message.id } - + if (this.localReference) { a = await MessageModel.get({localReference: this.localReference}) } else if (this._id) { @@ -662,7 +664,7 @@ export class MessageService { return a } - + } async saveChanges() { @@ -683,13 +685,299 @@ export class MessageService { this.messageModelInstance[name] = value } catch (error) {} } - + await this.messageModelInstance.save() - + } else { this.earlySave = true } - + + } + + decryptMessage() { + try { + // this.msg = this.AESEncrypt.decrypt(this.msg, SessionStore.user.UserName) + } catch (error) {} + } + + + + UIdata() { + this.incomingFromCurrentUser = this.u.username!= SessionStore.user.UserName + this.hasMessage = this.msg !='' + } + + incomingFromCurrentUser = false + hasMessage = false +} + + + + + + +export class MessageServiceDateLabel { + + customFields + channels = [] + mentions = [] + msg = '' + rid = '' + ts = {} + + u = { + name: '', + username: '', + _id: "" + } + + t = '' + _id = '' + id = '' // table id + _updatedAt + file + attachments + displayType = '' + temporaryData: any + hasFile = false + hasSendAttachment = false + sendAttempt = 0 + uploadingFile = false + errorUploadingAttachment = false + loadHistory = false + from: 'Offline'|'History'|'stream'| 'send' + duration = '' + localReference = null + viewed: string[] = [] + received: string[]= [] + addToDb = false + + messageSend = false + delate = false + delateRequest = false + downloadLoader: boolean = false + downloadAttachments = false; + downloadAttachmentsTemp = 0; + UploadAttachmentsTemp = 0; + manualRetry = false + origin: 'history' | 'stream' | 'local' + + messageModelInstance: MessageModel + attachmentsModelData: any + ChatSystemService + dateLabel = false + + + constructor() {} + + setData({customFields = {}, channels, mentions, msg ,rid ,ts, u, t, _id, id, _updatedAt, file, attachments, temporaryData, localReference = 'out-'+uuidv4() , viewed = [], received = [], delate = false, delateRequest =false, from, sendAttempt = 0, origin, attachmentsModelData, hasFile = false, UploadAttachmentsTemp = 0 }:Message) { + + this.channels = [] + this.mentions = [] + this.rid = rid + this.ts = ts + this.u = u || { name: this.usernameToDisplayName(SessionStore.user.UserName), username: SessionStore.user.UserName, _id: ""} + this.t = t + this._id = "" + this._updatedAt = _updatedAt || new Date().getTime() + this.file = file + this.temporaryData = temporaryData + this.localReference = localReference || null + this.id = id + this.delate = delate + this.delateRequest = delateRequest + this.sendAttempt = 0 + this.origin = origin + this.attachmentsModelData = attachmentsModelData + this.UploadAttachmentsTemp = UploadAttachmentsTemp + + if(this.attachments?.length >= 1 && attachments?.length >= 1) { + this.attachments[0] = Object.assign(this.attachments[0], attachments[0]) + } else { + this.attachments = attachments + } + + this.viewed = []; + this.received = []; + + this.messageSend = true + this.hasFile = hasFile + + this.hasFile = false + + if(!this.u.name && this.u.username) { + const user = this.ChatSystemService.users.find((u)=> u.username == this.u.username) + if(user) { + this.u.name = user.name + } else if( this.u.username == SessionStore.user.UserName) { + this.u.name = SessionStore.user.FullName + } else { + } + } + + this.calDateDuration() + } + + + get offline () { + if(!this._id) { + return true + } + + if(!this.ts) { + return true + } + + return false + } + + /** + * Message is on the server + */ + get online() { + return !this.offline + } + + /** + * if Message is already saved on database + */ + get save() { + return this.id != '' + } + + + private usernameToDisplayName(username) { + + try { + const firstName = capitalizeTxt(username.split('.')[0]) + const lastName = capitalizeTxt(username.split('.')[1]) + return firstName + ' ' + lastName + } catch (error) { + return username + } + + } + + async send(): Promise { + + + } + + + functionTimer = null; + + async sendRequestAttachment() { + + } + + async sendRequest(params) { + + + } + + async redefinedMessage(ChatMessage , update = true) { + + } + + sendNotificaton + + downloadFileMsg() { + + } + + private calDateDuration(date = null) { + this.duration = showDateDuration(date || this._updatedAt); + } + + + async delateStatusFalse() { + + } + + addViewed(id: string) { + + } + + addReceived(id: string) { + + } + + async delateDB() { + + } + + + isSenderIsNotMe(ChatMessage) { + return SessionStore.user.ChatData.data.userId != ChatMessage.u._id + } + + messageOwner() { + return SessionStore.user.ChatData.data.userId == this.u._id + } + + getChatObj() { + + } + + earlySave = false + + async addMessageDB() { + + } + + async addFileToDb() { + + + } + + async getFileFromDB() { + + } + + async generateTemporaryData () { + + } + + + get instanceHasAttachment() { + return false + } + + get instanceHasAttachmentBase64() { + if (this.file) { + if(this.file.type) { + if(this.file?.image_url) { + return true + } + } + } + + return false + } + + get instanceHasTemporaryData() { + if (!this.temporaryData) { + return false + } + + return true + } + + + base64StringToBlob(base64Data) { + + } + + + + async getRowInstance () { + + + } + + async saveChanges() { + + } decryptMessage() { diff --git a/src/app/services/chat/room.service.ts b/src/app/services/chat/room.service.ts index d740b20f2..be7b202e1 100644 --- a/src/app/services/chat/room.service.ts +++ b/src/app/services/chat/room.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; import { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service'; -import { MessageService } from 'src/app/services/chat/message.service'; +import { MessageService, MessageServiceDateLabel } from 'src/app/services/chat/message.service'; import { showDateDuration } from 'src/plugin/showDateDuration'; import { chatHistory } from 'src/app/models/chatMethod'; import { Storage } from '@ionic/storage'; @@ -187,7 +187,7 @@ export class RoomService { } get online() { - + if(!this.isGroup) { for(let user of this.ChatSystemService.users) { @@ -196,7 +196,7 @@ export class RoomService { return user.status } } - + } } @@ -244,7 +244,7 @@ export class RoomService { }); } else { - this.chatService.deleteChannel(body).subscribe(res=>{ + this.chatService.deleteChannel(body).subscribe(res=>{ this.ChatSystemService.deleteRoom(this.id); this.ChatSystemService.getAllRooms(); this.chatServiceDeleteRoom(this.id); @@ -281,7 +281,7 @@ export class RoomService { if (typeof args[1] != 'object') { this.userThatIsTyping = this.usernameToDisplayName(args[0]) - + this.isTyping = args[1] this.otherUserType = args[1] @@ -298,9 +298,9 @@ export class RoomService { } } else if(args[0]?.method == 'deleteMessage' || args[1]?.method == 'deleteMessage') { - + this.deleteMessage(args[1]?.method?._id) - + } else { } @@ -316,13 +316,13 @@ export class RoomService { let ChatMessage : ChatMessageInterface = this.fix_updatedAt(IncomingChatMessageArgs) - let found = this.findMessageBy_id(ChatMessage._id) || + let found = this.findMessageBy_id(ChatMessage._id) || this.findMessageBy_localReference(ChatMessage?.localReference) // || await this.findMessageInDBByData({_id:ChatMessage._id, localReference:ChatMessage.localReference }) if(!found) { - ChatMessage.origin = 'stream' + ChatMessage.origin = 'stream' const message = await this.prepareCreate({message: ChatMessage, save: false}); this.registerSendMessage(message) @@ -342,7 +342,7 @@ export class RoomService { title: this.name }); */ } - + if(this.hasLoadHistory == true) { this.messages.push(message) await message.addMessageDB() @@ -350,14 +350,12 @@ export class RoomService { this.messagesBeforeOfflineAPI.push(message) } - if(this.chatOpen == false) { - this.messageUnread = true - } + this.messageUnread = true setTimeout(() => { this.scrollDown() - }, 50) - + }, 50) + } if(ChatMessage?.t == "au" || ChatMessage?.t == "ru" || ChatMessage?.t == "ul") { @@ -389,7 +387,7 @@ export class RoomService { } catch(error) { return [] } - + } getAllMemberThatIsNotOffline(): string[] { @@ -432,18 +430,18 @@ export class RoomService { async deleteMessageToReceive(userId) { - + const allDeleteMessages = await DeleteMessageModel.filter({rid: this.id}).execute() for(let message_ of allDeleteMessages) { - + if(message_.needToReceiveBy.includes(userId)) { message_.needToReceiveBy = message_.needToReceiveBy.filter((e)=> e != userId) this.sendFalseTypingReadMessage('deleteMessage',{_id:message_.messageId}) if(message_.needToReceiveBy.length == 0) { - + const deleteMessage = await DeleteMessageModel.get({messageId: message_.messageId}) await deleteMessage.delete() @@ -452,10 +450,10 @@ export class RoomService { } } - + } - } + } async receiveMessageDelete() { @@ -470,7 +468,7 @@ export class RoomService { if(message.delate == false) { this.deleteMessage(DeletedMessageId) } - + } ) } @@ -480,17 +478,17 @@ export class RoomService { * @param id message ID */ async deleteMessage(_id) { - + const id = _id for (let i =0; i <= this.messages.length; i++) { if(this.messages[i]?._id == id ) { - + if (SessionStore.user.UserName == this.messages[i]?.u?.username) { const allMemberThatIsOffline = this.getAllMemberThatIsOffline() - + DeleteMessageModel.create({ messageId: this.messages[i]._id, rid: this.messages[i].rid, @@ -499,7 +497,7 @@ export class RoomService { needToReceiveBy: allMemberThatIsOffline }) } - + this.messages[i]?.delateDB() this.messages.splice(i, 1) @@ -516,7 +514,7 @@ export class RoomService { return true } else { - // + // } } @@ -532,7 +530,7 @@ export class RoomService { } async delateMessageToSendToOthers(userId) { - + const deleteMessage = await DeleteMessageModel.all(); const toSend = deleteMessage.filter((DeleteMessage:string[])=> ! DeleteMessage.includes(userId)) @@ -546,7 +544,7 @@ export class RoomService { await message.delateStatusFalse() if(this.NetworkServiceService.getCurrentNetworkStatus() == ConnectionStatus.Online) { - + this.RochetChatConnectorService.deleteMessage(msgId).then(async() => { message.delateRequest = true await message.saveChanges(); @@ -557,7 +555,7 @@ export class RoomService { this.RochetChatConnectorService.registerCallback({ type: 'reConnect', funx: async ()=> { - + this.sendDeleteRequest(msgId) return true } @@ -575,7 +573,7 @@ export class RoomService { if(file && this.message) { this.send({}) } - + const localReference = uuidv4(); let offlineChatMessage = { @@ -593,20 +591,20 @@ export class RoomService { console.log('offlineChatMessage', offlineChatMessage) this.message= '' - + const message: MessageService = await this.prepareCreate({message:offlineChatMessage, save: environment.chatOffline}) this.registerSendMessage(message) if(this.hasLoadHistory == true) { await message.addMessageDB() } - + message.send() message.from = 'send' message.loadHistory = this.hasLoadHistory if (environment.chatOffline) { - + setTimeout(() => { this.scrollDown() }, 150) @@ -708,17 +706,68 @@ export class RoomService { } + sortArrayISODate(messages: any): any[] { + + return messages.sort((a,b) => + new Date(b._updatedAt ).getTime() + - + new Date(a._updatedAt).getTime()) + } + restoreOnce = false + labelDates = [] + + + goshPush(ChatMessage) { + let currentDateMessage = new Date(ChatMessage._updatedAt).toLocaleDateString() + + if(currentDateMessage) { + if(!this.labelDates.find( e => e == currentDateMessage)) { + this.labelDates.push(currentDateMessage) + + const newMessage = this.fix_updatedAt({...ChatMessage}) + newMessage.msg = currentDateMessage + const cloneMessage = new MessageServiceDateLabel() + + cloneMessage.ChatSystemService = this.ChatSystemService + cloneMessage.setData({...newMessage} as any) + // + cloneMessage._id = "" + cloneMessage._updatedAt = "" + cloneMessage.msg = currentDateMessage + cloneMessage.dateLabel = true + cloneMessage.delate = false + + if(new Date().toLocaleDateString() == currentDateMessage) { + + cloneMessage.msg = "hoje" + } else { + cloneMessage.msg = currentDateMessage + } + + this.messages.push(cloneMessage as any) + + console.log(currentDateMessage) + } + } + } + async restoreMessageFromDB() { if(environment.chatOffline && this.restoreOnce == false) { this.restoreOnce = true - const messages = await MessageModel.filter({rid:this.id}).execute() + const messages = this.sortArrayISODate(await MessageModel.filter({rid:this.id}).execute()).reverse() + console.log('MessageModel', messages) - for (let ChatMessage of messages) { + for (let ChatMessage of messages) { + + + this.goshPush(ChatMessage) + + const wewMessage = await this.simplePrepareMessage(ChatMessage) wewMessage.from = 'Offline' wewMessage.loadHistory = this.hasLoadHistory @@ -731,9 +780,9 @@ export class RoomService { message.loadHistory = this.hasLoadHistory wewMessage.messageModelInstance = ChatMessage message?.decryptMessage() - + } else { - + const offlineMessage = await this.prepareCreate({message:ChatMessage}) offlineMessage.from = 'Offline' @@ -751,10 +800,10 @@ export class RoomService { } if(!this.lastMessage) { - this.lastMessage = messages.pop(); + this.lastMessage = messages.pop(); } - - + + setTimeout(() => { this.scrollDown() }, 50) @@ -790,7 +839,7 @@ export class RoomService { messagesToSave.received = users.map((user) => user._id) messagesToSave.addMessageDB() } - + } @@ -799,7 +848,10 @@ export class RoomService { if(messagesToSave != null) { messagesToSave.received = users.map((user) => user._id) - messagesToSave.addMessageDB() + + + this.goshPush(messagesToSave) + this.addMessageDB.push(messagesToSave) } } this.messagesBeforeOfflineAPI = [] @@ -807,11 +859,11 @@ export class RoomService { setTimeout(() => { this.scrollDown() }, 50) - + } if(chatHistory?.result?.messages) { - + if(!this.lastMessage) { this.lastMessage = chatHistory?.result?.messages.pop() as any } @@ -820,6 +872,13 @@ export class RoomService { } + + addMessageDB = FIFOProcessQueue(async ({messagesToSave}, callback) => { + + await messagesToSave.addMessageDB() + callback() + }) + async readAllMessage() { this.ViewedMessageService.requestReadAll(this) @@ -856,11 +915,11 @@ export class RoomService { const wewMessage = new MessageService(this.NfService, this.RochetChatConnectorService, this.ChatMethodsService, this.AESEncrypt, this.AttachmentsService, this.NetworkServiceService, this.ChatSystemService,this.notificationService) wewMessage.setData(message) wewMessage.loadHistory = this.hasLoadHistory - + if(save) { this.messages.push(wewMessage) } - + return wewMessage } @@ -881,7 +940,7 @@ export class RoomService { return true } } - + return false } @@ -897,7 +956,7 @@ export class RoomService { private async findMessageInDBByLocalReference({localReference}) { const a = await MessageModel.get({localReference: localReference}) - + return typeof a.id == 'number' } @@ -907,7 +966,7 @@ export class RoomService { } private async findMessageInDBByData({localReference, _id}) { - + const a = await MessageModel.filter({localReference: localReference}).execute() if(a.length >= 1) { @@ -976,7 +1035,7 @@ export class RoomService { } async addContacts(userId:any) { - + let body = { "roomId": this.id, "userId": userId, @@ -988,12 +1047,12 @@ export class RoomService { async updateContacts() { - + let res let error = false if(this.t == 'd') { - + try { res = await this.chatService.getMembers(this.id).toPromise(); } catch (e) { @@ -1035,7 +1094,7 @@ export class RoomService { if(error) { res = await this.chatService.getChannelMembers(this.id).toPromise() } - + } } diff --git a/src/app/shared/chat/group-messages/group-messages.page.html b/src/app/shared/chat/group-messages/group-messages.page.html index cf9595b2e..7e56eb5cb 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.html +++ b/src/app/shared/chat/group-messages/group-messages.page.html @@ -42,14 +42,14 @@
-
-
+
+
-
+
{{msg.u.name}} {{msg.duration}}
@@ -61,7 +61,7 @@ Enviado - + Lido @@ -107,7 +107,7 @@ Enviado - + Lido @@ -120,7 +120,7 @@
- + {{ file.title}} @@ -164,7 +164,7 @@ Enviado - + Lido diff --git a/src/app/shared/chat/group-messages/group-messages.page.scss b/src/app/shared/chat/group-messages/group-messages.page.scss index 10a24294b..e3cfc5dea 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.scss +++ b/src/app/shared/chat/group-messages/group-messages.page.scss @@ -328,4 +328,13 @@ padding: 6px; border-radius: 10px; cursor: pointer; -} \ No newline at end of file +} + + +.dateLabel { + background: #ebebeb !important; + float: unset !important; + margin: 0px auto !important; + width: 110px; + text-align: center; +} diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index 08529f5b5..0e6488501 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -33,21 +33,22 @@ - +
-
-
+ *ngFor="let msg of ChatSystemService.getDmRoom(roomId).messages; index as i; let last = last" > + +
+
-
+
{{msg.u.name}} {{msg.duration}}
@@ -57,11 +58,11 @@ Apagou a mensagem - - + + Enviado - + Lido @@ -102,10 +103,10 @@
image - + Enviado - + Lido @@ -118,7 +119,7 @@
- + {{ file.title}} @@ -130,7 +131,7 @@
- + @@ -166,13 +167,13 @@ {{file.description}} - + - + Enviado - + Lido @@ -210,7 +211,7 @@
- +
diff --git a/src/app/shared/chat/messages/messages.page.scss b/src/app/shared/chat/messages/messages.page.scss index 0ac9c17ab..77cadd156 100644 --- a/src/app/shared/chat/messages/messages.page.scss +++ b/src/app/shared/chat/messages/messages.page.scss @@ -409,4 +409,13 @@ ion-footer { .lido, .enviado { font-size: rem(11); -} \ No newline at end of file +} + + +.dateLabel { + background: #ebebeb !important; + float: unset !important; + margin: 0px auto !important; + width: 110px; + text-align: center; +} diff --git a/src/global.scss b/src/global.scss index a9859e333..0366517a9 100644 --- a/src/global.scss +++ b/src/global.scss @@ -678,13 +678,13 @@ td.monthview-secondary-with-event, td.monthview-secondary-with-event[_ngcontent- outline: 0; } - - .btn-no-color { + + .btn-no-color { ion-icon { font-size: rem(35); } } - + // center app-diploma-assinar ion-content .main-content, @@ -1159,7 +1159,7 @@ background: rgb(92, 92, 92); // .mat-select-value { // display: table-cell; -// max-width: unset !important; +// max-width: unset !important; // width: 100% !important; // /* text-overflow: ellipsis; */ // /* white-space: nowrap; */ @@ -1477,7 +1477,7 @@ ngx-mat-datetime-content .actions { position: relative; top: -66px; margin-bottom: -44px; - + button { z-index: 11111111; } @@ -1522,7 +1522,7 @@ ion-textarea.heigh-200 textarea { font-size: rem(12); color: red; } - + .new-task { border-radius: 20px; background: #efefef; @@ -1591,7 +1591,7 @@ ion-textarea.heigh-200 textarea { -app-tiny-mce { +app-tiny-mce { justify-content: flex-start !important; } @@ -1603,11 +1603,11 @@ app-tiny-mce { @media only screen and (min-width: 100px) { - + html, body, .viewport-font-size { font-size: 14px; } - + } @media only screen and (min-width: 500px) { @@ -1654,3 +1654,8 @@ h5, .buttons{ .lowercase { text-transform: lowercase; } + + +.welcome-text { + margin-bottom: 15px; +}