<!-- Buttons to add to the header. --> <core-navbar-buttons slot="end"> <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> <ion-icon name="fas-info-circle" slot="icon-only" aria-hidden="true"></ion-icon> </ion-button> </core-navbar-buttons> <!-- Content. --> <core-loading [hideUntil]="!showLoading"> <!-- Activity info. --> <core-course-module-info [module]="module" [description]="displayDescription && description" [component]="component" [componentId]="componentId" [courseId]="courseId" (completionChanged)="onCompletionChange()"> </core-course-module-info> <ion-card class="core-warning-card" *ngIf="warning"> <ion-item> <ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon> <ion-label><span [innerHTML]="warning"></span></ion-label> </ion-item> </ion-card> <div class="ion-padding"> <core-format-text [component]="component" [componentId]="componentId" [text]="contents" contextLevel="module" [contextInstanceId]="module.id" [courseId]="courseId"> </core-format-text> <p class="ion-padding-bottom addon-mod_page-timemodified" *ngIf="displayTimemodified && timemodified"> {{ 'core.lastmodified' | translate}}: {{ timemodified! * 1000 | coreFormatDate }} </p> </div> </core-loading> <core-course-module-navigation collapsible-footer appearOnBottom [hidden]="showLoading" [courseId]="courseId" [currentModuleId]="module.id"> </core-course-module-navigation>