MOBILE-4279 fonts: Update Font-awesome names to 6.3

main
Pau Ferrer Ocaña 2023-03-14 14:08:09 +01:00
parent 8ad85b0f15
commit 902288dd0f
147 changed files with 283 additions and 280 deletions

View File

@ -75,7 +75,7 @@
</ion-col>
<ion-col size="auto" *ngIf="sort.enabled">
<core-combobox [label]="'core.sortby' | translate" [selection]="sort.selected" (onChange)="sortCourses($event)"
icon="fas-sort-amount-down-alt">
icon="fas-arrow-down-short-wide">
<ion-select-option class="ion-text-wrap" value="fullname">
{{'addon.block_myoverview.title' | translate}}
</ion-select-option>
@ -94,7 +94,7 @@
</ion-button>
<ion-button *ngIf="layout == 'list'" fill="outline" (click)="toggleLayout('card')"
[attr.aria-label]="'addon.block_myoverview.aria:card' | translate">
<ion-icon slot="icon-only" name="fas-th" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-table-cells-large" aria-hidden="true"></ion-icon>
</ion-button>
</ion-col>
</ion-row>
@ -114,7 +114,7 @@
{{'addon.block_myoverview.nocoursesenrolleddescription' | translate}}
</p>
<ion-button (click)="openSearch()" fill="outline">
<ion-icon name="fas-search" slot="start" aria-hidden="true">
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true">
</ion-icon>
{{'addon.block_myoverview.browseallcourses' | translate}}
</ion-button>

View File

@ -35,7 +35,7 @@
</ion-col>
<ion-col size="auto">
<core-combobox [label]="'core.sortby' | translate" [formControl]="sort" (onChange)="sortChanged($event)"
icon="fas-sort-amount-down-alt">
icon="fas-arrow-down-short-wide">
<ion-select-option *ngFor="let option of sortOptions" class="ion-text-wrap" [value]="option.value">
{{ option.name | translate }}
</ion-select-option>

View File

@ -2,7 +2,7 @@
<ion-toolbar>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -54,7 +54,7 @@
<!-- There is data to be synchronized -->
<ion-card class="core-warning-card list-item-limited-width" *ngIf="day.hasOffline">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate:{$a: 'core.day' | translate} }}</ion-label>
</ion-item>
</ion-card>

View File

@ -16,12 +16,12 @@
[iconAction]="syncIcon" [closeOnClick]="false">
</core-context-menu-item>
<core-context-menu-item [hidden]="!event || !event.canedit || event.deleted || (!canEdit && event.id > 0)" [priority]="300"
[content]="'core.edit' | translate" (action)="openEdit()" iconAction="fas-edit">
[content]="'core.edit' | translate" (action)="openEdit()" iconAction="fas-pen-to-square">
</core-context-menu-item>
<core-context-menu-item [hidden]="!event || !event.candelete || event.deleted" [priority]="200"
[content]="'core.delete' | translate" (action)="deleteEvent()" iconAction="fas-trash"></core-context-menu-item>
<core-context-menu-item [hidden]="!event || !event.deleted" [priority]="200" [content]="'core.restore' | translate"
(action)="undoDelete()" iconAction="fas-undo-alt"></core-context-menu-item>
(action)="undoDelete()" iconAction="fas-rotate-left"></core-context-menu-item>
</core-context-menu>
</ion-buttons>
</ion-toolbar>
@ -34,7 +34,7 @@
<!-- There is data to be synchronized -->
<ion-card class="core-warning-card" *ngIf="hasOffline || (event && event.deleted)">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate:{$a: 'addon.calendar.calendarevent' | translate} }}</ion-label>
</ion-item>
</ion-card>

View File

@ -12,11 +12,11 @@
</ion-button>
<core-context-menu>
<core-context-menu-item *ngIf="showCalendar" [priority]="800" [content]="'addon.calendar.upcomingevents' | translate"
iconAction="fas-th-list" (action)="toggleDisplay()"></core-context-menu-item>
iconAction="fas-table-list" (action)="toggleDisplay()"></core-context-menu-item>
<core-context-menu-item *ngIf="!showCalendar" [priority]="800" [content]="'addon.calendar.monthlyview' | translate"
iconAction="fas-calendar-alt" (action)="toggleDisplay()"></core-context-menu-item>
iconAction="fas-calendar-days" (action)="toggleDisplay()"></core-context-menu-item>
<core-context-menu-item [priority]="600" [content]="'core.settings.settings' | translate" (action)="openSettings()"
iconAction="fas-cogs">
iconAction="fas-gears">
</core-context-menu-item>
<core-context-menu-item [hidden]="!loaded || !hasOffline || !isOnline" [priority]="400"
[content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(undefined, $event, true)"
@ -34,7 +34,7 @@
<!-- There is data to be synchronized -->
<ion-card class="core-warning-card" *ngIf="hasOffline">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate:{$a: 'addon.calendar.calendar' | translate} }}</ion-label>
</ion-item>
</ion-card>

View File

