Files
doneit-web/src/app/pages/chat/chat.page.html
T
2021-04-16 10:00:34 +01:00

113 lines
5.6 KiB
HTML

<ion-header class="ion-no-border">
<app-header></app-header>
</ion-header>
<ion-content class="height-100">
<ion-refresher name="refresher" slot="fixed" (ionRefresh)="doRefresh($event)">
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
<ion-refresher-content>
</ion-refresher-content>
</ion-refresher>
<div class="main-content d-flex height-100">
<!-- Aside left -->
<div class="aside-wrapper d-flex flex-column pt-25">
<!-- <p class="text-center mt-0 aside-title px-20">Chat</p> -->
<div class="title-content">
<div class="div-title">
<ion-label class="title">Chat</ion-label>
</div>
<div class="div-icon">
<button class="btn-no-color" (click)="openContactsPage()">
<ion-icon slot="end" src="assets/images/icons-chat-new-conversation.svg"></ion-icon>
</button>
<button class="btn-no-color" (click)="openNewGroupPage()">
<ion-icon slot="end" src="assets/images/icons-chat-new-group.svg" ></ion-icon>
</button>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
</button>
</div>
</div>
<ion-toolbar>
<ion-segment [(ngModel)]="segment" (ionChange)="onSegmentChange()">
<ion-segment-button value="Contactos">
Conversas
</ion-segment-button>
<ion-segment-button value="Grupos">
Grupos
</ion-segment-button>
</ion-segment>
</ion-toolbar>
<div class="overflow-y-auto d-flex flex-wrap">
<div class="width-100" [ngSwitch]="segment">
<ion-list *ngSwitchCase="'Contactos'">
<ion-item-group>
<ion-item-sliding>
<div class="item width-100" *ngFor="let dm of userDirectMessages">
<div class="item-icon">
<ion-icon class="icon" slot="start" src="assets/images/icons-chat-chat-40.svg"></ion-icon>
</div>
<div (click)="openMessagesPage(dm._id)" class="item-content"><!-- (click)="openMessages(dm)" -->
<div class="item-title-time">
<div class="item-title">
<ion-label *ngFor="let user of dm.usernames">
<span *ngIf="user !=loggedUser.me.username">
{{user}}
</span>
</ion-label>
</div>
<div class="item-date">{{dm._updatedAt | date: 'HH:mm'}}</div>
</div>
<div class="item-description">
<ion-label *ngIf="dm.lastMessage">{{dm.lastMessage.msg}}</ion-label>
</div>
</div>
</div>
</ion-item-sliding>
</ion-item-group>
</ion-list>
<ion-list *ngSwitchCase="'Grupos'" >
<ion-item-group>
<ion-item-sliding>
<div *ngFor="let group of allGroups" class="item">
<div class="item-icon">
<ion-icon class="icon" slot="start" src="assets/images/icons-chat-group-chat-40.svg"></ion-icon>
</div>
<div (click)="openGroupMessagesPage(group._id)" class="item-content">
<div class="item-title-time">
<div class="item-title">
<ion-label>{{group.name.split('-').join(' ')}}</ion-label>
</div>
<div class="item-date" *ngIf="group.lastMessage">{{group.lastMessage._updatedAt | date: 'HH:mm'}}</div>
</div>
<div class="item-description" *ngIf="group.lastMessage">
<ion-label>{{group.lastMessage.u.name}}: {{group.lastMessage.msg}}</ion-label>
</div>
</div>
</div>
</ion-item-sliding>
</ion-item-group>
</ion-list>
</div>
</div>
</div>
<!-- Aside right -->
<div class="aside-content d-none flex-column height-100">
<app-empty-chat [texto]="emptyTextDescription" class="d-flex height-100 flex-column" *ngIf="showEmptyComponent" #messagecontainer></app-empty-chat>
<app-messages class="d-flex height-100 flex-column" [roomId]="roomId" *ngIf="showMessages" #messagecontainer></app-messages>
<app-contacts (openMessage)="openMessagesPage($event)" *ngIf="showContacts" class="d-flex height-100 flex-column"></app-contacts>
<app-new-group (addGroupMessage)="openGroupContactsPage($event)" *ngIf="showNewGroup" class="d-flex height-100 flex-column"></app-new-group>
<app-edit-group [roomId]="roomId" *ngIf="showEditGroup" class="d-flex height-100 flex-column"></app-edit-group>
<app-group-contacts (openGroupMessage)="openGroupMessagesPage($event)" [roomId]="groupRoomId" class="d-flex height-100 flex-column" *ngIf="showGroupContacts"></app-group-contacts>
<app-group-messages
(closeAllDesktopComponents)="closeAllDesktopComponents()"
(showEmptyContainer)="showEmptyContainer()"
(openGroupContacts)="openGroupContactsPage($event)"
*ngIf="showGroupMessages" class="d-flex height-100 flex-column" [roomId]="roomId" #messagecontainer></app-group-messages>
</div>
</div>
</ion-content>