MOBILE-3648 messages: Apply core-tabs in contacts page

main
Dani Palou 2021-02-04 12:56:20 +01:00
parent feb0319d3f
commit f296d2923c
1 changed files with 66 additions and 69 deletions

View File

@ -16,30 +16,22 @@
</ion-header> </ion-header>
<ion-content> <ion-content>
<core-split-view> <core-split-view>
<ion-tab-bar class="core-tabs-bar"> <core-tabs [hideUntil]="true">
<ion-row>
<ion-col class="tab-slide" [attr.aria-selected]="selected == 'confirmed'" (click)="selectTab('confirmed')"> <!-- Contacts tab. -->
<ion-label>{{ 'addon.messages.contacts' | translate}}</ion-label> <core-tab [title]="'addon.messages.contacts' | translate" (ionSelect)="selectTab('confirmed')">
</ion-col> <ng-template>
<ion-col class="tab-slide" [attr.aria-selected]="selected != 'confirmed'" (click)="selectTab('requests')">
<ion-label>
{{ 'addon.messages.requests' | translate}}
<ion-badge *ngIf="requestsBadge">{{ requestsBadge }}</ion-badge>
</ion-label>
</ion-col>
</ion-row>
</ion-tab-bar>
<div *ngIf="selected == 'confirmed'">
<ion-refresher slot="fixed" [disabled]="!confirmedLoaded" (ionRefresh)="refreshData($event)"> <ion-refresher slot="fixed" [disabled]="!confirmedLoaded" (ionRefresh)="refreshData($event)">
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content> <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
</ion-refresher> </ion-refresher>
<core-loading [hideUntil]="confirmedLoaded" class="core-loading-center"> <core-loading [hideUntil]="confirmedLoaded" class="core-loading-center">
<ion-list class="ion-no-margin"> <ion-list class="ion-no-margin">
<ion-item class="ion-text-wrap addon-messages-conversation-item" *ngFor="let contact of confirmedContacts" <ion-item class="ion-text-wrap addon-messages-conversation-item"
[title]="contact.fullname" (click)="selectUser(contact.id)" detail *ngFor="let contact of confirmedContacts" [title]="contact.fullname" detail
[class.core-selected-item]="contact.id == selectedUserId"> (click)="selectUser(contact.id)" [class.core-selected-item]="contact.id == selectedUserId">
<core-user-avatar slot="start" core-user-avatar [user]="contact" [checkOnline]="contact.showonlinestatus" <core-user-avatar slot="start" core-user-avatar [user]="contact"
[linkProfile]="false"></core-user-avatar> [checkOnline]="contact.showonlinestatus" [linkProfile]="false">
</core-user-avatar>
<ion-label> <ion-label>
<h2> <h2>
<core-format-text [text]="contact.fullname" contextLevel="system" [contextInstanceId]="0"> <core-format-text [text]="contact.fullname" contextLevel="system" [contextInstanceId]="0">
@ -55,12 +47,16 @@
[message]="'addon.messages.nocontactsgetstarted' | translate"> [message]="'addon.messages.nocontactsgetstarted' | translate">
</core-empty-box> </core-empty-box>
<core-infinite-loading [enabled]="confirmedCanLoadMore" (action)="loadMore($event)" [error]="confirmedLoadMoreError" <core-infinite-loading [enabled]="confirmedCanLoadMore" (action)="loadMore($event)"
position="bottom"> [error]="confirmedLoadMoreError" position="bottom">
</core-infinite-loading> </core-infinite-loading>
</core-loading> </core-loading>
</div> </ng-template>
<div *ngIf="selected != 'confirmed'"> </core-tab>
<!-- Requests tab. -->
<core-tab [title]="'addon.messages.requests' | translate" (ionSelect)="selectTab('requests')" [badge]="requestsBadge">
<ng-template>
<ion-refresher slot="fixed" [disabled]="!requestsLoaded" (ionRefresh)="refreshData($event)"> <ion-refresher slot="fixed" [disabled]="!requestsLoaded" (ionRefresh)="refreshData($event)">
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content> <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
</ion-refresher> </ion-refresher>
@ -82,11 +78,12 @@
<core-empty-box *ngIf="!requests.length" icon="far-address-book" <core-empty-box *ngIf="!requests.length" icon="far-address-book"
[message]="'addon.messages.nocontactrequests' | translate"> [message]="'addon.messages.nocontactrequests' | translate">
</core-empty-box> </core-empty-box>
<core-infinite-loading [enabled]="requestsCanLoadMore" (action)="loadMore($event)" [error]="requestsLoadMoreError" <core-infinite-loading [enabled]="requestsCanLoadMore" (action)="loadMore($event)"
position="bottom"> [error]="requestsLoadMoreError" position="bottom">
</core-infinite-loading> </core-infinite-loading>
</core-loading> </core-loading>
</div> </ng-template>
</core-tab>
</core-tabs>
</core-split-view> </core-split-view>
</ion-content> </ion-content>