@ -101,7 +101,7 @@
<ion-card class="core-warning-card" *ngIf="!tracked">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.coursecompletion.nottracked' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -65,7 +65,7 @@ export class AddonCourseCompletionUserHandlerService implements CoreUserProfileH
*/
getDisplayData(): CoreUserProfileHandlerData {
return {
icon: 'fas-tasks',
icon: 'fas-list-check',
title: 'addon.coursecompletion.coursecompletion',
class: 'addon-coursecompletion-handler',
action: (event, user, context, contextId): void => {

View File

@ -48,7 +48,7 @@ export class AddonMessageOutputAirnotifierHandlerService implements AddonMessage
return {
priority: 600,
label: 'addon.messageoutput_airnotifier.processorsettingsdesc',
icon: 'fas-cog',
icon: 'fas-gear',
page: AddonMessageOutputAirnotifierHandlerService.PAGE_NAME,
};
}

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -8,7 +8,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="gotoSearch()" [attr.aria-label]="'addon.messages.searchcombined' | translate">
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu></core-context-menu>

View File

@ -24,9 +24,9 @@
<core-navbar-buttons slot="end">
<core-context-menu [attr.aria-label]="'addon.messages.conversationactions' | translate">
<core-context-menu-item [hidden]="isSelf || !showInfo || isGroup" [priority]="1000"
[content]="'addon.messages.info' | translate" (action)="viewInfo()" iconAction="fas-info-circle"></core-context-menu-item>
[content]="'addon.messages.info' | translate" (action)="viewInfo()" iconAction="fas-circle-info"></core-context-menu-item>
<core-context-menu-item [hidden]="isSelf || !showInfo || !isGroup" [priority]="1000"
[content]="'addon.messages.groupinfo' | translate" (action)="viewInfo()" iconAction="fas-info-circle">
[content]="'addon.messages.groupinfo' | translate" (action)="viewInfo()" iconAction="fas-circle-info">
</core-context-menu-item>
<core-context-menu-item [hidden]="!groupMessagingEnabled || !conversation" [priority]="800" (action)="changeFavourite($event)"
[closeOnClick]="false" [content]="(conversation && conversation.isfavourite ? 'addon.messages.removefromfavourites' :

View File

@ -89,7 +89,7 @@
<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="fas-search"
<core-empty-box *ngIf="(!search.results || search.results.length <= 0) && search.showResults" icon="fas-magnifying-glass"
[message]="'core.noresults' | translate"></core-empty-box>
</core-loading>
</core-split-view>

View File

@ -8,10 +8,10 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="gotoSearch()" [attr.aria-label]="'addon.messages.searchcombined' | translate">
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button (click)="gotoSettings()" [attr.aria-label]="'addon.messages.messagepreferences' | translate">
<ion-icon name="fas-cog" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-gear" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu></core-context-menu>
@ -169,7 +169,7 @@
<core-format-text [text]="conversation.name" contextLevel="system" [contextInstanceId]="0"></core-format-text>
<ion-icon name="fas-user-slash" *ngIf="conversation.isblocked" [title]="'addon.messages.contactblocked' | translate">
</ion-icon>
<ion-icon *ngIf="conversation.ismuted" name="fas-volume-mute" [title]="'addon.messages.mutedconversation' | translate">
<ion-icon *ngIf="conversation.ismuted" name="fas-volume-xmark" [title]="'addon.messages.mutedconversation' | translate">
</ion-icon>
</p>
<ion-note *ngIf="conversation.lastmessagedate > 0 || conversation.unreadcount">

View File

@ -28,7 +28,7 @@
</ion-list>
<core-empty-box *ngIf="displayResults && !contacts.results.length && !nonContacts.results.length && !messages.results.length"
icon="fas-search" [message]="'core.noresults' | translate">
icon="fas-magnifying-glass" [message]="'core.noresults' | translate">
</core-empty-box>
</core-loading>
</core-split-view>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -113,7 +113,7 @@
<!-- Ungrouped users. -->
<ion-card *ngIf="assign.teamsubmission && summary && summary.warnofungroupedusers" class="core-info-card">
<ion-item>
<ion-icon name="fas-question-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-question" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_assign.'+summary.warnofungroupedusers | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -3,7 +3,7 @@
<!-- Time limit is over. -->
<ion-card *ngIf="timeLimitFinished" class="core-danger-card">
<ion-item class="ion-text-wrap">
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p>{{ 'addon.mod_assign.caneditsubmission' | translate }}</p>
</ion-label>
@ -264,7 +264,7 @@
</ion-label>
<ion-button slot="end" *ngIf="feedback!.advancedgrade" (click)="showAdvancedGrade()"
[attr.aria-label]="'core.showadvanced' |translate">
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-item>
@ -393,12 +393,12 @@
<!-- Warning message if cannot save grades. -->
<ion-card *ngIf="isGrading && !canSaveGrades" class="core-warning-card">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p>{{ 'addon.mod_assign.cannotgradefromapp' | translate }}</p>
<ion-button expand="block" *ngIf="gradeUrl" [href]="gradeUrl" core-link [showBrowserWarning]="false">
{{ 'core.openinbrowser' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
</ion-label>
</ion-item>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -77,7 +77,7 @@
<ion-card *ngIf="!meetingInfo.canjoin" class="core-warning-card">
<ion-item class="ion-text-wrap">
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ meetingInfo.statusmessage }}</ion-label>
</ion-item>
</ion-card>
@ -102,7 +102,7 @@
</ion-label>
<ion-button slot="end" fill="clear" (click)="playRecording($event, recording)"
[attr.aria-label]="'addon.mod_bigbluebuttonbn.view_recording_list_action_play' | translate">
<ion-icon name="fas-play-circle" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-play" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-item>
<div [hidden]="!recording.expanded" class="addon-mod_bbb-recording-details">

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -25,7 +25,7 @@
<div class="safe-area-padding-horizontal core-swipe-slides-container">
<ion-card class="core-warning-card" *ngIf="warning">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label><span [innerHTML]="warning"></span></ion-label>
</ion-item>
</ion-card>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -28,7 +28,7 @@
<div class="ion-text-center addon-mod_chat-notice" *ngIf="message.special">
<ion-badge class="ion-text-wrap" color="success" *ngIf="message.system && message.message == 'enter'">
<span>
<ion-icon name="fas-sign-in-alt" aria-hidden="true"></ion-icon>
<ion-icon name="fas-right-to-bracket" aria-hidden="true"></ion-icon>
{{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }}
{{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }}
</span>
@ -36,7 +36,7 @@
<ion-badge class="ion-text-wrap" color="danger" *ngIf="message.system && message.message == 'exit'">
<span>
<ion-icon name="fas-sign-out-alt" aria-hidden="true"></ion-icon>
<ion-icon name="fas-right-from-bracket" aria-hidden="true"></ion-icon>
{{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }}
{{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }}
</span>

View File

@ -23,7 +23,7 @@
<div class="ion-text-center addon-mod_chat-notice" *ngIf="message.special">
<ion-badge class="ion-text-wrap" color="success" *ngIf="message.issystem && message.message == 'enter'">
<span>
<ion-icon name="fas-sign-in-alt" aria-hidden="true"></ion-icon>
<ion-icon name="fas-right-to-bracket" aria-hidden="true"></ion-icon>
{{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }}
{{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }}
</span>
@ -31,7 +31,7 @@
<ion-badge class="ion-text-wrap" color="danger" *ngIf="message.issystem && message.message == 'exit'">
<span>
<ion-icon name="fas-sign-out-alt" aria-hidden="true"></ion-icon>
<ion-icon name="fas-right-from-bracket" aria-hidden="true"></ion-icon>
{{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }}
{{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }}
</span>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -15,7 +15,7 @@
<!-- Activity availability messages -->
<ion-card class="core-info-card" *ngIf="choiceNotOpenYet">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p *ngIf="options.length">{{ 'addon.mod_choice.previewonly' | translate:{$a: openTimeReadable} }}</p>
<p *ngIf="!options.length">{{ 'addon.mod_choice.notopenyet' | translate:{$a: openTimeReadable} }}</p>
@ -25,7 +25,7 @@
<ion-card class="core-info-card" *ngIf="choiceClosed">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p *ngIf="options.length">
{{ 'addon.mod_choice.yourselection' | translate }}
@ -40,7 +40,7 @@
<!-- Inform what will happen with the choices. -->
<ion-card class="core-info-card" *ngIf="canEdit && publishInfo && options.length">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ publishInfo | translate }}</ion-label>
</ion-item>
</ion-card>
@ -75,7 +75,7 @@
<ion-row>
<ion-col size="12" size-lg="5">
<ion-item class="ion-text-wrap core-warning-item" *ngIf="hasOffline">
<ion-icon slot="start" name="fas-exclamation-triangle" color="warning" aria-hidden="true"></ion-icon>
<ion-icon slot="start" name="fas-triangle-exclamation" color="warning" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_choice.resultsnotsynced' | translate }}</ion-label>
</ion-item>
<ion-item>
@ -125,7 +125,7 @@
<ion-card class="core-info-card" *ngIf="!canSeeResults && !choiceNotOpenYet">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p>{{ 'addon.mod_choice.noresultsviewable' | translate }}</p>
</ion-label>

View File

@ -1,9 +1,9 @@
<ion-button size="small" *ngIf="action == 'more'" fill="clear" (click)="viewEntry()" [attr.aria-label]="'addon.mod_data.more' | translate">
<ion-icon name="fas-search-plus" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass-plus" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button size="small" *ngIf="action == 'edit'" fill="clear" (click)="editEntry()" [attr.aria-label]="'core.edit' | translate">
<ion-icon name="fas-cog" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-gear" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button size="small" *ngIf="action == 'delete' && !entry.deleted" fill="clear" color="danger" (click)="deleteEntry()"
@ -13,7 +13,7 @@
<ion-button size="small" *ngIf="action == 'delete' && entry.deleted" fill="clear" color="danger" (click)="undoDelete()"
[attr.aria-label]="'core.restore' | translate">
<ion-icon name="fas-undo-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate-left" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button size="small" *ngIf="action == 'approve'" fill="clear" (click)="approveEntry()"

View File

