<ion-header>
    <ion-toolbar>
        <ion-buttons slot="start">
            <ion-back-button [text]="'core.back' | translate"></ion-back-button>
        </ion-buttons>
        <h1>{{ 'addon.messages.messages' | translate }}</h1>
        <ion-buttons slot="end">
            <!-- Add an empty context menu so discussion page can add items in split view,
                otherwise the menu disappears in some cases. -->
            <core-context-menu></core-context-menu>
        </ion-buttons>
    </ion-toolbar>
</ion-header>
<ion-content>
    <core-split-view>
        <ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refreshData($event.target)">
            <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
        </ion-refresher>

        <core-search-box *ngIf="search.enabled" (onSubmit)="searchMessage($event)" (onClear)="clearSearch()"
            [placeholder]=" 'addon.messages.message' | translate" autocorrect="off" spellcheck="false" lengthCheck="2"
            [disabled]="!loaded" searchArea="AddonMessagesDiscussions"></core-search-box>

        <core-loading [hideUntil]="loaded" [message]="loadingMessage">

            <ion-list   class="ion-no-margin">

                <ion-item class="ion-text-wrap addon-message-discussion" (click)="gotoContacts()"
                    [attr.aria-label]="'addon.messages.contacts' | translate" detail="true" button>
                    <ion-icon name="fas-address-book" slot="start" aria-hidden="true"></ion-icon>
                    <ion-label><h2>{{ 'addon.messages.contacts' | translate }}</h2></ion-label>
                </ion-item>

                <ng-container *ngIf="search.showResults">
                    <ion-item-divider>
                        <ion-label>
                            <h2>{{ 'core.searchresults' | translate }}</h2>
                        </ion-label>
                        <ion-note slot="end" class="ion-padding-end"><ion-badge>{{ search.results.length }}</ion-badge></ion-note>
                    </ion-item-divider>
                    <ion-item class="ion-text-wrap addon-message-discussion" *ngFor="let result of search.results" button
                        [attr.aria-label]="result.fullname" (click)="gotoDiscussion(result.userid, result.messageid)"
                        [attr.aria-current]="result.userid == discussionUserId ? 'page' : 'false'">
                        <core-user-avatar [user]="result" slot="start" [checkOnline]="result.showonlinestatus"></core-user-avatar>
                        <ion-label>
                            <p class="item-heading">{{ result.fullname }}</p>
                            <p><core-format-text clean="true" singleLine="true" [text]="result.lastmessage" contextLevel="system"
                                [contextInstanceId]="0"></core-format-text></p>
                        </ion-label>
                    </ion-item>
                </ng-container>
                <ng-container *ngIf="!search.showResults">
                    <ion-item class="ion-text-wrap addon-message-discussion" *ngFor="let discussion of discussions" button
                        [attr.aria-label]="discussion.fullname" (click)="gotoDiscussion(discussion.message!.user)"
                        [attr.aria-current]="discussion.message!.user == discussionUserId ? 'page' : 'false'" detail="false">
                        <core-user-avatar [user]="discussion" slot="start" checkOnline="false"></core-user-avatar>
                        <ion-label>
                            <div class="flex-row ion-justify-content-between">
                                <p class="item-heading">{{ discussion.fullname }}</p>
                                <ion-note *ngIf="discussion.message!.timecreated > 0 || discussion.unread">
                                    <span *ngIf="discussion.message!.timecreated > 0" class="addon-message-last-message-date">
                                        {{discussion.message!.timecreated / 1000 | coreDateDayOrTime}}
                                    </span>
                                    <ion-icon *ngIf="discussion.unread" name="fas-circle" color="primary" aria-hidden="true">
                                    </ion-icon>
                                    <span *ngIf="discussion.unread" class="sr-only">
                                        {{ 'addon.messages.unreadmessages' | translate }}
                                    </span>
                                </ion-note>
                            </div>
                            <p>
                                <core-format-text clean="true" singleLine="true" [text]="discussion.message!.message"
                                    contextLevel="system" [contextInstanceId]="0">
                                </core-format-text>
                            </p>
                        </ion-label>
                    </ion-item>
                </ng-container>
            </ion-list>

            <core-empty-box *ngIf="(!discussions || discussions.length <= 0) && !search.showResults" icon="far-comments"
                [message]="'addon.messages.nomessagesfound' | translate"></core-empty-box>

            <core-empty-box *ngIf="(!search.results || search.results.length <= 0) && search.showResults" icon="search"
                [message]="'core.noresults' | translate"></core-empty-box>
        </core-loading>
    </core-split-view>
</ion-content>