Files
doneit-web/src/app/ui/chat/chat.page.html
T

195 lines
12 KiB
HTML
Raw Normal View History

<ion-content class="height-100 container-wrapper">
2021-08-19 18:54:50 +01:00
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
2023-09-19 10:21:23 +01:00
2021-01-27 16:01:49 +01:00
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
2023-07-06 12:18:15 +01:00
<div class="main-content d-flex height-100 border-t-radius viewport-font-size">
2021-03-05 11:58:59 +01:00
<!-- Aside left -->
2021-07-30 13:49:31 +01:00
<div class="aside-wrapper d-flex flex-column flex-grow-1">
2021-03-05 16:43:07 +01:00
<!-- <p class="text-center mt-0 aside-title px-20">Chat</p> -->
2024-07-11 10:28:21 +01:00
<!-- <ion-progress-bar type="indeterminate" ></ion-progress-bar> -->
2021-03-05 16:43:07 +01:00
<div class="title-content">
<div class="div-title">
2023-07-06 12:18:15 +01:00
<ion-label class="title font-25-em">Chat</ion-label>
2021-03-05 16:43:07 +01:00
</div>
<div class="div-icon">
2022-09-26 16:16:37 +01:00
2022-01-19 12:32:29 +01:00
<button title="Nova Conversa Individual" class="btn-no-color" (click)="openContactsPage()">
2021-11-16 16:00:14 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src="assets/images/icons-chat-new-conversation.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src="assets/images/theme/gov/icons-chat-new-conversation.svg"></ion-icon>
2022-10-20 15:45:10 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " slot="end" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-chat-new-conversation.svg"></ion-icon>
2021-04-09 08:59:22 +01:00
</button>
2024-09-05 15:26:23 +01:00
<button id="cy-create-group" title="Novo Grupo" class="btn-no-color" (click)="openNewGroupPage()">
2021-11-16 16:00:14 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " slot="end" src="assets/images/icons-chat-new-group.svg" ></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' " slot="end" src="assets/images/theme/gov/icons-chat-new-group.svg" ></ion-icon>
2022-10-20 15:45:10 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' " slot="end" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-chat-new-group.svg" ></ion-icon>
2021-04-09 08:59:22 +01:00
</button>
2021-03-05 16:43:07 +01:00
</div>
</div>
2022-07-27 14:18:45 +01:00
2024-08-29 13:15:06 +01:00
<ion-toolbar [class.block-button]="showNewEvent || showNewGroup || showContacts">
2024-08-30 17:16:15 +01:00
<ion-segment [(ngModel)]="segment">
2024-08-29 13:15:06 +01:00
<ion-segment-button value="{{RoomType.Direct}}" class="font-14-em">
2024-06-04 16:21:11 +01:00
Conversas
</ion-segment-button>
2024-08-29 13:15:06 +01:00
<ion-segment-button value="{{RoomType.Group}}" class="font-14-em">
2024-06-04 16:21:11 +01:00
Grupos
</ion-segment-button>
</ion-segment>
2024-08-29 13:15:06 +01:00
</ion-toolbar>
2024-06-04 16:21:11 +01:00
<div class=" aside overflow-y-auto d-flex flex-wrap flex-grow-1">
2024-09-01 12:57:33 +01:00
<div class="width-100">
<div class="item item-hover width-100 d-flex ion-no-padding ion-no-margin"
*ngFor="let room of rooms"
2024-09-17 16:02:12 +01:00
[class.item-active]="room.$id == selectedRoomId" [class.hide-room]="room.roomType != segment">
2024-09-01 12:57:33 +01:00
<div class="item-icon">
2024-09-17 16:02:12 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && room.$id != selectedRoomId && room.roomType == RoomType.Group " class="icon" slot="start" src="assets/images/theme/gov/icons-chat-chat-40.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && room.$id == selectedRoomId && room.roomType == RoomType.Group" class="icon" slot="start" src="assets/images/theme/gov/icons-chat-chat-40-hover.svg"></ion-icon>
2024-09-01 12:57:33 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'default' && room.roomType == RoomType.Direct" class="icon" slot="start" src="assets/images/icons-chat-group-chat-40.svg"></ion-icon>
2024-09-17 16:02:12 +01:00
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && room.$id != selectedRoomId && room.roomType == RoomType.Direct" class="icon" slot="start" src="assets/images/theme/gov/icons-chat-group-chat-40.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'gov' && room.$id == selectedRoomId && room.roomType == RoomType.Direct" class="icon" slot="start" src="assets/images/theme/gov/icons-chat-group-chat-40-hover.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' && room.$id != selectedRoomId && room.roomType == RoomType.Direct" class="icon" slot="start" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-chat-group-chat-40.svg"></ion-icon>
<ion-icon *ngIf="ThemeService.currentTheme == 'doneIt' && room.$id == selectedRoomId && room.roomType == RoomType.Direct" class="icon" slot="start" src="assets/images/theme/{{ThemeService.currentTheme}}/icons-chat-group-chat-40-hover.svg"></ion-icon>
2024-09-01 12:57:33 +01:00
</div>
<div
2024-09-17 16:02:12 +01:00
(click)="openMessagesPage(room.$id)" class="item-content flex-grow-1 cursor-pointer"><!-- (click)="openMessages(dm)" -->
2024-09-10 16:01:51 +01:00
<div class="item-title-time">
2024-09-17 16:02:12 +01:00
<div class="item-title add-ellipsis" [class.item-title-active]="room.$id == selectedRoomId">
2024-09-10 16:01:51 +01:00
<ion-label >
<span >
<div >
2024-09-17 16:02:12 +01:00
<div class="font-15-em add-ellipsis" [class.bold-message]="boldTable?.[room.$id]?.bold">
2024-09-10 16:01:51 +01:00
{{room.roomName}}
</div>
</div>
2024-09-01 12:57:33 +01:00
</span>
2024-09-10 16:01:51 +01:00
</ion-label>
</div>
2024-09-17 16:02:12 +01:00
<div class="item-date font-13-em" [class.item-date-active]="room.$id == selectedRoomId">
2024-09-10 16:01:51 +01:00
{{ room.displayDate }}
</div>
</div>
2024-09-17 16:02:12 +01:00
<div class="item-date font-13-em" [class.item-date-active]="room.$id == selectedRoomId">
<!-- {{ expirationDate[room.$id] !== null ? expirationDate[room.$id] + ' seconds left' : 'No expiration' }} -->
<span *ngIf="expirationDate[room.$id]"> {{ expirationDate[room.$id] !== null ? expirationDate[room.$id] + ' seconds left' : '' }} </span>
2024-09-10 16:01:51 +01:00
</div>
2024-09-17 16:02:12 +01:00
<div *ngIf="room?.messages?.length >= 1 && room.messages[0].isDeleted!=true" class="item-description d-flex align-items-center" [class.item-description-active]="room.$id ==selectedRoomId">
2024-09-10 16:01:51 +01:00
<!-- -->
2024-09-17 16:02:12 +01:00
<!-- <div *ngIf="room?.messages?.[0]?.message" class="item-description d-flex align-items-center" [class.item-description-active]="room.$id ==selectedRoomId"> -->
2024-09-10 16:01:51 +01:00
<!-- <div class="item-message" *ngIf="group.otherUserType == false">{{room?.messages?.[0]?.message.u.name}}: {{room?.messages?.[0]?.message.msg}} </div> -->
<div class="item-message font-13-em add-ellipsis white-space-nowrap"> {{room.messages[0].message}} </div>
<!-- <div *ngIf="group.otherUserType == true">{{group.userThatIsTyping}} está escrever ...</div> -->
<div class="item-files add-ellipsis" *ngIf="room.messages[0]?.attachments?.length >= 1">
2024-09-17 16:02:12 +01:00
<fa-icon *ngIf="room.lastMessageDocument" icon="file-alt" class="file-icon" [class.set-active-item-font-to-white]="room.$id == selectedRoomId"></fa-icon>
<fa-icon *ngIf="room?.messages?.[0]?.attachments[0]?.mimeType == 'application/audio'" icon="file-audio" class="file-icon" [class.set-active-item-font-to-white]="room.$id == selectedRoomId"></fa-icon>
2024-09-10 16:01:51 +01:00
<span *ngIf="room?.messages?.[0]?.attachments[0]?.mimeType == 'application/audio'" class="item-files-title"> audio </span>
2024-09-17 16:02:12 +01:00
<fa-icon *ngIf="room?.messages?.[0]?.attachments[0]?.mimeType == 'application/meeting'" icon="calendar-alt" class="file-icon" [class.set-active-item-font-to-white]="room.$id == selectedRoomId"></fa-icon>
2024-09-10 16:01:51 +01:00
<fa-icon *ngIf="room.lastMessageImage" icon="image"></fa-icon>
<span class="pl-2 font-13-em add-ellipsis">{{ room.messages[0].attachments[0].description }}</span>
</div>
<!-- <div class="item-files" *ngIf="room.attachments">
<div *ngIf="room.value.lastMessage.attachments[0].image_url">
2024-09-17 16:02:12 +01:00
<fa-icon icon="image" class="file-icon" [class.set-active-item-font-to-white]="room.$id == selectedRoomId"></fa-icon>
2024-09-10 16:01:51 +01:00
<span> Fotografia</span>
</div>
</div> -->
</div>
<div *ngIf="room?.messages?.length >= 1 && room.messages[0].isDeleted==true">
<div class="item-message font-13-em add-ellipsis white-space-nowrap"> Mensagem foi eliminada </div>
</div>
<!-- -->
2024-09-01 12:57:33 +01:00
<!-- <div class="item-message font-13-em add-ellipsis white-space-nowrap" *ngIf="room.otherUserType == false"> {{room.messages[0].message}} </div> -->
<!-- <div class="font-13-em" *ngIf="room.otherUserType == true">está escrever ...</div> -->
</div>
</div>
</div>
2024-06-04 16:21:11 +01:00
<div class="width-100" [ngSwitch]="segment">
2024-09-01 12:57:33 +01:00
2024-06-04 16:21:11 +01:00
</div>
<!-- <button (click)="sendMsg()" style="height: 41px;">Send message</button> -->
</div>
2021-03-04 15:24:47 +01:00
</div>
2021-03-05 11:58:59 +01:00
<!-- Aside right -->
2021-03-11 16:21:09 +01:00
<div class="aside-content d-none flex-column height-100">
2021-07-22 17:11:41 +01:00
<app-empty-chat [texto]="emptyTextDescription"
class="height-100 flex-column"
2023-08-14 12:15:18 +01:00
[style.display]="showEmptyComponent && !showContacts && !showNewGroup && !showEditGroup && !showGroupContacts && !showGroupMessages && !showNewEvent ? 'flex' : 'none'"
2021-07-16 21:17:34 +01:00
#messagecontainer>
2021-04-16 11:25:10 +01:00
</app-empty-chat>
2021-07-22 17:11:41 +01:00
<app-messages class=" height-100 flex-column"
2024-09-17 16:02:12 +01:00
[_room]="RoomSelected"
2021-07-26 12:12:59 +01:00
*ngIf="showMessages"
[style.display]="showMessages ? 'flex' : 'none'"
2021-07-26 13:01:13 +01:00
(closeAllDesktopComponents)="closeAllDesktopComponents()"
(showEmptyContainer)="showEmptyContainer()"
2021-08-20 11:58:28 +01:00
(showEmptyContainer)="showEmptyContainer()"
2024-06-10 16:34:43 +01:00
(openGroupContacts)="openGroupContactsPage($event)"
(openEditGroupPage)="openEditGroupPage($event)"
2021-07-26 13:01:13 +01:00
[style.display]="showMessages ? 'flex' : 'none'"
2021-07-26 19:31:19 +01:00
[roomId]="roomId"
2024-09-17 16:02:12 +01:00
[receiverId]="selectedReceiverId"
2021-07-26 19:31:19 +01:00
[showMessages]="showMessages" #messagecontainer>
2021-07-26 22:51:13 +01:00
2021-04-16 11:25:10 +01:00
</app-messages>
2021-08-18 16:40:58 +01:00
2021-07-22 17:11:41 +01:00
<app-contacts
(openMessage)="openMessagesPage($event)"
2024-09-17 16:02:12 +01:00
(backToChat)="openMessagesWithOutValidation($event)"
(openMessagesToStartDirectConversation)="openMessagesToStartDirectConversation($event)"
2022-07-27 16:12:46 +01:00
(emptyTextDescriptionOpen)="emptyTextDescriptionOpen()"
2022-10-13 14:37:03 +01:00
(closeAllDesktopComponents)="closeAllDesktopComponents()"
2021-07-26 12:12:59 +01:00
*ngIf="showContacts"
2022-10-11 14:18:55 +01:00
[roomId]="roomId"
2021-07-16 21:17:34 +01:00
[style.display]="showContacts ? 'flex' : 'none'"
class=" height-100 flex-column">
2021-04-16 11:25:10 +01:00
</app-contacts>
2021-08-18 16:40:58 +01:00
2021-07-22 17:11:41 +01:00
<app-new-group
(addGroupMessage)="openGroupContactsPage($event)"
2022-10-11 14:18:55 +01:00
[roomId]="roomId"
2024-09-17 16:02:12 +01:00
(backToChat)="openMessagesWithOutValidation($event)"
2022-07-27 16:12:46 +01:00
(closeAllDesktopComponents)="closeAllDesktopComponents()"
2024-06-11 11:46:04 +01:00
(openGroupContacts)="openGroupContactsPage($event)"
(openEditGroupPage)="openEditGroupPage($event)"
2022-09-28 16:33:13 +01:00
*ngIf="showNewGroup"
2023-09-19 10:21:23 +01:00
class=" height-100 flex-column d-flex">
2024-06-11 11:46:04 +01:00
2021-04-16 11:25:10 +01:00
</app-new-group>
2021-08-18 16:40:58 +01:00
2021-04-16 11:25:10 +01:00
<app-edit-group [roomId]="roomId"
(closeAllDesktopComponents)="closeAllDesktopComponents()"
2024-09-01 12:57:33 +01:00
(openGroupMessage)="openMessagesPage($event)"
2021-07-26 12:12:59 +01:00
*ngIf="showEditGroup"
2021-07-16 21:17:34 +01:00
[style.display]="showEditGroup ? 'flex' : 'none'"
class="height-100 flex-column">
2021-04-16 11:25:10 +01:00
</app-edit-group>
2021-08-18 16:40:58 +01:00
2021-07-22 17:11:41 +01:00
<app-group-contacts
2024-09-01 12:57:33 +01:00
(openGroupMessage)="openMessagesPage($event)"
2021-07-26 12:12:59 +01:00
*ngIf="showGroupContacts"
2021-07-16 21:17:34 +01:00
[style.display]="showGroupContacts ? 'flex' : 'none'"
2021-07-22 17:11:41 +01:00
[roomId]="groupRoomId" class=" height-100 flex-column"
2022-10-13 14:37:03 +01:00
(backToChat)="backToChat($event)"
2021-07-16 21:17:34 +01:00
>
2021-04-16 11:25:10 +01:00
</app-group-contacts>
2021-08-18 16:40:58 +01:00
2021-03-04 15:24:47 +01:00
</div>
2020-10-30 15:22:35 +01:00
</div>
2020-09-10 09:48:37 +01:00
</ion-content>