@ -1,7 +1,7 @@
<!-- Buttons to add to the header. -->
<core-navbar-buttons slot="end">
<ion-button *ngIf="canSearch" (click)="showSearch()" [attr.aria-label]="'addon.mod_data.search' | translate">
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<core-context-menu>
<core-context-menu-item [priority]="500" *ngIf="canAdd" [content]="'addon.mod_data.addentries' | translate" iconAction="fas-plus"
@ -13,7 +13,7 @@
</core-context-menu>
<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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -30,21 +30,21 @@
<ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableFrom">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_data.notopenyet' | translate:{$a: timeAvailableFromReadable} }}</ion-label>
</ion-item>
</ion-card>
<ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableTo">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_data.expired' | translate:{$a: timeAvailableToReadable} }}</ion-label>
</ion-item>
</ion-card>
<ion-card class="core-info-card" *ngIf="access && access.entrieslefttoview">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'addon.mod_data.entrieslefttoaddtoview' | translate:{$a: {entrieslefttoview: access.entrieslefttoview} } }}
</ion-label>
@ -53,7 +53,7 @@
<ion-card class="core-info-card" *ngIf="access && access.entrieslefttoadd">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'addon.mod_data.entrieslefttoadd' | translate:{$a: {entriesleft: access.entrieslefttoadd} } }}
</ion-label>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -59,7 +59,7 @@
</ion-list>
<div class="ion-padding">
<ion-button expand="block" type="submit">
<ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_data.search' | translate }}
</ion-button>
</div>

View File

@ -20,7 +20,7 @@
<!-- Database entries found to be synchronized -->
<ion-card class="core-warning-card" *ngIf="entry && entry.hasOffline">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate: {$a: moduleName} }}</ion-label>
</ion-item>
</ion-card>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -39,7 +39,7 @@
*ngIf="access && (access.canedititems || access.canviewreports || !access.isempty)">
<ion-button *ngIf="access.canedititems || access.canviewreports" expand="block" fill="outline"
(click)="gotoAnswerQuestions(true)" class="ion-margin ion-text-wrap">
<ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_feedback.preview' | translate }}
</ion-button>
<ion-button *ngIf="access.cancomplete && access.cansubmit && access.isopen" expand="block" (click)="gotoAnswerQuestions()"
@ -101,7 +101,7 @@
<ion-card class="core-info-card" *ngIf="access && access.cancomplete && !access.isopen">
<ion-item>
<ion-icon name="fas-question-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-question" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_feedback.feedback_is_not_open' | translate }}</ion-label>
</ion-item>
</ion-card>
@ -155,7 +155,7 @@
<ng-container *ngIf="access && (access.canedititems || !access.isempty)">
<ion-card class="core-info-card" *ngIf="warning">
<ion-item>
<ion-icon name="fas-question-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-question" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ warning }}</ion-label>
</ion-item>
</ion-card>

View File

@ -102,7 +102,7 @@
</core-recaptcha>
<div *ngIf="!preview && (!item.captcha || offline)" class="core-warning-card">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_feedback.captchaofflinewarning' | translate }}</ion-label>
</ion-item>
</div>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu></core-context-menu>
@ -31,7 +31,7 @@
<!-- Cut-off date or due date message -->
<ion-card class="core-info-card" *ngIf="availabilityMessage">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ availabilityMessage }}</ion-label>
</ion-item>
</ion-card>
@ -39,7 +39,7 @@
<!-- Q&A message. -->
<ion-card class="core-info-card" *ngIf="showQAMessage">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_forum.qandanotify' | translate }}</ion-label>
</ion-item>
</ion-card>
@ -47,7 +47,7 @@
<!-- Cannot add discussion to group messages. -->
<ion-card class="core-info-card" *ngIf="usesGroups && canAddDiscussion && !canAddDiscussionToGroup">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<span *ngIf="groupId <= 0">{{ 'addon.mod_forum.cannotadddiscussionall' | translate }}</span>
<span *ngIf="groupId > 0">{{ 'addon.mod_forum.cannotadddiscussion' | translate }}</span>
@ -67,7 +67,7 @@
[message]="'addon.mod_forum.forumnodiscussionsyet' | translate">
</core-empty-box>
<core-empty-box *ngIf="errorLoadingDiscussions" icon="fas-exclamation-triangle"
<core-empty-box *ngIf="errorLoadingDiscussions" icon="fas-triangle-exclamation"
[message]="'addon.mod_forum.errorloadingsortingorder' | translate">
<p>{{ 'addon.mod_forum.errorloadingsortingorderdetails' | translate }}</p>
</core-empty-box>

View File

@ -13,7 +13,7 @@
</ion-label>
</ion-item>
<ion-item class="ion-text-wrap" [href]="url" *ngIf="url" core-link capture="false" button detail="false" [showBrowserWarning]="false">
<ion-icon name="fas-external-link-alt" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p class="item-heading">{{ 'core.openinbrowser' | translate }}</p>
</ion-label>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -31,7 +31,7 @@
[content]="'addon.mod_forum.modeflatnewestfirst' | translate" iconAction="fas-arrow-up" (action)="changeSort('flat-newest')">
</core-context-menu-item>
<core-context-menu-item [hidden]="sort == 'nested'" [priority]="400" [content]="'addon.mod_forum.modenested' | translate"
iconAction="fas-exchange-alt" (action)="changeSort('nested')">
iconAction="fas-right-left" (action)="changeSort('nested')">
</core-context-menu-item>
<core-context-menu-item [hidden]="!discussion || !discussion.canlock || discussion.locked" [priority]="300"
[content]="'addon.mod_forum.lockdiscussion' | translate" iconAction="fas-lock" (action)="setLockState(true)">
@ -54,7 +54,7 @@
(action)="toggleFavouriteState(false)">
</core-context-menu-item>
<core-context-menu-item [hidden]="!externalUrl" [priority]="100" [content]="'core.openinbrowser' | translate" [href]="externalUrl"
iconAction="fas-external-link-alt" [showBrowserWarning]="false"></core-context-menu-item>
iconAction="fas-up-right-from-square" [showBrowserWarning]="false"></core-context-menu-item>
</core-context-menu>
</core-navbar-buttons>
<ion-content [core-swipe-navigation]="discussions" class="limited-width">
@ -66,7 +66,7 @@
<!-- Discussion replies found to be synchronized -->
<ion-card class="core-warning-card" *ngIf="postHasOffline || hasOfflineRatings">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate:{$a: discussionStr} }}</ion-label>
</ion-item>
</ion-card>
@ -74,7 +74,7 @@
<!-- Cut-off date or due date message -->
<ion-card class="core-info-card" *ngIf="availabilityMessage">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ availabilityMessage }}</ion-label>
</ion-item>
</ion-card>
@ -89,7 +89,7 @@
<!-- Q&A message. -->
<ion-card class="core-info-card" *ngIf="showQAMessage">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_forum.qandanotify' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -67,7 +67,7 @@
</core-attachments>
</div>
<ion-item *ngIf="showGroups && groupName && !newDiscussion.postToAllGroups" class="addon-forum-group-info">
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_forum.postingroup' | translate:{groupname: groupName} }}</ion-label>
</ion-item>
<ion-item class="addon-forum-new-discussion-buttons">

View File

@ -6,12 +6,12 @@
</ion-button>
<ion-button *ngIf="!showLoading && glossary" (click)="toggleSearch()" [attr.aria-label]="'addon.mod_glossary.bysearch' | translate">
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button *ngIf="!showLoading" 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -11,7 +11,7 @@
</core-context-menu>
<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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -26,7 +26,7 @@
<!-- Offline disabled. -->
<ion-card class="core-warning-card" *ngIf="!siteCanDownload && playing">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'core.h5p.offlinedisabled' | translate }} {{ 'addon.mod_h5pactivity.offlinedisabledwarning' | translate }}
</ion-label>
@ -36,7 +36,7 @@
<!-- Preview mode. -->
<ion-card class="core-warning-card" *ngIf="accessInfo && !trackComponent">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'addon.mod_h5pactivity.previewmode' | translate }}
</ion-label>

View File

