<ion-header>
    <ion-navbar core-back-button>
        <ion-title>{{ 'addon.calendar.calendarevents' | translate }}</ion-title>
        <ion-buttons end>
            <button *ngIf="courses && courses.length" ion-button icon-only (click)="openCourseFilter($event)" [attr.aria-label]="'core.courses.filter' | translate">
                <ion-icon name="funnel"></ion-icon>
            </button>
            <core-context-menu>
                <core-context-menu-item [hidden]="!notificationsEnabled" [priority]="600" [content]="'core.settings.settings' | translate" (action)="openSettings()" [iconAction]="'cog'"></core-context-menu-item>
            </core-context-menu>
        </ion-buttons>
    </ion-navbar>
</ion-header>
<core-split-view>
    <ion-content>
        <ion-refresher [enabled]="eventsLoaded" (ionRefresh)="refreshEvents($event)">
            <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
        </ion-refresher>
        <core-loading [hideUntil]="eventsLoaded">
            <core-empty-box *ngIf="!filteredEvents || !filteredEvents.length" icon="calendar" [message]="'addon.calendar.noevents' | translate">
            </core-empty-box>

            <ion-list *ngIf="filteredEvents && filteredEvents.length" no-margin>
                <ng-container *ngFor="let event of filteredEvents">
                    <ion-item-divider *ngIf="event.showDate">
                        {{ event.timestart * 1000 | coreFormatDate: "strftimedayshort" }}
                    </ion-item-divider>
                    <a ion-item text-wrap [title]="event.name" (click)="gotoEvent(event.id)" [class.core-split-item-selected]="event.id == eventId">
                        <img *ngIf="event.moduleIcon" src="{{event.moduleIcon}}" item-start class="core-module-icon">
                        <core-icon *ngIf="event.icon && !event.moduleIcon" [name]="event.icon" item-start></core-icon>
                        <h2><core-format-text [text]="event.name"></core-format-text></h2>
                        <p>
                            {{ event.timestart * 1000 | coreFormatDate: "strftimetime" }}
                            <span *ngIf="event.timeduration && event.endsSameDay"> - {{ (event.timestart + event.timeduration) * 1000 | coreFormatDate: "strftimetime" }}</span>
                            <span *ngIf="event.timeduration && !event.endsSameDay"> - {{ (event.timestart + event.timeduration) * 1000 | coreFormatDate: "strftimedatetimeshort" }}</span>
                        </p>
                    </a>
                </ng-container>
            </ion-list>

            <core-infinite-loading [enabled]="canLoadMore" (action)="loadMoreEvents($event)" [error]="loadMoreError"></core-infinite-loading>
        </core-loading>
    </ion-content>
</core-split-view>