<ion-header> <ion-toolbar> <ion-buttons slot="start"> <ion-back-button [attr.aria-label]="'core.back' | translate"></ion-back-button> </ion-buttons> <ion-title>{{ 'addon.badges.badges' | translate }}</ion-title> </ion-toolbar> </ion-header> <!-- @todo <core-split-view>--> <ion-content> <ion-refresher slot="fixed" [disabled]="!badgesLoaded" (ionRefresh)="refreshBadges($event)"> <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content> </ion-refresher> <core-loading [hideUntil]="badgesLoaded"> <core-empty-box *ngIf="!badges || badges.length == 0" icon="fas-trophy" [message]="'addon.badges.nobadges' | translate"> </core-empty-box> <ion-list *ngIf="badges && badges.length" class="ion-no-margin"> <ion-item class="ion-text-wrap" *ngFor="let badge of badges" [title]="badge.name" (click)="loadIssuedBadge(badge.uniquehash)" [class.core-split-item-selected]="badge.uniquehash == badgeHash"> <ion-avatar slot="start"> <img [src]="badge.badgeurl" [alt]="badge.name" core-external-content> </ion-avatar> <ion-label> <h2>{{ badge.name }}</h2> <p>{{ badge.dateissued * 1000 | coreFormatDate :'strftimedatetimeshort' }}</p> </ion-label> <ion-badge slot="end" color="danger" *ngIf="badge.dateexpire && currentTime >= badge.dateexpire"> {{ 'addon.badges.expired' | translate }} </ion-badge> </ion-item> </ion-list> </core-loading> </ion-content>