@ -65,7 +65,7 @@
<ion-label>
<p class="item-heading">{{ 'addon.mod_h5pactivity.outcome' | translate }}</p>
<p *ngIf="attempt.success !== null && attempt.success">
<ion-icon name="fas-check-circle" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-check" aria-hidden="true"></ion-icon>
{{ 'addon.mod_h5pactivity.attempt_success_pass' | translate }}
</p>
<p *ngIf="attempt.success !== null && !attempt.success">
@ -152,7 +152,7 @@
<!-- Result doesn't support tracking. -->
<ion-item class="ion-text-wrap core-warning-item" *ngIf="!result.track">
<ion-icon slot="start" name="fas-exclamation-triangle" color="warning" aria-hidden="true"></ion-icon>
<ion-icon slot="start" name="fas-triangle-exclamation" color="warning" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'addon.mod_h5pactivity.no_compatible_track' | translate:{$a: result.interactiontype} }}
</ion-label>
@ -171,7 +171,7 @@
{{ answer.answer }}
</p>
<p *ngIf="answer.incorrect">
<ion-icon name="fas-times" [attr.aria-label]="'addon.mod_h5pactivity.answer_incorrect' | translate" color="danger">
<ion-icon name="fas-xmark" [attr.aria-label]="'addon.mod_h5pactivity.answer_incorrect' | translate" color="danger">
</ion-icon>
{{ answer.answer }}
</p>
@ -179,7 +179,7 @@
{{ answer.answer }}
</p>
<p *ngIf="answer.checked">
<ion-icon name="fas-check-circle" [attr.aria-label]="'addon.mod_h5pactivity.answer_checked' | translate">
<ion-icon name="fas-circle-check" [attr.aria-label]="'addon.mod_h5pactivity.answer_checked' | translate">
</ion-icon>
</p>
<p *ngIf="answer.pass">
@ -187,7 +187,7 @@
</ion-icon>
</p>
<p *ngIf="answer.fail">
<ion-icon name="fas-times" [attr.aria-label]="'addon.mod_h5pactivity.answer_fail' | translate" color="danger">
<ion-icon name="fas-xmark" [attr.aria-label]="'addon.mod_h5pactivity.answer_fail' | translate" color="danger">
</ion-icon>
</p>
</ng-template>

View File

@ -101,7 +101,7 @@
[alt]="'addon.mod_h5pactivity.attempt_completion_no' | translate">
</ion-col>
<ion-col class="ion-text-center addon-mod_h5pactivity-table-success-col">
<ion-icon *ngIf="attempt.success !== null && attempt.success" name="fas-check-circle"
<ion-icon *ngIf="attempt.success !== null && attempt.success" name="fas-circle-check"
[attr.aria-label]="'addon.mod_h5pactivity.attempt_success_pass' | translate">
</ion-icon>
<ion-icon *ngIf="attempt.success !== null && !attempt.success" name="far-circle"

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -23,7 +23,7 @@
<ion-card class="core-warning-card" *ngIf="warning">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label><span [innerHTML]="warning"></span></ion-label>
</ion-item>
</ion-card>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -20,7 +20,7 @@
<!-- Prevent access messages. Only show the first one. -->
<ion-card class="core-info-card" *ngIf="lesson && preventReasons.length">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label [innerHTML]="preventReasons[0].message"></ion-label>
</ion-item>
</ion-card>
@ -263,7 +263,7 @@
{{ 'core.start' | translate }}
</ion-button>
<ion-button class="ion-text-wrap ion-margin" expand="block" fill="outline" *ngIf="canManage" (click)="start(false)">
<ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_lesson.preview' | translate }}
</ion-button>
</ng-container>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -22,7 +22,7 @@
<!-- Info messages. Only show the first one. -->
<ion-card class="core-info-card" *ngIf="lesson && messages?.length">
<ion-item class="ion-text-wrap">
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ messages[0].message }}</ion-label>
</ion-item>
</ion-card>
@ -183,7 +183,7 @@
</ion-item>
<ion-card class="core-info-card" *ngIf="lesson?.progressbar && canManage">
<ion-item class="ion-text-wrap">
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_lesson.progressbarteacherwarning2' | translate }}</ion-label>
</ion-item>
</ion-card>
@ -192,7 +192,7 @@
<!-- End of lesson reached. -->
<ion-card class="core-warning-card" *ngIf="eolData && !processData && eolData.offline?.value">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_lesson.finishretakeoffline' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -17,7 +17,7 @@
<div class="list-item-limited-width">
<ion-button expand="block" (click)="launch()" class="ion-margin ion-text-wrap">
{{ 'addon.mod_lti.launchactivity' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
</div>

View File

@ -60,7 +60,7 @@ export class AddonModLtiModuleHandlerService extends CoreModuleHandlerBase imple
const data = await super.getData(module, courseId, sectionId, forCoursePage);
data.showDownloadButton = false;
data.buttons = [{
icon: 'fas-external-link-alt',
icon: 'fas-up-right-from-square',
label: 'addon.mod_lti.launchactivity',
action: (event: Event, module: CoreCourseModuleData, courseId: number): void => {
// Launch the LTI.

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -15,7 +15,7 @@
<ion-card class="core-warning-card" *ngIf="warning">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label><span [innerHTML]="warning"></span></ion-label>
</ion-item>
</ion-card>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -209,7 +209,7 @@
unsupportedRules.length || behaviourSupported === false)" expand="block" [href]="module.url" core-link
[showBrowserWarning]="false">
{{ 'core.openinbrowser' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
</div>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -22,18 +22,18 @@
<span *ngIf="!question.number">{{ 'core.question.information' | translate }}</span>
</ion-label>
<ion-icon *ngIf="!question.number" name="fas-info-circle" slot="end" aria-hidden="true"></ion-icon>
<ion-icon *ngIf="question.stateClass == 'core-question-requiresgrading'" name="fas-question-circle"
<ion-icon *ngIf="!question.number" name="fas-circle-info" slot="end" aria-hidden="true"></ion-icon>
<ion-icon *ngIf="question.stateClass == 'core-question-requiresgrading'" name="fas-circle-question"
[attr.aria-label]="question.status" slot="end">
</ion-icon>
<ion-icon *ngIf="question.stateClass == 'core-question-correct'" name="fas-check" color="success"
[attr.aria-label]="question.status" slot="end">
</ion-icon>
<ion-icon *ngIf="question.stateClass == 'core-question-partiallycorrect'" name="fas-check-square" color="warning"
<ion-icon *ngIf="question.stateClass == 'core-question-partiallycorrect'" name="fas-square-check" color="warning"
[attr.aria-label]="question.status" slot="end">
</ion-icon>
<ion-icon *ngIf="question.stateClass == 'core-question-incorrect' ||
question.stateClass == 'core-question-notanswered'" name="fas-times" color="danger" [attr.aria-label]="question.status"
question.stateClass == 'core-question-notanswered'" name="fas-xmark" color="danger" [attr.aria-label]="question.status"
slot="end">
</ion-icon>
</ion-item>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -64,7 +64,7 @@
<div collapsible-footer appearOnBottom *ngIf="loaded && attempt && showReviewColumn && attempt.finished" slot="fixed">
<div class="list-item-limited-width">
<ion-button class="ion-margin ion-text-wrap" expand="block" (click)="reviewAttempt()">
<ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_quiz.review' | translate }}
</ion-button>
</div>

View File

@ -15,7 +15,7 @@
<ion-button fill="clear" id="addon-mod_quiz-connection-error-button" [hidden]="!autoSaveError"
(click)="showConnectionError($event)" [attr.aria-label]="'addon.mod_quiz.connectionerror' | translate"
aria-haspopup="dialog">
<ion-icon name="fas-exclamation-circle" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-exclamation" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button *ngIf="navigation.length" [attr.aria-label]="'addon.mod_quiz.opentoc' | translate" (click)="openNavigation()">
<ion-icon name="fas-bookmark" slot="icon-only" aria-hidden="true"></ion-icon>
@ -154,7 +154,7 @@
<ion-button *ngIf="preventSubmitMessages.length" expand="block" class="ion-margin ion-text-wrap" [href]="moduleUrl"
core-link [showBrowserWarning]="false">
{{ 'core.openinbrowser' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Button to submit the quiz. -->

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -15,7 +15,7 @@
<ion-card class="core-warning-card" *ngIf="warning">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label><span [innerHTML]="warning"></span></ion-label>
</ion-item>
</ion-card>
@ -66,7 +66,7 @@
<ion-grid *ngIf="currentStatus === outdatedStatus" class="addon-mod_resource-outdated">
<ion-row class="ion-align-items-center">
<ion-col size="auto">
<ion-icon color="warning" name="fas-exclamation-triangle" aria-hidden="true"></ion-icon>
<ion-icon color="warning" name="fas-triangle-exclamation" aria-hidden="true"></ion-icon>
</ion-col>
<ion-col>
<p><strong>{{ 'addon.mod_resource.resourcestatusoutdated' | translate }}</strong></p>
@ -83,7 +83,7 @@
<div class="list-item-limited-width" *ngIf="mode == 'external'">
<ion-button *ngIf="isIOS && (!shouldOpenInBrowser || !isOnline)" expand="block" fill="outline"
(click)="open(openFileAction.OPEN_WITH)" class="ion-margin ion-text-wrap">
<ion-icon name="far-share-square" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="far-share-from-square" slot="start" aria-hidden="true"></ion-icon>
{{ 'core.openwith' | translate }}
</ion-button>

View File

@ -83,7 +83,7 @@ export class AddonModResourceModuleHandlerService extends CoreModuleHandlerBase
};
handlerData.buttons = [{
hidden: true,
icon: openWithPicker ? 'fas-share-square' : 'fas-file',
icon: openWithPicker ? 'fas-share-from-square' : 'fas-file',
label: module.name + ': ' + Translate.instant(openWithPicker ? 'core.openwith' : 'addon.mod_resource.openthefile'),
action: async (event: Event, module: CoreCourseModuleData, courseId: number): Promise<void> => {
const hide = await this.hideOpenButton(module);

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -16,7 +16,7 @@
<!-- Warning message. -->
<ion-card class="core-info-card" *ngIf="scorm && scorm.warningMessage">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ scorm.warningMessage }}</ion-label>
</ion-item>
</ion-card>
@ -168,7 +168,7 @@
</ion-item>
<ion-button class="ion-margin ion-text-wrap" expand="block" [href]="module.url" core-link [showBrowserWarning]="false">
{{ 'core.openinbrowser' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
</ng-container>
@ -201,7 +201,7 @@
<!-- Open mode (Preview or Normal) -->
<ion-button *ngIf="!scorm.hidebrowse" expand="block" fill="outline" (click)="open($event, true)"
class="ion-text-wrap ion-margin">
<ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-magnifying-glass" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_scorm.browse' | translate }}
</ion-button>
<ion-button expand="block" (click)="open($event)" class="ion-text-wrap ion-margin">

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -49,17 +49,17 @@ const STATUSES = {
'n': 'notattempted',
};
const STATUS_TO_ICON = {
assetc: 'far-file-archive',
asset: 'far-file-archive',
assetc: 'far-file-zipper',
asset: 'far-file-zipper',
browsed: 'fas-book',
completed: 'far-check-square',
failed: 'fas-times',
incomplete: 'far-edit',
completed: 'far-square-check',
failed: 'fas-xmark',
incomplete: 'far-pen-to-square',
minus: 'fas-minus',
notattempted: 'far-square',
passed: 'fas-check',
plus: 'fas-plus',
popdown: 'far-window-close',
popdown: 'far-rectangle-xmark',
popup: 'fas-window-restore',
suspend: 'fas-pause',
wait: 'far-clock',

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -120,7 +120,7 @@
<div class="list-item-limited-width" *ngIf="survey && (survey.surveydone || (!hasOffline && questions && questions.length))">
<ion-button class="ion-text-wrap ion-margin" expand="block" [href]="module.url" core-link *ngIf="survey.surveydone">
{{ 'addon.mod_survey.results' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button expand="block" class="ion-text-wrap ion-margin" (click)="submit()" [disabled]="!isValidResponse()"

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>

View File

@ -14,7 +14,7 @@
<core-context-menu>
<core-context-menu-item *ngIf="canEdit && (isOnline || pageIsOffline)" [priority]="590" [content]="'core.edit' | translate"
iconAction="fas-edit" (action)="goToEditPage()">
iconAction="fas-pen-to-square" (action)="goToEditPage()">
</core-context-menu-item>
<core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="fas-plus"
(action)="goToNewPage()">
@ -22,7 +22,7 @@
</core-context-menu>
<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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -38,7 +38,7 @@
<!-- Wiki has something offline. -->
<ion-card class="core-warning-card" *ngIf="pageIsOffline || hasOffline">
<ion-item class="ion-text-wrap">
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<span *ngIf="pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: pageStr} }}</span>
<span *ngIf="!pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: moduleName} }}</span>
@ -49,7 +49,7 @@
<!-- Page warning. -->
<ion-card class="core-warning-card" *ngIf="pageWarning">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ pageWarning }}</ion-label>
</ion-item>
</ion-card>
@ -60,7 +60,7 @@
<core-format-text *ngIf="pageContent" [component]="component" [componentId]="componentId" [text]="pageContent"
contextLevel="module" [contextInstanceId]="module.id" [courseId]="courseId">
</core-format-text>
<core-empty-box *ngIf="!pageContent" icon="fas-file-alt" [message]="'addon.mod_wiki.nocontent' | translate">
<core-empty-box *ngIf="!pageContent" icon="fas-file-lines" [message]="'addon.mod_wiki.nocontent' | translate">
</core-empty-box>
</article>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -15,7 +15,7 @@
<ion-list>
<!-- Go to "home". -->
<ion-item class="ion-text-wrap" *ngIf="homeView" (click)="goToWikiHome()" button detail="true">
<ion-icon name="fas-home" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-house" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'addon.mod_wiki.gowikihome' | translate }}</ion-label>
</ion-item>
<ng-container *ngFor="let letter of map">
@ -26,7 +26,7 @@
</ion-item-divider>
<ion-item class="ion-text-wrap" *ngFor="let page of letter.pages" (click)="goToPage(page)"
[attr.aria-current]="selectedTitle == page.title ? 'page' : 'false'" button detail="false">
<ion-icon name="fas-home" slot="start" *ngIf="page.firstpage" aria-hidden="true"></ion-icon>
<ion-icon name="fas-house" slot="start" *ngIf="page.firstpage" aria-hidden="true"></ion-icon>
<ion-label>
<core-format-text [text]="page.title" contextLevel="module" [contextInstanceId]="moduleId" [courseId]="courseId">
</core-format-text>

View File

@ -1,7 +1,7 @@
<!-- 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-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
@ -24,17 +24,17 @@
<ion-item button class="ion-text-wrap" *ngFor="let task of phases[workshop!.phase].tasks"
[class.item-dimmed]="task.code == 'submit' && !showSubmit" (click)="runTask(task)" detail="false">
<ion-icon slot="start" name="far-circle" *ngIf="task.completed == null" aria-hidden="true"></ion-icon>
<ion-icon slot="start" name="fas-times-circle" color="danger" *ngIf="task.completed == ''" aria-hidden="true">
<ion-icon slot="start" name="fas-circle-xmark" color="danger" *ngIf="task.completed == ''" aria-hidden="true">
</ion-icon>
<ion-icon slot="start" name="fas-info-circle" color="info" *ngIf="task.completed == 'info'" aria-hidden="true">
<ion-icon slot="start" name="fas-circle-info" color="info" *ngIf="task.completed == 'info'" aria-hidden="true">
</ion-icon>
<ion-icon slot="start" name="fas-check-circle" color="success" *ngIf="task.completed == '1'" aria-hidden="true">
<ion-icon slot="start" name="fas-circle-check" color="success" *ngIf="task.completed == '1'" aria-hidden="true">
</ion-icon>
<ion-label>
<p class="item-heading">{{task.title}}</p>
<p *ngIf="task.details" [innerHTML]="task.details"></p>
</ion-label>
<ion-icon slot="end" *ngIf="task.link && task.code != 'submit'" name="fas-external-link-alt" aria-hidden="true">
<ion-icon slot="end" *ngIf="task.link && task.code != 'submit'" name="fas-up-right-from-square" aria-hidden="true">
</ion-icon>
</ion-item>
</ng-container>
@ -220,7 +220,7 @@
</ion-button>
<ion-button expand="block" *ngIf="access.modifyingsubmissionallowed && submission" (click)="gotoSubmit()"
class="ion-text-wrap ion-margin">
<ion-icon slot="start" name="fas-edit" aria-hidden="true"></ion-icon>
<ion-icon slot="start" name="fas-pen-to-square" aria-hidden="true"></ion-icon>
{{ 'addon.mod_workshop.editsubmission' | translate }}
</ion-button>
</div>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -22,28 +22,28 @@
</ion-label>
</ion-item-divider>
<ion-item class="ion-text-wrap" *ngIf="phase.switchUrl" [href]="phase.switchUrl" detail="false">
<ion-icon slot="start" name="fas-exchange-alt" aria-hidden="true"></ion-icon>
<ion-icon slot="start" name="fas-right-left" aria-hidden="true"></ion-icon>
<ion-label>
<p>{{ 'addon.mod_workshop.switchphase' + phase.code | translate }}</p>
</ion-label>
<ion-icon slot="end" name="fas-external-link-alt" aria-hidden="true"></ion-icon>
<ion-icon slot="end" name="fas-up-right-from-square" aria-hidden="true"></ion-icon>
</ion-item>
<ion-item class="ion-text-wrap" *ngFor="let task of phase.tasks"
[class.item-dimmed]="phase.code != workshopPhase || (task.code == 'submit' && !showSubmit)" (click)="runTask(task)"
detail="false" button>
<ion-icon slot="start" name="far-circle" *ngIf="task.completed == null"
[attr.aria-label]="'addon.mod_workshop.tasktodo' | translate"></ion-icon>
<ion-icon slot="start" name="fas-times-circle" color="danger" *ngIf="task.completed == ''"
<ion-icon slot="start" name="fas-circle-xmark" color="danger" *ngIf="task.completed == ''"
[attr.aria-label]="'addon.mod_workshop.taskfail' | translate"></ion-icon>
<ion-icon slot="start" name="fas-info-circle" color="info" *ngIf="task.completed == 'info'"
<ion-icon slot="start" name="fas-circle-info" color="info" *ngIf="task.completed == 'info'"
[attr.aria-label]="'addon.mod_workshop.taskinfo' | translate"></ion-icon>
<ion-icon slot="start" name="fas-check-circle" color="success" *ngIf="task.completed == '1'"
<ion-icon slot="start" name="fas-circle-check" color="success" *ngIf="task.completed == '1'"
[attr.aria-label]="'addon.mod_workshop.taskdone' | translate"></ion-icon>
<ion-label>
<p class="item-heading ion-text-wrap">{{task.title}}</p>
<p *ngIf="task.details" [innerHTML]="task.details"></p>
</ion-label>
<ion-icon slot="end" *ngIf="task.link && task.code != 'submit'" name="fas-external-link-alt" aria-hidden="true">
<ion-icon slot="end" *ngIf="task.link && task.code != 'submit'" name="fas-up-right-from-square" aria-hidden="true">
</ion-icon>
</ion-item>
</ng-container>

View File

@ -33,7 +33,7 @@
<ion-item class="ion-text-wrap" *ngIf="canEdit || canDelete">
<ion-label>
<ion-button expand="block" *ngIf="canEdit" (click)="editSubmission()">
<ion-icon name="fas-edit" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-pen-to-square" slot="start" aria-hidden="true"></ion-icon>
{{ 'addon.mod_workshop.editsubmission' | translate }}
</ion-button>
<ion-button expand="block" *ngIf="!submission.deleted && canDelete" color="danger" (click)="deleteSubmission()">
@ -42,7 +42,7 @@
</ion-button>
<ion-button expand="block" fill="outline" *ngIf="submission.deleted && canDelete" color="danger"
(click)="undoDeleteSubmission()">
<ion-icon name="fas-undo-alt" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate-left" slot="start" aria-hidden="true"></ion-icon>
{{ 'core.restore' | translate }}
</ion-button>
</ion-label>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -52,7 +52,7 @@
<ion-card class="core-warning-card" *ngIf="hasOffline">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'core.thereisdatatosync' | translate:{$a: 'addon.notes.notes' | translate | lowercase } }}
</ion-label>
@ -84,7 +84,7 @@
</p>
<ion-button *ngIf="note.deleted" slot="end" fill="clear" color="danger" (click)="undoDeleteNote($event, note)"
[attr.aria-label]="'core.restore' | translate">
<ion-icon name="fas-undo-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate-left" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<ion-button *ngIf="showDelete && !note.deleted && (type != 'personal' || note.usermodified == currentUserId)" slot="end"
fill="clear" [@coreSlideInOut]="'fromRight'" color="danger" (click)="deleteNote($event, note)"

View File

@ -6,7 +6,7 @@
<ion-label>
<ion-card *ngIf="!question.readOnly" class="core-info-card">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -6,7 +6,7 @@
<ion-label>
<ion-card *ngIf="!question.readOnly" class="core-info-card">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -5,7 +5,7 @@
<div class="fake-ion-item ion-text-wrap" [hidden]="!question.loaded">
<ion-card *ngIf="!question.readOnly" class="core-info-card">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -24,7 +24,7 @@
</ion-select>
<ion-icon *ngIf="row.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success" slot="end"
[attr.aria-label]="'core.question.correct' | translate"></ion-icon>
<ion-icon *ngIf="row.isCorrect === 0" class="core-correct-icon" name="fas-times" color="danger" slot="end"
<ion-icon *ngIf="row.isCorrect === 0" class="core-correct-icon" name="fas-xmark" color="danger" slot="end"
[attr.aria-label]="'core.question.incorrect' | translate"></ion-icon>
</ion-item>
</section>

View File

@ -35,7 +35,7 @@
<ion-icon *ngIf="option.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success"
[attr.aria-label]="'core.question.correct' | translate"></ion-icon>
<ion-icon *ngIf="option.isCorrect === 0" class="core-correct-icon" name="fas-times" color="danger"
<ion-icon *ngIf="option.isCorrect === 0" class="core-correct-icon" name="fas-xmark" color="danger"
[attr.aria-label]="'core.question.incorrect' | translate"></ion-icon>
<!-- ion-checkbox doesn't use an input. Create a hidden input to hold the value. -->
@ -63,7 +63,7 @@
<ion-icon *ngIf="option.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success"
[attr.aria-label]="'core.question.correct' | translate"></ion-icon>
<ion-icon *ngIf="option.isCorrect === 0" class="core-correct-icon" name="fas-times" color="danger"
<ion-icon *ngIf="option.isCorrect === 0" class="core-correct-icon" name="fas-xmark" color="danger"
[attr.aria-label]="'core.question.incorrect' | translate"></ion-icon>
</ion-item>
<ion-button *ngIf="!question.disabled" class="ion-text-wrap ion-margin-top" expand="block" fill="outline"

View File

@ -40,7 +40,7 @@ export class AddonStorageManagerSettingsHandlerService implements CoreSettingsHa
*/
getDisplayData(): CoreSettingsHandlerData {
return {
icon: 'fas-archive',
icon: 'fas-box-archive',
title: 'addon.storagemanager.managedownloads',
page: AddonStorageManagerSettingsHandlerService.PAGE_NAME,
class: 'addon-storagemanager-settings-handler',

View File

@ -2,7 +2,7 @@
<!-- Download button. -->
<ion-button *ngIf="status == statusNotDownloaded" fill="clear" (click)="download($event, false)" @coreShowHideAnimation
[attr.aria-label]="(statusTranslatable || 'core.download') | translate">
<ion-icon slot="icon-only" name="fas-cloud-download-alt" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-cloud-arrow-down" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Refresh button. -->

View File

@ -89,7 +89,7 @@ export class CoreFileComponent implements OnInit, OnDestroy {
this.isIOS = CorePlatform.isIOS();
this.defaultIsOpenWithPicker = CoreFileHelper.defaultIsOpenWithPicker();
this.openButtonIcon = this.defaultIsOpenWithPicker ? 'fas-file' : 'fas-share-square';
this.openButtonIcon = this.defaultIsOpenWithPicker ? 'fas-file' : 'fas-share-from-square';
this.openButtonLabel = this.defaultIsOpenWithPicker ? 'core.openfile' : 'core.openwith';
if (CoreUtils.isTrueOrOne(this.showSize) && this.fileSize && this.fileSize >= 0) {

View File

@ -1,7 +1,7 @@
<ng-container *ngIf="groupInfo && groupInfo.groups.length > 0 && (groupInfo.separateGroups || groupInfo.visibleGroups)">
<ion-card class="core-info-card" *ngIf="multipleGroupsMessage && groupInfo.groups && groupInfo.groups.length > 1">
<ion-item>
<ion-icon name="fas-question-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-question" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ multipleGroupsMessage }}</ion-label>
</ion-item>
</ion-card>

View File

@ -85,7 +85,7 @@ export class CoreLocalFileComponent implements OnInit {
this.isIOS = CorePlatform.isIOS();
this.defaultIsOpenWithPicker = CoreFileHelper.defaultIsOpenWithPicker();
this.openButtonIcon = this.defaultIsOpenWithPicker ? 'fas-file' : 'fas-share-square';
this.openButtonIcon = this.defaultIsOpenWithPicker ? 'fas-file' : 'fas-share-from-square';
this.openButtonLabel = this.defaultIsOpenWithPicker ? 'core.openfile' : 'core.openwith';
}

View File

@ -37,7 +37,7 @@
</ion-button>
<ion-button *ngIf="showDelete && message.deleted" fill="clear" color="danger" (click)="undoDelete($event)"
[attr.aria-label]="'core.restore' | translate" class="delete-button">
<ion-icon name="fas-undo-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate-left" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</div>

View File

@ -1,4 +1,4 @@
<ion-chip class="clickable fab-chip" color="info" (click)="closeModal()">
<ion-icon name="fas-sync" aria-hidden="true"></ion-icon>
<ion-icon name="fas-arrows-rotate" aria-hidden="true"></ion-icon>
{{ 'core.refresh' | translate }}
</ion-chip>

View File

@ -2,5 +2,5 @@
<ng-content></ng-content>
</ion-content>
<ion-router-outlet class="content-outlet"></ion-router-outlet>
<core-empty-box class="content-placeholder" icon="fas-arrow-circle-left" [message]="placeholderText | translate" [flipIconRtl]="true">
<core-empty-box class="content-placeholder" icon="fas-circle-arrow-left" [message]="placeholderText | translate" [flipIconRtl]="true">
</core-empty-box>

View File

@ -96,14 +96,14 @@ export class CoreConstants {
// Download / prefetch status icon.
static readonly ICON_DOWNLOADED = 'fam-cloud-done';
static readonly ICON_DOWNLOADING = 'spinner';
static readonly ICON_NOT_DOWNLOADED = 'fas-cloud-download-alt';
static readonly ICON_NOT_DOWNLOADED = 'fas-cloud-arrow-down';
static readonly ICON_OUTDATED = 'fam-cloud-refresh';
static readonly ICON_NOT_DOWNLOADABLE = '';
// General download and sync icons.
static readonly ICON_LOADING = 'spinner';
static readonly ICON_REFRESH = 'fas-redo-alt';
static readonly ICON_SYNC = 'fas-sync-alt';
static readonly ICON_REFRESH = 'fas-rotate-right';
static readonly ICON_SYNC = 'fas-rotate';
// Constants from Moodle's resourcelib.
static readonly RESOURCELIB_DISPLAY_AUTO = 0; // Try the best way.

View File

@ -279,7 +279,7 @@ export class CoreFormatTextDirective implements OnChanges, OnDestroy, AsyncDirec
button.classList.add('hidden');
button.setAttribute('aria-label', label);
// Add an ion-icon item to apply the right styles, but the ion-icon component won't be executed.
button.innerHTML = '<ion-icon name="fas-expand-alt" aria-hidden="true" \
button.innerHTML = '<ion-icon name="fas-up-right-and-down-left-from-center" aria-hidden="true" \
src="assets/fonts/font-awesome/solid/expand-alt.svg">\
</ion-icon>';

View File

@ -2,7 +2,7 @@
<ion-toolbar>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon name="fas-times" slot="icon-only" aria-hidden=true></ion-icon>
<ion-icon name="fas-xmark" slot="icon-only" aria-hidden=true></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -18,7 +18,7 @@
</ng-container>
</ion-list>
<core-empty-box *ngIf="blocks.length == 0" icon="fas-th-large" [message]="'core.block.noblocks' | translate">
<core-empty-box *ngIf="blocks.length == 0" icon="fas-table-cells-large" [message]="'core.block.noblocks' | translate">
</core-empty-box>
</core-loading>
</ion-content>

View File

@ -52,7 +52,7 @@
</ng-container>
<ion-badge class="ion-text-wrap" color="info" *ngIf="hasOffline">
<ion-icon name="fas-exclamation-triangle" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" aria-hidden="true"></ion-icon>
{{ 'core.thereisdatatosync' | translate:{$a: 'core.comments.comments' | translate | lowercase } }}
</ion-badge>
<core-message *ngIf="hasOffline && offlineComment" [message]="offlineComment" [text]="offlineComment.content"

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -1,6 +1,6 @@
<core-navbar-buttons slot="end" prepend>
<ion-button fill="clear" (click)="gotoCourseDownloads()" [attr.aria-label]="'addon.storagemanager.coursedownloads' | translate">
<ion-icon name="fas-cloud-download-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-cloud-arrow-down" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</core-navbar-buttons>
<core-dynamic-component [component]="courseFormatComponent" [data]="data">
@ -11,7 +11,7 @@
<div *ngIf="selectedSection && selectedSection.id != allSectionsId">
<core-dynamic-component [component]="singleSectionComponent" [data]="data">
<ng-container *ngTemplateOutlet="sectionTemplate; context: {section: selectedSection}"></ng-container>
<core-empty-box *ngIf="!selectedSection.hasContent" icon="fas-th-large"
<core-empty-box *ngIf="!selectedSection.hasContent" icon="fas-table-cells-large"
[message]="'core.course.nocontentavailable' | translate">
</core-empty-box>
</core-dynamic-component>

View File

@ -5,7 +5,7 @@
</ion-title>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

View File

@ -15,7 +15,7 @@
<ion-chip *ngIf="rule.statuscompletefail" color="danger" role="listitem" [attr.aria-label]="rule.accessibleDescription"
class="completioninfo completion_fail">
<ion-icon name="fas-times" [attr.aria-label]="'core.course.completion_automatic:failed' | translate "></ion-icon>
<ion-icon name="fas-xmark" [attr.aria-label]="'core.course.completion_automatic:failed' | translate "></ion-icon>
<ion-label>
{{ rule.rulevalue.description }}
</ion-label>
@ -23,7 +23,8 @@
<ion-chip *ngIf="rule.statusincomplete" color="secondary" role="listitem" [attr.aria-label]="rule.accessibleDescription"
class="completioninfo completion_incomplete">
<ion-icon name="fas-edit" [attr.aria-label]="'core.course.completion_automatic:todo' | translate "></ion-icon>
<ion-icon name="fas-pen-to-square"
[attr.aria-label]="'core.course.completion_automatic:todo' | translate "></ion-icon>
<ion-label>
{{ rule.rulevalue.description }}
</ion-label>
@ -33,7 +34,7 @@
<ng-container *ngIf="!completion.istrackeduser">
<ion-chip *ngFor="let rule of details" role="listitem" class="core-module-completion-todo">
<ion-icon name="fas-edit" [attr.aria-label]="'core.course.completion_automatic:todo' | translate "></ion-icon>
<ion-icon name="fas-pen-to-square" [attr.aria-label]="'core.course.completion_automatic:todo' | translate "></ion-icon>
<ion-label>
{{ rule.rulevalue.description }}
</ion-label>
@ -43,7 +44,7 @@
<ng-container *ngIf="mode == 'basic' && completion.istrackeduser">
<ion-chip class="completioninfo completion_incomplete" *ngIf="completionStatus === 0" color="secondary">
<ion-icon name="fas-edit" aria-hidden="true"></ion-icon>
<ion-icon name="fas-pen-to-square" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'core.course.todo' | translate }}
</ion-label>
@ -53,7 +54,7 @@
<ion-label>{{'core.course.done' | translate }}</ion-label>
</ion-chip>
<ion-chip class="completioninfo completion_fail" *ngIf="completionStatus === 3" color="danger">
<ion-icon name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon name="fas-xmark" aria-hidden="true"></ion-icon>
<ion-label>{{'core.course.failed' | translate }}</ion-label>
</ion-chip>
</ng-container>

View File

@ -51,7 +51,7 @@
<!-- Activity has something offline. -->
<ion-card class="core-warning-card" *ngIf="hasDataToSync">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.hasdatatosync' | translate: {$a: moduleNameTranslated} }}</ion-label>
</ion-item>
</ion-card>

View File

@ -4,14 +4,14 @@
class="ion-text-wrap" [class.chip]="mode == 'basic'">
<ion-icon name="fas-check" slot="start" aria-hidden="true"></ion-icon>
{{ 'core.course.completion_manual:done' | translate }}
<ion-icon *ngIf="completion?.offline" name="fas-sync" [attr.aria-label]="'core.course.manualcompletionnotsynced' | translate"
slot="end"></ion-icon>
<ion-icon *ngIf="completion?.offline" name="fas-arrows-rotate"
[attr.aria-label]="'core.course.manualcompletionnotsynced' | translate" slot="end"></ion-icon>
</ion-button>
<ion-button *ngIf="!completion.state" fill="outline" [attr.aria-label]="accessibleDescription" (click)="completionClicked($event)"
class="ion-text-wrap" [class.chip]="mode == 'basic'">
{{ 'core.course.completion_manual:markdone' | translate }}
<ion-icon *ngIf="completion?.offline" name="fas-sync" [attr.aria-label]="'core.course.manualcompletionnotsynced' | translate"
slot="end"></ion-icon>
<ion-icon *ngIf="completion?.offline" name="fas-arrows-rotate"
[attr.aria-label]="'core.course.manualcompletionnotsynced' | translate" slot="end"></ion-icon>
</ion-button>
</ng-container>

View File

@ -2,7 +2,7 @@
<ion-toolbar>
<ion-buttons slot="end">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -26,7 +26,7 @@
</ion-label>
<ion-button fill="clear" *ngIf="displayOptions.displayOpenInBrowser && externalUrl" [href]="externalUrl" core-link
[showBrowserWarning]="false" [attr.aria-label]="'core.openinbrowser' | translate" slot="end">
<ion-icon name="fas-external-link-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-item>
@ -159,7 +159,7 @@
<ion-item lines="full" class="ion-text-wrap card-header">
<ion-label>
<h2>
<ion-icon name="fas-cloud-download-alt" aria-hidden="true"></ion-icon>
<ion-icon name="fas-cloud-arrow-down" aria-hidden="true"></ion-icon>
{{ 'addon.storagemanager.downloads' | translate }}
</h2>
</ion-label>
@ -182,7 +182,7 @@
</ion-item>
<ion-button fill="outline" expand="block" *ngIf="canPrefetch && displayOptions.displayPrefetch" class="ion-text-wrap"
(click)="prefetch()" [disabled]="prefetchDisabled">
<ion-icon *ngIf="!prefetchLoading" name="fas-cloud-download-alt" slot="start" aria-hidden="true"></ion-icon>
<ion-icon *ngIf="!prefetchLoading" name="fas-cloud-arrow-down" slot="start" aria-hidden="true"></ion-icon>
<ion-spinner *ngIf="prefetchLoading" slot="start" aria-hidden="true"></ion-spinner>
<ion-label>
{{ 'core.download' | translate }}
@ -200,14 +200,14 @@
</ion-content>
<ion-footer *ngIf="loaded && isOnline && displayOptions.displayRefresh">
<ion-button class="ion-margin" *ngIf="!hasOffline" (click)="refresh()" expand="block" fill="outline">
<ion-icon name="fas-redo-alt" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate-right" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'core.refresh' | translate }}
</ion-label>
</ion-button>
<ion-button class="ion-margin" *ngIf="hasOffline" (click)="sync()" expand="block" fill="outline">
<ion-icon name="fas-sync-alt" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-rotate" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
{{ 'core.settings.synchronizenow' | translate }}
</ion-label>

View File

@ -1,7 +1,7 @@
<div class="has-spacer">
<ion-card class="core-danger-card">
<ion-item>
<ion-icon name="fas-exclamation-triangle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-triangle-exclamation" slot="start" aria-hidden="true"></ion-icon>
<ion-label>
<p><strong>{{ 'core.uhoh' | translate }} </strong>
<ng-container *ngIf="isDisabledInSite">{{ 'core.course.activitydisabled' | translate }}</ng-container>
@ -18,7 +18,7 @@
<p>{{ 'core.course.useactivityonbrowser' | translate }}</p>
<ion-button expand="block" [href]="module?.url" core-link [showBrowserWarning]="false">
{{ 'core.openinbrowser' | translate }}
<ion-icon name="fas-external-link-alt" slot="end" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="end" aria-hidden="true"></ion-icon>
</ion-button>
</ion-label>
</ion-item>

View File

@ -7,7 +7,7 @@
</ion-title>
<ion-buttons slot="end" *ngIf="isModal">
<ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate">
<ion-icon slot="icon-only" name="fas-times" aria-hidden="true"></ion-icon>
<ion-icon slot="icon-only" name="fas-xmark" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
@ -47,7 +47,7 @@
</ion-label>
<ion-button fill="clear" [href]="courseUrl" core-link [showBrowserWarning]="false"
[attr.aria-label]="'core.openinbrowser' | translate" slot="end">
<ion-icon name="fas-external-link-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-item>
<ion-item class="ion-text-wrap" *ngIf="progress !== undefined || course.startdate || course.enddate">
@ -146,7 +146,7 @@
<ion-card class="core-info-card ion-text-wrap" *ngIf="!isEnrolled && !selfEnrolInstances.length && !otherEnrolments">
<ion-item>
<ion-icon name="fas-info-circle" slot="start" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="start" aria-hidden="true"></ion-icon>
<ion-label>{{ 'core.courses.notenrollable' | translate }}</ion-label>
</ion-item>
</ion-card>

View File

@ -11,7 +11,7 @@
<ion-buttons slot="end">
<ion-button fill="clear" (click)="openCourseSummary()" [attr.aria-label]="'core.course.coursesummary' | translate">
<ion-icon name="fas-info-circle" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-circle-info" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
<!-- Add an empty context menu so tab pages can add items, otherwise the menu disappears in some cases. -->
<core-context-menu></core-context-menu>

View File

@ -13,7 +13,7 @@
<ion-buttons slot="end">
<ion-button fill="clear" *ngIf="module.url && module.uservisible && !unsupported" [href]="module.url" core-link
[showBrowserWarning]="false" [attr.aria-label]="'core.openinbrowser' | translate">
<ion-icon name="fas-external-link-alt" slot="icon-only" aria-hidden="true"></ion-icon>
<ion-icon name="fas-up-right-from-square" slot="icon-only" aria-hidden="true"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>

Some files were not shown because too many files have changed in this diff Show More