| @ -75,7 +75,7 @@ | |||||||
|         </ion-col> |         </ion-col> | ||||||
|         <ion-col size="auto" *ngIf="sort.enabled"> |         <ion-col size="auto" *ngIf="sort.enabled"> | ||||||
|             <core-combobox [label]="'core.sortby' | translate" [selection]="sort.selected" (onChange)="sortCourses($event)" |             <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"> |                 <ion-select-option class="ion-text-wrap" value="fullname"> | ||||||
|                     {{'addon.block_myoverview.title' | translate}} |                     {{'addon.block_myoverview.title' | translate}} | ||||||
|                 </ion-select-option> |                 </ion-select-option> | ||||||
| @ -94,7 +94,7 @@ | |||||||
|             </ion-button> |             </ion-button> | ||||||
|             <ion-button *ngIf="layout == 'list'" fill="outline" (click)="toggleLayout('card')" |             <ion-button *ngIf="layout == 'list'" fill="outline" (click)="toggleLayout('card')" | ||||||
|                 [attr.aria-label]="'addon.block_myoverview.aria:card' | translate"> |                 [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-button> | ||||||
|         </ion-col> |         </ion-col> | ||||||
|     </ion-row> |     </ion-row> | ||||||
| @ -114,7 +114,7 @@ | |||||||
|                 {{'addon.block_myoverview.nocoursesenrolleddescription' | translate}} |                 {{'addon.block_myoverview.nocoursesenrolleddescription' | translate}} | ||||||
|             </p> |             </p> | ||||||
|             <ion-button (click)="openSearch()" fill="outline"> |             <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> |                 </ion-icon> | ||||||
|                 {{'addon.block_myoverview.browseallcourses' | translate}} |                 {{'addon.block_myoverview.browseallcourses' | translate}} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ | |||||||
|         </ion-col> |         </ion-col> | ||||||
|         <ion-col size="auto"> |         <ion-col size="auto"> | ||||||
|             <core-combobox [label]="'core.sortby' | translate" [formControl]="sort" (onChange)="sortChanged($event)" |             <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"> |                 <ion-select-option *ngFor="let option of sortOptions" class="ion-text-wrap" [value]="option.value"> | ||||||
|                     {{ option.name | translate }} |                     {{ option.name | translate }} | ||||||
|                 </ion-select-option> |                 </ion-select-option> | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
|     <ion-toolbar> |     <ion-toolbar> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -54,7 +54,7 @@ | |||||||
|                         <!-- There is data to be synchronized --> |                         <!-- There is data to be synchronized --> | ||||||
|                         <ion-card class="core-warning-card list-item-limited-width" *ngIf="day.hasOffline"> |                         <ion-card class="core-warning-card list-item-limited-width" *ngIf="day.hasOffline"> | ||||||
|                             <ion-item> |                             <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-label>{{ 'core.hasdatatosync' | translate:{$a: 'core.day' | translate} }}</ion-label> | ||||||
|                             </ion-item> |                             </ion-item> | ||||||
|                         </ion-card> |                         </ion-card> | ||||||
|  | |||||||
| @ -16,12 +16,12 @@ | |||||||
|                     [iconAction]="syncIcon" [closeOnClick]="false"> |                     [iconAction]="syncIcon" [closeOnClick]="false"> | ||||||
|                 </core-context-menu-item> |                 </core-context-menu-item> | ||||||
|                 <core-context-menu-item [hidden]="!event || !event.canedit || event.deleted || (!canEdit && event.id > 0)" [priority]="300" |                 <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> | ||||||
|                 <core-context-menu-item [hidden]="!event || !event.candelete || event.deleted" [priority]="200" |                 <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> |                     [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" |                 <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> |             </core-context-menu> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
| @ -34,7 +34,7 @@ | |||||||
|         <!-- There is data to be synchronized --> |         <!-- There is data to be synchronized --> | ||||||
|         <ion-card class="core-warning-card" *ngIf="hasOffline || (event && event.deleted)"> |         <ion-card class="core-warning-card" *ngIf="hasOffline || (event && event.deleted)"> | ||||||
|             <ion-item> |             <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-label>{{ 'core.hasdatatosync' | translate:{$a: 'addon.calendar.calendarevent' | translate} }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -12,11 +12,11 @@ | |||||||
|             </ion-button> |             </ion-button> | ||||||
|             <core-context-menu> |             <core-context-menu> | ||||||
|                 <core-context-menu-item *ngIf="showCalendar" [priority]="800" [content]="'addon.calendar.upcomingevents' | translate" |                 <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" |                 <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()" |                 <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> | ||||||
|                 <core-context-menu-item [hidden]="!loaded || !hasOffline || !isOnline" [priority]="400" |                 <core-context-menu-item [hidden]="!loaded || !hasOffline || !isOnline" [priority]="400" | ||||||
|                     [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(undefined, $event, true)" |                     [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(undefined, $event, true)" | ||||||
| @ -34,7 +34,7 @@ | |||||||
|     <!-- There is data to be synchronized --> |     <!-- There is data to be synchronized --> | ||||||
|     <ion-card class="core-warning-card" *ngIf="hasOffline"> |     <ion-card class="core-warning-card" *ngIf="hasOffline"> | ||||||
|         <ion-item> |         <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-label>{{ 'core.hasdatatosync' | translate:{$a: 'addon.calendar.calendar' | translate} }}</ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
|  | |||||||
| @ -101,7 +101,7 @@ | |||||||
| 
 | 
 | ||||||
|         <ion-card class="core-warning-card" *ngIf="!tracked"> |         <ion-card class="core-warning-card" *ngIf="!tracked"> | ||||||
|             <ion-item> |             <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-label>{{ 'addon.coursecompletion.nottracked' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -65,7 +65,7 @@ export class AddonCourseCompletionUserHandlerService implements CoreUserProfileH | |||||||
|      */ |      */ | ||||||
|     getDisplayData(): CoreUserProfileHandlerData { |     getDisplayData(): CoreUserProfileHandlerData { | ||||||
|         return { |         return { | ||||||
|             icon: 'fas-tasks', |             icon: 'fas-list-check', | ||||||
|             title: 'addon.coursecompletion.coursecompletion', |             title: 'addon.coursecompletion.coursecompletion', | ||||||
|             class: 'addon-coursecompletion-handler', |             class: 'addon-coursecompletion-handler', | ||||||
|             action: (event, user, context, contextId): void => { |             action: (event, user, context, contextId): void => { | ||||||
|  | |||||||
| @ -48,7 +48,7 @@ export class AddonMessageOutputAirnotifierHandlerService implements AddonMessage | |||||||
|         return { |         return { | ||||||
|             priority: 600, |             priority: 600, | ||||||
|             label: 'addon.messageoutput_airnotifier.processorsettingsdesc', |             label: 'addon.messageoutput_airnotifier.processorsettingsdesc', | ||||||
|             icon: 'fas-cog', |             icon: 'fas-gear', | ||||||
|             page: AddonMessageOutputAirnotifierHandlerService.PAGE_NAME, |             page: AddonMessageOutputAirnotifierHandlerService.PAGE_NAME, | ||||||
|         }; |         }; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="gotoSearch()" [attr.aria-label]="'addon.messages.searchcombined' | translate"> |             <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> | ||||||
|             <!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. --> |             <!-- 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> |             <core-context-menu></core-context-menu> | ||||||
|  | |||||||
| @ -24,9 +24,9 @@ | |||||||
|     <core-navbar-buttons slot="end"> |     <core-navbar-buttons slot="end"> | ||||||
|         <core-context-menu [attr.aria-label]="'addon.messages.conversationactions' | translate"> |         <core-context-menu [attr.aria-label]="'addon.messages.conversationactions' | translate"> | ||||||
|             <core-context-menu-item [hidden]="isSelf || !showInfo || isGroup" [priority]="1000" |             <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" |             <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> | ||||||
|             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversation" [priority]="800" (action)="changeFavourite($event)" |             <core-context-menu-item [hidden]="!groupMessagingEnabled || !conversation" [priority]="800" (action)="changeFavourite($event)" | ||||||
|                 [closeOnClick]="false" [content]="(conversation && conversation.isfavourite ? 'addon.messages.removefromfavourites' : |                 [closeOnClick]="false" [content]="(conversation && conversation.isfavourite ? 'addon.messages.removefromfavourites' : | ||||||
|  | |||||||
| @ -89,7 +89,7 @@ | |||||||
|             <core-empty-box *ngIf="(!discussions || discussions.length <= 0) && !search.showResults" icon="far-comments" |             <core-empty-box *ngIf="(!discussions || discussions.length <= 0) && !search.showResults" icon="far-comments" | ||||||
|                 [message]="'addon.messages.nomessagesfound' | translate"></core-empty-box> |                 [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> |                 [message]="'core.noresults' | translate"></core-empty-box> | ||||||
|         </core-loading> |         </core-loading> | ||||||
|     </core-split-view> |     </core-split-view> | ||||||
|  | |||||||
| @ -8,10 +8,10 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="gotoSearch()" [attr.aria-label]="'addon.messages.searchcombined' | translate"> |             <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> | ||||||
|             <ion-button (click)="gotoSettings()" [attr.aria-label]="'addon.messages.messagepreferences' | translate"> |             <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> |             </ion-button> | ||||||
|             <!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. --> |             <!-- 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> |             <core-context-menu></core-context-menu> | ||||||
| @ -169,7 +169,7 @@ | |||||||
|                     <core-format-text [text]="conversation.name" contextLevel="system" [contextInstanceId]="0"></core-format-text> |                     <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 name="fas-user-slash" *ngIf="conversation.isblocked" [title]="'addon.messages.contactblocked' | translate"> | ||||||
|                     </ion-icon> |                     </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> |                     </ion-icon> | ||||||
|                 </p> |                 </p> | ||||||
|                 <ion-note *ngIf="conversation.lastmessagedate > 0 || conversation.unreadcount"> |                 <ion-note *ngIf="conversation.lastmessagedate > 0 || conversation.unreadcount"> | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ | |||||||
|             </ion-list> |             </ion-list> | ||||||
| 
 | 
 | ||||||
|             <core-empty-box *ngIf="displayResults && !contacts.results.length && !nonContacts.results.length && !messages.results.length" |             <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-empty-box> | ||||||
|         </core-loading> |         </core-loading> | ||||||
|     </core-split-view> |     </core-split-view> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -113,7 +113,7 @@ | |||||||
|         <!-- Ungrouped users. --> |         <!-- Ungrouped users. --> | ||||||
|         <ion-card *ngIf="assign.teamsubmission && summary && summary.warnofungroupedusers" class="core-info-card"> |         <ion-card *ngIf="assign.teamsubmission && summary && summary.warnofungroupedusers" class="core-info-card"> | ||||||
|             <ion-item> |             <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-label>{{ 'addon.mod_assign.'+summary.warnofungroupedusers | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -3,7 +3,7 @@ | |||||||
|         <!-- Time limit is over. --> |         <!-- Time limit is over. --> | ||||||
|         <ion-card *ngIf="timeLimitFinished" class="core-danger-card"> |         <ion-card *ngIf="timeLimitFinished" class="core-danger-card"> | ||||||
|             <ion-item class="ion-text-wrap"> |             <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> |                 <ion-label> | ||||||
|                     <p>{{ 'addon.mod_assign.caneditsubmission' | translate }}</p> |                     <p>{{ 'addon.mod_assign.caneditsubmission' | translate }}</p> | ||||||
|                 </ion-label> |                 </ion-label> | ||||||
| @ -264,7 +264,7 @@ | |||||||
|                         </ion-label> |                         </ion-label> | ||||||
|                         <ion-button slot="end" *ngIf="feedback!.advancedgrade" (click)="showAdvancedGrade()" |                         <ion-button slot="end" *ngIf="feedback!.advancedgrade" (click)="showAdvancedGrade()" | ||||||
|                             [attr.aria-label]="'core.showadvanced' |translate"> |                             [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-button> | ||||||
|                     </ion-item> |                     </ion-item> | ||||||
| 
 | 
 | ||||||
| @ -393,12 +393,12 @@ | |||||||
|                     <!-- Warning message if cannot save grades. --> |                     <!-- Warning message if cannot save grades. --> | ||||||
|                     <ion-card *ngIf="isGrading && !canSaveGrades" class="core-warning-card"> |                     <ion-card *ngIf="isGrading && !canSaveGrades" class="core-warning-card"> | ||||||
|                         <ion-item> |                         <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> |                             <ion-label> | ||||||
|                                 <p>{{ 'addon.mod_assign.cannotgradefromapp' | translate }}</p> |                                 <p>{{ 'addon.mod_assign.cannotgradefromapp' | translate }}</p> | ||||||
|                                 <ion-button expand="block" *ngIf="gradeUrl" [href]="gradeUrl" core-link [showBrowserWarning]="false"> |                                 <ion-button expand="block" *ngIf="gradeUrl" [href]="gradeUrl" core-link [showBrowserWarning]="false"> | ||||||
|                                     {{ 'core.openinbrowser' | translate }} |                                     {{ '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-button> | ||||||
|                             </ion-label> |                             </ion-label> | ||||||
|                         </ion-item> |                         </ion-item> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -77,7 +77,7 @@ | |||||||
| 
 | 
 | ||||||
|         <ion-card *ngIf="!meetingInfo.canjoin" class="core-warning-card"> |         <ion-card *ngIf="!meetingInfo.canjoin" class="core-warning-card"> | ||||||
|             <ion-item class="ion-text-wrap"> |             <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-label>{{ meetingInfo.statusmessage }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -102,7 +102,7 @@ | |||||||
|                 </ion-label> |                 </ion-label> | ||||||
|                 <ion-button slot="end" fill="clear" (click)="playRecording($event, recording)" |                 <ion-button slot="end" fill="clear" (click)="playRecording($event, recording)" | ||||||
|                     [attr.aria-label]="'addon.mod_bigbluebuttonbn.view_recording_list_action_play' | translate"> |                     [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-button> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|             <div [hidden]="!recording.expanded" class="addon-mod_bbb-recording-details"> |             <div [hidden]="!recording.expanded" class="addon-mod_bbb-recording-details"> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ | |||||||
|         <div class="safe-area-padding-horizontal core-swipe-slides-container"> |         <div class="safe-area-padding-horizontal core-swipe-slides-container"> | ||||||
|             <ion-card class="core-warning-card" *ngIf="warning"> |             <ion-card class="core-warning-card" *ngIf="warning"> | ||||||
|                 <ion-item> |                 <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-label><span [innerHTML]="warning"></span></ion-label> | ||||||
|                 </ion-item> |                 </ion-item> | ||||||
|             </ion-card> |             </ion-card> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ | |||||||
|                 <div class="ion-text-center addon-mod_chat-notice" *ngIf="message.special"> |                 <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'"> |                     <ion-badge class="ion-text-wrap" color="success" *ngIf="message.system && message.message == 'enter'"> | ||||||
|                         <span> |                         <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" }} |                             {{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }} | ||||||
|                             {{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }} |                             {{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }} | ||||||
|                         </span> |                         </span> | ||||||
| @ -36,7 +36,7 @@ | |||||||
| 
 | 
 | ||||||
|                     <ion-badge class="ion-text-wrap" color="danger" *ngIf="message.system && message.message == 'exit'"> |                     <ion-badge class="ion-text-wrap" color="danger" *ngIf="message.system && message.message == 'exit'"> | ||||||
|                         <span> |                         <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" }} |                             {{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }} | ||||||
|                             {{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }} |                             {{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }} | ||||||
|                         </span> |                         </span> | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ | |||||||
|                 <div class="ion-text-center addon-mod_chat-notice" *ngIf="message.special"> |                 <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'"> |                     <ion-badge class="ion-text-wrap" color="success" *ngIf="message.issystem && message.message == 'enter'"> | ||||||
|                         <span> |                         <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" }} |                             {{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }} | ||||||
|                             {{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }} |                             {{ 'addon.mod_chat.messageenter' | translate:{$a: message.userfullname} }} | ||||||
|                         </span> |                         </span> | ||||||
| @ -31,7 +31,7 @@ | |||||||
| 
 | 
 | ||||||
|                     <ion-badge class="ion-text-wrap" color="danger" *ngIf="message.issystem && message.message == 'exit'"> |                     <ion-badge class="ion-text-wrap" color="danger" *ngIf="message.issystem && message.message == 'exit'"> | ||||||
|                         <span> |                         <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" }} |                             {{ message.timestamp * 1000 | coreFormatDate:"strftimetime" }} | ||||||
|                             {{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }} |                             {{ 'addon.mod_chat.messageexit' | translate:{$a: message.userfullname} }} | ||||||
|                         </span> |                         </span> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -15,7 +15,7 @@ | |||||||
|     <!-- Activity availability messages --> |     <!-- Activity availability messages --> | ||||||
|     <ion-card class="core-info-card" *ngIf="choiceNotOpenYet"> |     <ion-card class="core-info-card" *ngIf="choiceNotOpenYet"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 <p *ngIf="options.length">{{ 'addon.mod_choice.previewonly' | translate:{$a: openTimeReadable} }}</p> |                 <p *ngIf="options.length">{{ 'addon.mod_choice.previewonly' | translate:{$a: openTimeReadable} }}</p> | ||||||
|                 <p *ngIf="!options.length">{{ 'addon.mod_choice.notopenyet' | 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-card class="core-info-card" *ngIf="choiceClosed"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 <p *ngIf="options.length"> |                 <p *ngIf="options.length"> | ||||||
|                     {{ 'addon.mod_choice.yourselection' | translate }} |                     {{ 'addon.mod_choice.yourselection' | translate }} | ||||||
| @ -40,7 +40,7 @@ | |||||||
|     <!-- Inform what will happen with the choices. --> |     <!-- Inform what will happen with the choices. --> | ||||||
|     <ion-card class="core-info-card" *ngIf="canEdit && publishInfo && options.length"> |     <ion-card class="core-info-card" *ngIf="canEdit && publishInfo && options.length"> | ||||||
|         <ion-item> |         <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-label>{{ publishInfo | translate }}</ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
| @ -75,7 +75,7 @@ | |||||||
|             <ion-row> |             <ion-row> | ||||||
|                 <ion-col size="12" size-lg="5"> |                 <ion-col size="12" size-lg="5"> | ||||||
|                     <ion-item class="ion-text-wrap core-warning-item" *ngIf="hasOffline"> |                     <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-label>{{ 'addon.mod_choice.resultsnotsynced' | translate }}</ion-label> | ||||||
|                     </ion-item> |                     </ion-item> | ||||||
|                     <ion-item> |                     <ion-item> | ||||||
| @ -125,7 +125,7 @@ | |||||||
| 
 | 
 | ||||||
|     <ion-card class="core-info-card" *ngIf="!canSeeResults && !choiceNotOpenYet"> |     <ion-card class="core-info-card" *ngIf="!canSeeResults && !choiceNotOpenYet"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 <p>{{ 'addon.mod_choice.noresultsviewable' | translate }}</p> |                 <p>{{ 'addon.mod_choice.noresultsviewable' | translate }}</p> | ||||||
|             </ion-label> |             </ion-label> | ||||||
|  | |||||||
| @ -1,9 +1,9 @@ | |||||||
| <ion-button size="small" *ngIf="action == 'more'" fill="clear" (click)="viewEntry()" [attr.aria-label]="'addon.mod_data.more' | translate"> | <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> | ||||||
| 
 | 
 | ||||||
| <ion-button size="small" *ngIf="action == 'edit'" fill="clear" (click)="editEntry()" [attr.aria-label]="'core.edit' | translate"> | <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> | ||||||
| 
 | 
 | ||||||
| <ion-button size="small" *ngIf="action == 'delete' && !entry.deleted" fill="clear" color="danger" (click)="deleteEntry()" | <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()" | <ion-button size="small" *ngIf="action == 'delete' && entry.deleted" fill="clear" color="danger" (click)="undoDelete()" | ||||||
|     [attr.aria-label]="'core.restore' | translate"> |     [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> | ||||||
| 
 | 
 | ||||||
| <ion-button size="small" *ngIf="action == 'approve'" fill="clear" (click)="approveEntry()" | <ion-button size="small" *ngIf="action == 'approve'" fill="clear" (click)="approveEntry()" | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button *ngIf="canSearch" (click)="showSearch()" [attr.aria-label]="'addon.mod_data.search' | translate"> |     <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> |     </ion-button> | ||||||
|     <core-context-menu> |     <core-context-menu> | ||||||
|         <core-context-menu-item [priority]="500" *ngIf="canAdd" [content]="'addon.mod_data.addentries' | translate" iconAction="fas-plus" |         <core-context-menu-item [priority]="500" *ngIf="canAdd" [content]="'addon.mod_data.addentries' | translate" iconAction="fas-plus" | ||||||
| @ -13,7 +13,7 @@ | |||||||
|     </core-context-menu> |     </core-context-menu> | ||||||
| 
 | 
 | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -30,21 +30,21 @@ | |||||||
| 
 | 
 | ||||||
|     <ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableFrom"> |     <ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableFrom"> | ||||||
|         <ion-item> |         <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-label>{{ 'addon.mod_data.notopenyet' | translate:{$a: timeAvailableFromReadable} }}</ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
| 
 | 
 | ||||||
|     <ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableTo"> |     <ion-card class="core-info-card" *ngIf="!access?.timeavailable && timeAvailableTo"> | ||||||
|         <ion-item> |         <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-label>{{ 'addon.mod_data.expired' | translate:{$a: timeAvailableToReadable} }}</ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
| 
 | 
 | ||||||
|     <ion-card class="core-info-card" *ngIf="access && access.entrieslefttoview"> |     <ion-card class="core-info-card" *ngIf="access && access.entrieslefttoview"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 {{ 'addon.mod_data.entrieslefttoaddtoview' | translate:{$a: {entrieslefttoview: access.entrieslefttoview} } }} |                 {{ 'addon.mod_data.entrieslefttoaddtoview' | translate:{$a: {entrieslefttoview: access.entrieslefttoview} } }} | ||||||
|             </ion-label> |             </ion-label> | ||||||
| @ -53,7 +53,7 @@ | |||||||
| 
 | 
 | ||||||
|     <ion-card class="core-info-card" *ngIf="access && access.entrieslefttoadd"> |     <ion-card class="core-info-card" *ngIf="access && access.entrieslefttoadd"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 {{ 'addon.mod_data.entrieslefttoadd' | translate:{$a: {entriesleft: access.entrieslefttoadd} } }} |                 {{ 'addon.mod_data.entrieslefttoadd' | translate:{$a: {entriesleft: access.entrieslefttoadd} } }} | ||||||
|             </ion-label> |             </ion-label> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
| @ -59,7 +59,7 @@ | |||||||
|         </ion-list> |         </ion-list> | ||||||
|         <div class="ion-padding"> |         <div class="ion-padding"> | ||||||
|             <ion-button expand="block" type="submit"> |             <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 }} |                 {{ 'addon.mod_data.search' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ | |||||||
|         <!-- Database entries found to be synchronized --> |         <!-- Database entries found to be synchronized --> | ||||||
|         <ion-card class="core-warning-card" *ngIf="entry && entry.hasOffline"> |         <ion-card class="core-warning-card" *ngIf="entry && entry.hasOffline"> | ||||||
|             <ion-item> |             <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-label>{{ 'core.hasdatatosync' | translate: {$a: moduleName} }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -39,7 +39,7 @@ | |||||||
|             *ngIf="access && (access.canedititems || access.canviewreports || !access.isempty)"> |             *ngIf="access && (access.canedititems || access.canviewreports || !access.isempty)"> | ||||||
|             <ion-button *ngIf="access.canedititems || access.canviewreports" expand="block" fill="outline" |             <ion-button *ngIf="access.canedititems || access.canviewreports" expand="block" fill="outline" | ||||||
|                 (click)="gotoAnswerQuestions(true)" class="ion-margin ion-text-wrap"> |                 (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 }} |                 {{ 'addon.mod_feedback.preview' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|             <ion-button *ngIf="access.cancomplete && access.cansubmit && access.isopen" expand="block" (click)="gotoAnswerQuestions()" |             <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-card class="core-info-card" *ngIf="access && access.cancomplete && !access.isopen"> | ||||||
|             <ion-item> |             <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-label>{{ 'addon.mod_feedback.feedback_is_not_open' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -155,7 +155,7 @@ | |||||||
|         <ng-container *ngIf="access && (access.canedititems || !access.isempty)"> |         <ng-container *ngIf="access && (access.canedititems || !access.isempty)"> | ||||||
|             <ion-card class="core-info-card" *ngIf="warning"> |             <ion-card class="core-info-card" *ngIf="warning"> | ||||||
|                 <ion-item> |                 <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-label>{{ warning }}</ion-label> | ||||||
|                 </ion-item> |                 </ion-item> | ||||||
|             </ion-card> |             </ion-card> | ||||||
|  | |||||||
| @ -102,7 +102,7 @@ | |||||||
|                             </core-recaptcha> |                             </core-recaptcha> | ||||||
|                             <div *ngIf="!preview && (!item.captcha || offline)" class="core-warning-card"> |                             <div *ngIf="!preview && (!item.captcha || offline)" class="core-warning-card"> | ||||||
|                                 <ion-item> |                                 <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-label>{{ 'addon.mod_feedback.captchaofflinewarning' | translate }}</ion-label> | ||||||
|                                 </ion-item> |                                 </ion-item> | ||||||
|                             </div> |                             </div> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
|     <!-- Add an empty context menu so split view pages can add items, otherwise the menu disappears in some cases. --> |     <!-- 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> |     <core-context-menu></core-context-menu> | ||||||
| @ -31,7 +31,7 @@ | |||||||
|         <!-- Cut-off date or due date message --> |         <!-- Cut-off date or due date message --> | ||||||
|         <ion-card class="core-info-card" *ngIf="availabilityMessage"> |         <ion-card class="core-info-card" *ngIf="availabilityMessage"> | ||||||
|             <ion-item> |             <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-label>{{ availabilityMessage }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -39,7 +39,7 @@ | |||||||
|         <!-- Q&A message. --> |         <!-- Q&A message. --> | ||||||
|         <ion-card class="core-info-card" *ngIf="showQAMessage"> |         <ion-card class="core-info-card" *ngIf="showQAMessage"> | ||||||
|             <ion-item> |             <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-label>{{ 'addon.mod_forum.qandanotify' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -47,7 +47,7 @@ | |||||||
|         <!-- Cannot add discussion to group messages. --> |         <!-- Cannot add discussion to group messages. --> | ||||||
|         <ion-card class="core-info-card" *ngIf="usesGroups && canAddDiscussion && !canAddDiscussionToGroup"> |         <ion-card class="core-info-card" *ngIf="usesGroups && canAddDiscussion && !canAddDiscussionToGroup"> | ||||||
|             <ion-item> |             <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> |                 <ion-label> | ||||||
|                     <span *ngIf="groupId <= 0">{{ 'addon.mod_forum.cannotadddiscussionall' | translate }}</span> |                     <span *ngIf="groupId <= 0">{{ 'addon.mod_forum.cannotadddiscussionall' | translate }}</span> | ||||||
|                     <span *ngIf="groupId > 0">{{ 'addon.mod_forum.cannotadddiscussion' | translate }}</span> |                     <span *ngIf="groupId > 0">{{ 'addon.mod_forum.cannotadddiscussion' | translate }}</span> | ||||||
| @ -67,7 +67,7 @@ | |||||||
|                 [message]="'addon.mod_forum.forumnodiscussionsyet' | translate"> |                 [message]="'addon.mod_forum.forumnodiscussionsyet' | translate"> | ||||||
|             </core-empty-box> |             </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"> |                 [message]="'addon.mod_forum.errorloadingsortingorder' | translate"> | ||||||
|                 <p>{{ 'addon.mod_forum.errorloadingsortingorderdetails' | translate }}</p> |                 <p>{{ 'addon.mod_forum.errorloadingsortingorderdetails' | translate }}</p> | ||||||
|             </core-empty-box> |             </core-empty-box> | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
|         </ion-label> |         </ion-label> | ||||||
|     </ion-item> |     </ion-item> | ||||||
|     <ion-item class="ion-text-wrap" [href]="url" *ngIf="url" core-link capture="false" button detail="false" [showBrowserWarning]="false"> |     <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> |         <ion-label> | ||||||
|             <p class="item-heading">{{ 'core.openinbrowser' | translate }}</p> |             <p class="item-heading">{{ 'core.openinbrowser' | translate }}</p> | ||||||
|         </ion-label> |         </ion-label> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ | |||||||
|             [content]="'addon.mod_forum.modeflatnewestfirst' | translate" iconAction="fas-arrow-up" (action)="changeSort('flat-newest')"> |             [content]="'addon.mod_forum.modeflatnewestfirst' | translate" iconAction="fas-arrow-up" (action)="changeSort('flat-newest')"> | ||||||
|         </core-context-menu-item> |         </core-context-menu-item> | ||||||
|         <core-context-menu-item [hidden]="sort == 'nested'" [priority]="400" [content]="'addon.mod_forum.modenested' | translate" |         <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> | ||||||
|         <core-context-menu-item [hidden]="!discussion || !discussion.canlock || discussion.locked" [priority]="300" |         <core-context-menu-item [hidden]="!discussion || !discussion.canlock || discussion.locked" [priority]="300" | ||||||
|             [content]="'addon.mod_forum.lockdiscussion' | translate" iconAction="fas-lock" (action)="setLockState(true)"> |             [content]="'addon.mod_forum.lockdiscussion' | translate" iconAction="fas-lock" (action)="setLockState(true)"> | ||||||
| @ -54,7 +54,7 @@ | |||||||
|             (action)="toggleFavouriteState(false)"> |             (action)="toggleFavouriteState(false)"> | ||||||
|         </core-context-menu-item> |         </core-context-menu-item> | ||||||
|         <core-context-menu-item [hidden]="!externalUrl" [priority]="100" [content]="'core.openinbrowser' | translate" [href]="externalUrl" |         <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-context-menu> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| <ion-content [core-swipe-navigation]="discussions" class="limited-width"> | <ion-content [core-swipe-navigation]="discussions" class="limited-width"> | ||||||
| @ -66,7 +66,7 @@ | |||||||
|         <!-- Discussion replies found to be synchronized --> |         <!-- Discussion replies found to be synchronized --> | ||||||
|         <ion-card class="core-warning-card" *ngIf="postHasOffline || hasOfflineRatings"> |         <ion-card class="core-warning-card" *ngIf="postHasOffline || hasOfflineRatings"> | ||||||
|             <ion-item> |             <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-label>{{ 'core.hasdatatosync' | translate:{$a: discussionStr} }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -74,7 +74,7 @@ | |||||||
|         <!-- Cut-off date or due date message --> |         <!-- Cut-off date or due date message --> | ||||||
|         <ion-card class="core-info-card" *ngIf="availabilityMessage"> |         <ion-card class="core-info-card" *ngIf="availabilityMessage"> | ||||||
|             <ion-item> |             <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-label>{{ availabilityMessage }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -89,7 +89,7 @@ | |||||||
|         <!-- Q&A message. --> |         <!-- Q&A message. --> | ||||||
|         <ion-card class="core-info-card" *ngIf="showQAMessage"> |         <ion-card class="core-info-card" *ngIf="showQAMessage"> | ||||||
|             <ion-item> |             <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-label>{{ 'addon.mod_forum.qandanotify' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -67,7 +67,7 @@ | |||||||
|                 </core-attachments> |                 </core-attachments> | ||||||
|             </div> |             </div> | ||||||
|             <ion-item *ngIf="showGroups && groupName && !newDiscussion.postToAllGroups" class="addon-forum-group-info"> |             <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-label>{{ 'addon.mod_forum.postingroup' | translate:{groupname: groupName} }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|             <ion-item class="addon-forum-new-discussion-buttons"> |             <ion-item class="addon-forum-new-discussion-buttons"> | ||||||
|  | |||||||
| @ -6,12 +6,12 @@ | |||||||
|     </ion-button> |     </ion-button> | ||||||
| 
 | 
 | ||||||
|     <ion-button *ngIf="!showLoading && glossary" (click)="toggleSearch()" [attr.aria-label]="'addon.mod_glossary.bysearch' | translate"> |     <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> | ||||||
| 
 | 
 | ||||||
|     <ion-button *ngIf="!showLoading" fill="clear" (click)="openModuleSummary()" aria-haspopup="true" |     <ion-button *ngIf="!showLoading" fill="clear" (click)="openModuleSummary()" aria-haspopup="true" | ||||||
|         [attr.aria-label]="'core.info' | translate"> |         [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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -11,7 +11,7 @@ | |||||||
|     </core-context-menu> |     </core-context-menu> | ||||||
| 
 | 
 | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -26,7 +26,7 @@ | |||||||
|     <!-- Offline disabled. --> |     <!-- Offline disabled. --> | ||||||
|     <ion-card class="core-warning-card" *ngIf="!siteCanDownload && playing"> |     <ion-card class="core-warning-card" *ngIf="!siteCanDownload && playing"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 {{ 'core.h5p.offlinedisabled' | translate }} {{ 'addon.mod_h5pactivity.offlinedisabledwarning' | translate }} |                 {{ 'core.h5p.offlinedisabled' | translate }} {{ 'addon.mod_h5pactivity.offlinedisabledwarning' | translate }} | ||||||
|             </ion-label> |             </ion-label> | ||||||
| @ -36,7 +36,7 @@ | |||||||
|     <!-- Preview mode. --> |     <!-- Preview mode. --> | ||||||
|     <ion-card class="core-warning-card" *ngIf="accessInfo && !trackComponent"> |     <ion-card class="core-warning-card" *ngIf="accessInfo && !trackComponent"> | ||||||
|         <ion-item> |         <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> |             <ion-label> | ||||||
|                 {{ 'addon.mod_h5pactivity.previewmode' | translate }} |                 {{ 'addon.mod_h5pactivity.previewmode' | translate }} | ||||||
|             </ion-label> |             </ion-label> | ||||||
|  | |||||||
| @ -65,7 +65,7 @@ | |||||||
|                         <ion-label> |                         <ion-label> | ||||||
|                             <p class="item-heading">{{ 'addon.mod_h5pactivity.outcome' | translate }}</p> |                             <p class="item-heading">{{ 'addon.mod_h5pactivity.outcome' | translate }}</p> | ||||||
|                             <p *ngIf="attempt.success !== null && attempt.success"> |                             <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 }} |                                 {{ 'addon.mod_h5pactivity.attempt_success_pass' | translate }} | ||||||
|                             </p> |                             </p> | ||||||
|                             <p *ngIf="attempt.success !== null && !attempt.success"> |                             <p *ngIf="attempt.success !== null && !attempt.success"> | ||||||
| @ -152,7 +152,7 @@ | |||||||
| 
 | 
 | ||||||
|                     <!-- Result doesn't support tracking. --> |                     <!-- Result doesn't support tracking. --> | ||||||
|                     <ion-item class="ion-text-wrap core-warning-item" *ngIf="!result.track"> |                     <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> |                         <ion-label> | ||||||
|                             {{ 'addon.mod_h5pactivity.no_compatible_track' | translate:{$a: result.interactiontype} }} |                             {{ 'addon.mod_h5pactivity.no_compatible_track' | translate:{$a: result.interactiontype} }} | ||||||
|                         </ion-label> |                         </ion-label> | ||||||
| @ -171,7 +171,7 @@ | |||||||
|         {{ answer.answer }} |         {{ answer.answer }} | ||||||
|     </p> |     </p> | ||||||
|     <p *ngIf="answer.incorrect"> |     <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> |         </ion-icon> | ||||||
|         {{ answer.answer }} |         {{ answer.answer }} | ||||||
|     </p> |     </p> | ||||||
| @ -179,7 +179,7 @@ | |||||||
|         {{ answer.answer }} |         {{ answer.answer }} | ||||||
|     </p> |     </p> | ||||||
|     <p *ngIf="answer.checked"> |     <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> |         </ion-icon> | ||||||
|     </p> |     </p> | ||||||
|     <p *ngIf="answer.pass"> |     <p *ngIf="answer.pass"> | ||||||
| @ -187,7 +187,7 @@ | |||||||
|         </ion-icon> |         </ion-icon> | ||||||
|     </p> |     </p> | ||||||
|     <p *ngIf="answer.fail"> |     <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> |         </ion-icon> | ||||||
|     </p> |     </p> | ||||||
| </ng-template> | </ng-template> | ||||||
|  | |||||||
| @ -101,7 +101,7 @@ | |||||||
|                         [alt]="'addon.mod_h5pactivity.attempt_completion_no' | translate"> |                         [alt]="'addon.mod_h5pactivity.attempt_completion_no' | translate"> | ||||||
|                 </ion-col> |                 </ion-col> | ||||||
|                 <ion-col class="ion-text-center addon-mod_h5pactivity-table-success-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"> |                         [attr.aria-label]="'addon.mod_h5pactivity.attempt_success_pass' | translate"> | ||||||
|                     </ion-icon> |                     </ion-icon> | ||||||
|                     <ion-icon *ngIf="attempt.success !== null && !attempt.success" name="far-circle" |                     <ion-icon *ngIf="attempt.success !== null && !attempt.success" name="far-circle" | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ | |||||||
| 
 | 
 | ||||||
|         <ion-card class="core-warning-card" *ngIf="warning"> |         <ion-card class="core-warning-card" *ngIf="warning"> | ||||||
|             <ion-item> |             <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-label><span [innerHTML]="warning"></span></ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -20,7 +20,7 @@ | |||||||
|                 <!-- Prevent access messages. Only show the first one. --> |                 <!-- Prevent access messages. Only show the first one. --> | ||||||
|                 <ion-card class="core-info-card" *ngIf="lesson && preventReasons.length"> |                 <ion-card class="core-info-card" *ngIf="lesson && preventReasons.length"> | ||||||
|                     <ion-item> |                     <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-label [innerHTML]="preventReasons[0].message"></ion-label> | ||||||
|                     </ion-item> |                     </ion-item> | ||||||
|                 </ion-card> |                 </ion-card> | ||||||
| @ -263,7 +263,7 @@ | |||||||
|                 {{ 'core.start' | translate }} |                 {{ 'core.start' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|             <ion-button class="ion-text-wrap ion-margin" expand="block" fill="outline" *ngIf="canManage" (click)="start(false)"> |             <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 }} |                 {{ 'addon.mod_lesson.preview' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|         </ng-container> |         </ng-container> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ | |||||||
|         <!-- Info messages. Only show the first one. --> |         <!-- Info messages. Only show the first one. --> | ||||||
|         <ion-card class="core-info-card" *ngIf="lesson && messages?.length"> |         <ion-card class="core-info-card" *ngIf="lesson && messages?.length"> | ||||||
|             <ion-item class="ion-text-wrap"> |             <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-label>{{ messages[0].message }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -183,7 +183,7 @@ | |||||||
|                 </ion-item> |                 </ion-item> | ||||||
|                 <ion-card class="core-info-card" *ngIf="lesson?.progressbar && canManage"> |                 <ion-card class="core-info-card" *ngIf="lesson?.progressbar && canManage"> | ||||||
|                     <ion-item class="ion-text-wrap"> |                     <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-label>{{ 'addon.mod_lesson.progressbarteacherwarning2' | translate }}</ion-label> | ||||||
|                     </ion-item> |                     </ion-item> | ||||||
|                 </ion-card> |                 </ion-card> | ||||||
| @ -192,7 +192,7 @@ | |||||||
|             <!-- End of lesson reached. --> |             <!-- End of lesson reached. --> | ||||||
|             <ion-card class="core-warning-card" *ngIf="eolData && !processData && eolData.offline?.value"> |             <ion-card class="core-warning-card" *ngIf="eolData && !processData && eolData.offline?.value"> | ||||||
|                 <ion-item> |                 <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-label>{{ 'addon.mod_lesson.finishretakeoffline' | translate }}</ion-label> | ||||||
|                 </ion-item> |                 </ion-item> | ||||||
|             </ion-card> |             </ion-card> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -17,7 +17,7 @@ | |||||||
|         <div class="list-item-limited-width"> |         <div class="list-item-limited-width"> | ||||||
|             <ion-button expand="block" (click)="launch()" class="ion-margin ion-text-wrap"> |             <ion-button expand="block" (click)="launch()" class="ion-margin ion-text-wrap"> | ||||||
|                 {{ 'addon.mod_lti.launchactivity' | translate }} |                 {{ '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> |             </ion-button> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -60,7 +60,7 @@ export class AddonModLtiModuleHandlerService extends CoreModuleHandlerBase imple | |||||||
|         const data = await super.getData(module, courseId, sectionId, forCoursePage); |         const data = await super.getData(module, courseId, sectionId, forCoursePage); | ||||||
|         data.showDownloadButton = false; |         data.showDownloadButton = false; | ||||||
|         data.buttons = [{ |         data.buttons = [{ | ||||||
|             icon: 'fas-external-link-alt', |             icon: 'fas-up-right-from-square', | ||||||
|             label: 'addon.mod_lti.launchactivity', |             label: 'addon.mod_lti.launchactivity', | ||||||
|             action: (event: Event, module: CoreCourseModuleData, courseId: number): void => { |             action: (event: Event, module: CoreCourseModuleData, courseId: number): void => { | ||||||
|                 // Launch the LTI.
 |                 // Launch the LTI.
 | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -15,7 +15,7 @@ | |||||||
| 
 | 
 | ||||||
|     <ion-card class="core-warning-card" *ngIf="warning"> |     <ion-card class="core-warning-card" *ngIf="warning"> | ||||||
|         <ion-item> |         <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-label><span [innerHTML]="warning"></span></ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -209,7 +209,7 @@ | |||||||
|                 unsupportedRules.length || behaviourSupported === false)" expand="block" [href]="module.url" core-link |                 unsupportedRules.length || behaviourSupported === false)" expand="block" [href]="module.url" core-link | ||||||
|                 [showBrowserWarning]="false"> |                 [showBrowserWarning]="false"> | ||||||
|                 {{ 'core.openinbrowser' | translate }} |                 {{ '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-button> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
| @ -22,18 +22,18 @@ | |||||||
|                     <span *ngIf="!question.number">{{ 'core.question.information' | translate }}</span> |                     <span *ngIf="!question.number">{{ 'core.question.information' | translate }}</span> | ||||||
|                 </ion-label> |                 </ion-label> | ||||||
| 
 | 
 | ||||||
|                 <ion-icon *ngIf="!question.number" name="fas-info-circle" slot="end" aria-hidden="true"></ion-icon> |                 <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-question-circle" |                 <ion-icon *ngIf="question.stateClass == 'core-question-requiresgrading'" name="fas-circle-question" | ||||||
|                     [attr.aria-label]="question.status" slot="end"> |                     [attr.aria-label]="question.status" slot="end"> | ||||||
|                 </ion-icon> |                 </ion-icon> | ||||||
|                 <ion-icon *ngIf="question.stateClass == 'core-question-correct'" name="fas-check" color="success" |                 <ion-icon *ngIf="question.stateClass == 'core-question-correct'" name="fas-check" color="success" | ||||||
|                     [attr.aria-label]="question.status" slot="end"> |                     [attr.aria-label]="question.status" slot="end"> | ||||||
|                 </ion-icon> |                 </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"> |                     [attr.aria-label]="question.status" slot="end"> | ||||||
|                 </ion-icon> |                 </ion-icon> | ||||||
|                 <ion-icon *ngIf="question.stateClass == 'core-question-incorrect' || |                 <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"> |                     slot="end"> | ||||||
|                 </ion-icon> |                 </ion-icon> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -64,7 +64,7 @@ | |||||||
|         <div collapsible-footer appearOnBottom *ngIf="loaded && attempt && showReviewColumn && attempt.finished" slot="fixed"> |         <div collapsible-footer appearOnBottom *ngIf="loaded && attempt && showReviewColumn && attempt.finished" slot="fixed"> | ||||||
|             <div class="list-item-limited-width"> |             <div class="list-item-limited-width"> | ||||||
|                 <ion-button class="ion-margin ion-text-wrap" expand="block" (click)="reviewAttempt()"> |                 <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 }} |                     {{ 'addon.mod_quiz.review' | translate }} | ||||||
|                 </ion-button> |                 </ion-button> | ||||||
|             </div> |             </div> | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ | |||||||
|             <ion-button fill="clear" id="addon-mod_quiz-connection-error-button" [hidden]="!autoSaveError" |             <ion-button fill="clear" id="addon-mod_quiz-connection-error-button" [hidden]="!autoSaveError" | ||||||
|                 (click)="showConnectionError($event)" [attr.aria-label]="'addon.mod_quiz.connectionerror' | translate" |                 (click)="showConnectionError($event)" [attr.aria-label]="'addon.mod_quiz.connectionerror' | translate" | ||||||
|                 aria-haspopup="dialog"> |                 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> | ||||||
|             <ion-button *ngIf="navigation.length" [attr.aria-label]="'addon.mod_quiz.opentoc' | translate" (click)="openNavigation()"> |             <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> |                 <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" |                 <ion-button *ngIf="preventSubmitMessages.length" expand="block" class="ion-margin ion-text-wrap" [href]="moduleUrl" | ||||||
|                     core-link [showBrowserWarning]="false"> |                     core-link [showBrowserWarning]="false"> | ||||||
|                     {{ 'core.openinbrowser' | translate }} |                     {{ '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-button> | ||||||
| 
 | 
 | ||||||
|                 <!-- Button to submit the quiz. --> |                 <!-- Button to submit the quiz. --> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -15,7 +15,7 @@ | |||||||
| 
 | 
 | ||||||
|     <ion-card class="core-warning-card" *ngIf="warning"> |     <ion-card class="core-warning-card" *ngIf="warning"> | ||||||
|         <ion-item> |         <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-label><span [innerHTML]="warning"></span></ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
| @ -66,7 +66,7 @@ | |||||||
|                         <ion-grid *ngIf="currentStatus === outdatedStatus" class="addon-mod_resource-outdated"> |                         <ion-grid *ngIf="currentStatus === outdatedStatus" class="addon-mod_resource-outdated"> | ||||||
|                             <ion-row class="ion-align-items-center"> |                             <ion-row class="ion-align-items-center"> | ||||||
|                                 <ion-col size="auto"> |                                 <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> | ||||||
|                                 <ion-col> |                                 <ion-col> | ||||||
|                                     <p><strong>{{ 'addon.mod_resource.resourcestatusoutdated' | translate }}</strong></p> |                                     <p><strong>{{ 'addon.mod_resource.resourcestatusoutdated' | translate }}</strong></p> | ||||||
| @ -83,7 +83,7 @@ | |||||||
|         <div class="list-item-limited-width" *ngIf="mode == 'external'"> |         <div class="list-item-limited-width" *ngIf="mode == 'external'"> | ||||||
|             <ion-button *ngIf="isIOS && (!shouldOpenInBrowser || !isOnline)" expand="block" fill="outline" |             <ion-button *ngIf="isIOS && (!shouldOpenInBrowser || !isOnline)" expand="block" fill="outline" | ||||||
|                 (click)="open(openFileAction.OPEN_WITH)" class="ion-margin ion-text-wrap"> |                 (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 }} |                 {{ 'core.openwith' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -83,7 +83,7 @@ export class AddonModResourceModuleHandlerService extends CoreModuleHandlerBase | |||||||
|         }; |         }; | ||||||
|         handlerData.buttons = [{ |         handlerData.buttons = [{ | ||||||
|             hidden: true, |             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'), |             label: module.name + ': ' + Translate.instant(openWithPicker ? 'core.openwith' : 'addon.mod_resource.openthefile'), | ||||||
|             action: async (event: Event, module: CoreCourseModuleData, courseId: number): Promise<void> => { |             action: async (event: Event, module: CoreCourseModuleData, courseId: number): Promise<void> => { | ||||||
|                 const hide = await this.hideOpenButton(module); |                 const hide = await this.hideOpenButton(module); | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -16,7 +16,7 @@ | |||||||
|     <!-- Warning message. --> |     <!-- Warning message. --> | ||||||
|     <ion-card class="core-info-card" *ngIf="scorm && scorm.warningMessage"> |     <ion-card class="core-info-card" *ngIf="scorm && scorm.warningMessage"> | ||||||
|         <ion-item> |         <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-label>{{ scorm.warningMessage }}</ion-label> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|     </ion-card> |     </ion-card> | ||||||
| @ -168,7 +168,7 @@ | |||||||
|                 </ion-item> |                 </ion-item> | ||||||
|                 <ion-button class="ion-margin ion-text-wrap" expand="block" [href]="module.url" core-link [showBrowserWarning]="false"> |                 <ion-button class="ion-margin ion-text-wrap" expand="block" [href]="module.url" core-link [showBrowserWarning]="false"> | ||||||
|                     {{ 'core.openinbrowser' | translate }} |                     {{ '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-button> | ||||||
|             </ng-container> |             </ng-container> | ||||||
| 
 | 
 | ||||||
| @ -201,7 +201,7 @@ | |||||||
|                         <!-- Open mode (Preview or Normal) --> |                         <!-- Open mode (Preview or Normal) --> | ||||||
|                         <ion-button *ngIf="!scorm.hidebrowse" expand="block" fill="outline" (click)="open($event, true)" |                         <ion-button *ngIf="!scorm.hidebrowse" expand="block" fill="outline" (click)="open($event, true)" | ||||||
|                             class="ion-text-wrap ion-margin"> |                             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 }} |                             {{ 'addon.mod_scorm.browse' | translate }} | ||||||
|                         </ion-button> |                         </ion-button> | ||||||
|                         <ion-button expand="block" (click)="open($event)" class="ion-text-wrap ion-margin"> |                         <ion-button expand="block" (click)="open($event)" class="ion-text-wrap ion-margin"> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -49,17 +49,17 @@ const STATUSES = { | |||||||
|     'n': 'notattempted', |     'n': 'notattempted', | ||||||
| }; | }; | ||||||
| const STATUS_TO_ICON = { | const STATUS_TO_ICON = { | ||||||
|     assetc: 'far-file-archive', |     assetc: 'far-file-zipper', | ||||||
|     asset: 'far-file-archive', |     asset: 'far-file-zipper', | ||||||
|     browsed: 'fas-book', |     browsed: 'fas-book', | ||||||
|     completed: 'far-check-square', |     completed: 'far-square-check', | ||||||
|     failed: 'fas-times', |     failed: 'fas-xmark', | ||||||
|     incomplete: 'far-edit', |     incomplete: 'far-pen-to-square', | ||||||
|     minus: 'fas-minus', |     minus: 'fas-minus', | ||||||
|     notattempted: 'far-square', |     notattempted: 'far-square', | ||||||
|     passed: 'fas-check', |     passed: 'fas-check', | ||||||
|     plus: 'fas-plus', |     plus: 'fas-plus', | ||||||
|     popdown: 'far-window-close', |     popdown: 'far-rectangle-xmark', | ||||||
|     popup: 'fas-window-restore', |     popup: 'fas-window-restore', | ||||||
|     suspend: 'fas-pause', |     suspend: 'fas-pause', | ||||||
|     wait: 'far-clock', |     wait: 'far-clock', | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -120,7 +120,7 @@ | |||||||
|         <div class="list-item-limited-width" *ngIf="survey && (survey.surveydone || (!hasOffline && questions && questions.length))"> |         <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"> |             <ion-button class="ion-text-wrap ion-margin" expand="block" [href]="module.url" core-link *ngIf="survey.surveydone"> | ||||||
|                 {{ 'addon.mod_survey.results' | translate }} |                 {{ '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> | ||||||
| 
 | 
 | ||||||
|             <ion-button expand="block" class="ion-text-wrap ion-margin" (click)="submit()" [disabled]="!isValidResponse()" |             <ion-button expand="block" class="ion-text-wrap ion-margin" (click)="submit()" [disabled]="!isValidResponse()" | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -14,7 +14,7 @@ | |||||||
| 
 | 
 | ||||||
|     <core-context-menu> |     <core-context-menu> | ||||||
|         <core-context-menu-item *ngIf="canEdit && (isOnline || pageIsOffline)" [priority]="590" [content]="'core.edit' | translate" |         <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> | ||||||
|         <core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="fas-plus" |         <core-context-menu-item *ngIf="canEdit" [priority]="580" [content]="'addon.mod_wiki.createpage' | translate" iconAction="fas-plus" | ||||||
|             (action)="goToNewPage()"> |             (action)="goToNewPage()"> | ||||||
| @ -22,7 +22,7 @@ | |||||||
|     </core-context-menu> |     </core-context-menu> | ||||||
| 
 | 
 | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -38,7 +38,7 @@ | |||||||
|         <!-- Wiki has something offline. --> |         <!-- Wiki has something offline. --> | ||||||
|         <ion-card class="core-warning-card" *ngIf="pageIsOffline || hasOffline"> |         <ion-card class="core-warning-card" *ngIf="pageIsOffline || hasOffline"> | ||||||
|             <ion-item class="ion-text-wrap"> |             <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> |                 <ion-label> | ||||||
|                     <span *ngIf="pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: pageStr} }}</span> |                     <span *ngIf="pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: pageStr} }}</span> | ||||||
|                     <span *ngIf="!pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: moduleName} }}</span> |                     <span *ngIf="!pageIsOffline">{{ 'core.hasdatatosync' | translate:{$a: moduleName} }}</span> | ||||||
| @ -49,7 +49,7 @@ | |||||||
|         <!-- Page warning. --> |         <!-- Page warning. --> | ||||||
|         <ion-card class="core-warning-card" *ngIf="pageWarning"> |         <ion-card class="core-warning-card" *ngIf="pageWarning"> | ||||||
|             <ion-item> |             <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-label>{{ pageWarning }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
| @ -60,7 +60,7 @@ | |||||||
|             <core-format-text *ngIf="pageContent" [component]="component" [componentId]="componentId" [text]="pageContent" |             <core-format-text *ngIf="pageContent" [component]="component" [componentId]="componentId" [text]="pageContent" | ||||||
|                 contextLevel="module" [contextInstanceId]="module.id" [courseId]="courseId"> |                 contextLevel="module" [contextInstanceId]="module.id" [courseId]="courseId"> | ||||||
|             </core-format-text> |             </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> |             </core-empty-box> | ||||||
|         </article> |         </article> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
| @ -15,7 +15,7 @@ | |||||||
|         <ion-list> |         <ion-list> | ||||||
|             <!-- Go to "home". --> |             <!-- Go to "home". --> | ||||||
|             <ion-item class="ion-text-wrap" *ngIf="homeView" (click)="goToWikiHome()" button detail="true"> |             <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-label>{{ 'addon.mod_wiki.gowikihome' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|             <ng-container *ngFor="let letter of map"> |             <ng-container *ngFor="let letter of map"> | ||||||
| @ -26,7 +26,7 @@ | |||||||
|                 </ion-item-divider> |                 </ion-item-divider> | ||||||
|                 <ion-item class="ion-text-wrap" *ngFor="let page of letter.pages" (click)="goToPage(page)" |                 <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"> |                     [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> |                     <ion-label> | ||||||
|                         <core-format-text [text]="page.title" contextLevel="module" [contextInstanceId]="moduleId" [courseId]="courseId"> |                         <core-format-text [text]="page.title" contextLevel="module" [contextInstanceId]="moduleId" [courseId]="courseId"> | ||||||
|                         </core-format-text> |                         </core-format-text> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <!-- Buttons to add to the header. --> | <!-- Buttons to add to the header. --> | ||||||
| <core-navbar-buttons slot="end"> | <core-navbar-buttons slot="end"> | ||||||
|     <ion-button fill="clear" (click)="openModuleSummary()" aria-haspopup="true" [attr.aria-label]="'core.info' | translate"> |     <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> |     </ion-button> | ||||||
| </core-navbar-buttons> | </core-navbar-buttons> | ||||||
| 
 | 
 | ||||||
| @ -24,17 +24,17 @@ | |||||||
|             <ion-item button class="ion-text-wrap" *ngFor="let task of phases[workshop!.phase].tasks" |             <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"> |                 [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="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> | ||||||
|                 <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> | ||||||
|                 <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-icon> | ||||||
|                 <ion-label> |                 <ion-label> | ||||||
|                     <p class="item-heading">{{task.title}}</p> |                     <p class="item-heading">{{task.title}}</p> | ||||||
|                     <p *ngIf="task.details" [innerHTML]="task.details"></p> |                     <p *ngIf="task.details" [innerHTML]="task.details"></p> | ||||||
|                 </ion-label> |                 </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-icon> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ng-container> |         </ng-container> | ||||||
| @ -220,7 +220,7 @@ | |||||||
|             </ion-button> |             </ion-button> | ||||||
|             <ion-button expand="block" *ngIf="access.modifyingsubmissionallowed && submission" (click)="gotoSubmit()" |             <ion-button expand="block" *ngIf="access.modifyingsubmissionallowed && submission" (click)="gotoSubmit()" | ||||||
|                 class="ion-text-wrap ion-margin"> |                 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 }} |                 {{ 'addon.mod_workshop.editsubmission' | translate }} | ||||||
|             </ion-button> |             </ion-button> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
| @ -22,28 +22,28 @@ | |||||||
|                 </ion-label> |                 </ion-label> | ||||||
|             </ion-item-divider> |             </ion-item-divider> | ||||||
|             <ion-item class="ion-text-wrap" *ngIf="phase.switchUrl" [href]="phase.switchUrl" detail="false"> |             <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> |                 <ion-label> | ||||||
|                     <p>{{ 'addon.mod_workshop.switchphase' + phase.code | translate }}</p> |                     <p>{{ 'addon.mod_workshop.switchphase' + phase.code | translate }}</p> | ||||||
|                 </ion-label> |                 </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> | ||||||
|             <ion-item class="ion-text-wrap" *ngFor="let task of phase.tasks" |             <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)" |                 [class.item-dimmed]="phase.code != workshopPhase || (task.code == 'submit' && !showSubmit)" (click)="runTask(task)" | ||||||
|                 detail="false" button> |                 detail="false" button> | ||||||
|                 <ion-icon slot="start" name="far-circle" *ngIf="task.completed == null" |                 <ion-icon slot="start" name="far-circle" *ngIf="task.completed == null" | ||||||
|                     [attr.aria-label]="'addon.mod_workshop.tasktodo' | translate"></ion-icon> |                     [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> |                     [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> |                     [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> |                     [attr.aria-label]="'addon.mod_workshop.taskdone' | translate"></ion-icon> | ||||||
|                 <ion-label> |                 <ion-label> | ||||||
|                     <p class="item-heading ion-text-wrap">{{task.title}}</p> |                     <p class="item-heading ion-text-wrap">{{task.title}}</p> | ||||||
|                     <p *ngIf="task.details" [innerHTML]="task.details"></p> |                     <p *ngIf="task.details" [innerHTML]="task.details"></p> | ||||||
|                 </ion-label> |                 </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-icon> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ng-container> |         </ng-container> | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ | |||||||
|             <ion-item class="ion-text-wrap" *ngIf="canEdit || canDelete"> |             <ion-item class="ion-text-wrap" *ngIf="canEdit || canDelete"> | ||||||
|                 <ion-label> |                 <ion-label> | ||||||
|                     <ion-button expand="block" *ngIf="canEdit" (click)="editSubmission()"> |                     <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 }} |                         {{ 'addon.mod_workshop.editsubmission' | translate }} | ||||||
|                     </ion-button> |                     </ion-button> | ||||||
|                     <ion-button expand="block" *ngIf="!submission.deleted && canDelete" color="danger" (click)="deleteSubmission()"> |                     <ion-button expand="block" *ngIf="!submission.deleted && canDelete" color="danger" (click)="deleteSubmission()"> | ||||||
| @ -42,7 +42,7 @@ | |||||||
|                     </ion-button> |                     </ion-button> | ||||||
|                     <ion-button expand="block" fill="outline" *ngIf="submission.deleted && canDelete" color="danger" |                     <ion-button expand="block" fill="outline" *ngIf="submission.deleted && canDelete" color="danger" | ||||||
|                         (click)="undoDeleteSubmission()"> |                         (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 }} |                         {{ 'core.restore' | translate }} | ||||||
|                     </ion-button> |                     </ion-button> | ||||||
|                 </ion-label> |                 </ion-label> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|         </ion-title> |         </ion-title> | ||||||
|         <ion-buttons slot="end"> |         <ion-buttons slot="end"> | ||||||
|             <ion-button fill="clear" (click)="closeModal()" [attr.aria-label]="'core.close' | translate"> |             <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-button> | ||||||
|         </ion-buttons> |         </ion-buttons> | ||||||
|     </ion-toolbar> |     </ion-toolbar> | ||||||
|  | |||||||
| @ -52,7 +52,7 @@ | |||||||
| 
 | 
 | ||||||
|         <ion-card class="core-warning-card" *ngIf="hasOffline"> |         <ion-card class="core-warning-card" *ngIf="hasOffline"> | ||||||
|             <ion-item> |             <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> |                 <ion-label> | ||||||
|                     {{ 'core.thereisdatatosync' | translate:{$a: 'addon.notes.notes' | translate | lowercase } }} |                     {{ 'core.thereisdatatosync' | translate:{$a: 'addon.notes.notes' | translate | lowercase } }} | ||||||
|                 </ion-label> |                 </ion-label> | ||||||
| @ -84,7 +84,7 @@ | |||||||
|                     </p> |                     </p> | ||||||
|                     <ion-button *ngIf="note.deleted" slot="end" fill="clear" color="danger" (click)="undoDeleteNote($event, note)" |                     <ion-button *ngIf="note.deleted" slot="end" fill="clear" color="danger" (click)="undoDeleteNote($event, note)" | ||||||
|                         [attr.aria-label]="'core.restore' | translate"> |                         [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> | ||||||
|                     <ion-button *ngIf="showDelete && !note.deleted && (type != 'personal' || note.usermodified == currentUserId)" slot="end" |                     <ion-button *ngIf="showDelete && !note.deleted && (type != 'personal' || note.usermodified == currentUserId)" slot="end" | ||||||
|                         fill="clear" [@coreSlideInOut]="'fromRight'" color="danger" (click)="deleteNote($event, note)" |                         fill="clear" [@coreSlideInOut]="'fromRight'" color="danger" (click)="deleteNote($event, note)" | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ | |||||||
|         <ion-label> |         <ion-label> | ||||||
|             <ion-card *ngIf="!question.readOnly" class="core-info-card"> |             <ion-card *ngIf="!question.readOnly" class="core-info-card"> | ||||||
|                 <ion-item> |                 <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-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label> | ||||||
|                 </ion-item> |                 </ion-item> | ||||||
|             </ion-card> |             </ion-card> | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ | |||||||
|         <ion-label> |         <ion-label> | ||||||
|             <ion-card *ngIf="!question.readOnly" class="core-info-card"> |             <ion-card *ngIf="!question.readOnly" class="core-info-card"> | ||||||
|                 <ion-item> |                 <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-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label> | ||||||
|                 </ion-item> |                 </ion-item> | ||||||
|             </ion-card> |             </ion-card> | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ | |||||||
|     <div class="fake-ion-item ion-text-wrap" [hidden]="!question.loaded"> |     <div class="fake-ion-item ion-text-wrap" [hidden]="!question.loaded"> | ||||||
|         <ion-card *ngIf="!question.readOnly" class="core-info-card"> |         <ion-card *ngIf="!question.readOnly" class="core-info-card"> | ||||||
|             <ion-item> |             <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-label>{{ 'core.question.howtodraganddrop' | translate }}</ion-label> | ||||||
|             </ion-item> |             </ion-item> | ||||||
|         </ion-card> |         </ion-card> | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ | |||||||
|         </ion-select> |         </ion-select> | ||||||
|         <ion-icon *ngIf="row.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success" slot="end" |         <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> |             [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> |             [attr.aria-label]="'core.question.incorrect' | translate"></ion-icon> | ||||||
|     </ion-item> |     </ion-item> | ||||||
| </section> | </section> | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ | |||||||
| 
 | 
 | ||||||
|             <ion-icon *ngIf="option.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success" |             <ion-icon *ngIf="option.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success" | ||||||
|                 [attr.aria-label]="'core.question.correct' | translate"></ion-icon> |                 [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> |                 [attr.aria-label]="'core.question.incorrect' | translate"></ion-icon> | ||||||
| 
 | 
 | ||||||
|             <!-- ion-checkbox doesn't use an input. Create a hidden input to hold the value. --> |             <!-- 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" |             <ion-icon *ngIf="option.isCorrect === 1" class="core-correct-icon" name="fas-check" color="success" | ||||||
|                 [attr.aria-label]="'core.question.correct' | translate"></ion-icon> |                 [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> |                 [attr.aria-label]="'core.question.incorrect' | translate"></ion-icon> | ||||||
|         </ion-item> |         </ion-item> | ||||||
|         <ion-button *ngIf="!question.disabled" class="ion-text-wrap ion-margin-top" expand="block" fill="outline" |         <ion-button *ngIf="!question.disabled" class="ion-text-wrap ion-margin-top" expand="block" fill="outline" | ||||||
|  | |||||||
| @ -40,7 +40,7 @@ export class AddonStorageManagerSettingsHandlerService implements CoreSettingsHa | |||||||
|      */ |      */ | ||||||
|     getDisplayData(): CoreSettingsHandlerData { |     getDisplayData(): CoreSettingsHandlerData { | ||||||
|         return { |         return { | ||||||
|             icon: 'fas-archive', |             icon: 'fas-box-archive', | ||||||
|             title: 'addon.storagemanager.managedownloads', |             title: 'addon.storagemanager.managedownloads', | ||||||
|             page: AddonStorageManagerSettingsHandlerService.PAGE_NAME, |             page: AddonStorageManagerSettingsHandlerService.PAGE_NAME, | ||||||
|             class: 'addon-storagemanager-settings-handler', |             class: 'addon-storagemanager-settings-handler', | ||||||
|  | |||||||
							
								
								
									
										165
									
								
								src/assets/fonts/font-awesome/LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,165 @@ | |||||||
|  | Fonticons, Inc. (https://fontawesome.com) | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | Font Awesome Free License | ||||||
|  | 
 | ||||||
|  | Font Awesome Free is free, open source, and GPL friendly. You can use it for | ||||||
|  | commercial projects, open source projects, or really almost whatever you want. | ||||||
|  | Full Font Awesome Free license: https://fontawesome.com/license/free. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) | ||||||
|  | 
 | ||||||
|  | The Font Awesome Free download is licensed under a Creative Commons | ||||||
|  | Attribution 4.0 International License and applies to all icons packaged | ||||||
|  | as SVG and JS file types. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | # Fonts: SIL OFL 1.1 License | ||||||
|  | 
 | ||||||
|  | In the Font Awesome Free download, the SIL OFL license applies to all icons | ||||||
|  | packaged as web and desktop font files. | ||||||
|  | 
 | ||||||
|  | Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) | ||||||
|  | with Reserved Font Name: "Font Awesome". | ||||||
|  | 
 | ||||||
|  | This Font Software is licensed under the SIL Open Font License, Version 1.1. | ||||||
|  | This license is copied below, and is also available with a FAQ at: | ||||||
|  | http://scripts.sil.org/OFL | ||||||
|  | 
 | ||||||
|  | SIL OPEN FONT LICENSE | ||||||
|  | Version 1.1 - 26 February 2007 | ||||||
|  | 
 | ||||||
|  | PREAMBLE | ||||||
|  | The goals of the Open Font License (OFL) are to stimulate worldwide | ||||||
|  | development of collaborative font projects, to support the font creation | ||||||
|  | efforts of academic and linguistic communities, and to provide a free and | ||||||
|  | open framework in which fonts may be shared and improved in partnership | ||||||
|  | with others. | ||||||
|  | 
 | ||||||
|  | The OFL allows the licensed fonts to be used, studied, modified and | ||||||
|  | redistributed freely as long as they are not sold by themselves. The | ||||||
|  | fonts, including any derivative works, can be bundled, embedded, | ||||||
|  | redistributed and/or sold with any software provided that any reserved | ||||||
|  | names are not used by derivative works. The fonts and derivatives, | ||||||
|  | however, cannot be released under any other type of license. The | ||||||
|  | requirement for fonts to remain under this license does not apply | ||||||
|  | to any document created using the fonts or their derivatives. | ||||||
|  | 
 | ||||||
|  | DEFINITIONS | ||||||
|  | "Font Software" refers to the set of files released by the Copyright | ||||||
|  | Holder(s) under this license and clearly marked as such. This may | ||||||
|  | include source files, build scripts and documentation. | ||||||
|  | 
 | ||||||
|  | "Reserved Font Name" refers to any names specified as such after the | ||||||
|  | copyright statement(s). | ||||||
|  | 
 | ||||||
|  | "Original Version" refers to the collection of Font Software components as | ||||||
|  | distributed by the Copyright Holder(s). | ||||||
|  | 
 | ||||||
|  | "Modified Version" refers to any derivative made by adding to, deleting, | ||||||
|  | or substituting — in part or in whole — any of the components of the | ||||||
|  | Original Version, by changing formats or by porting the Font Software to a | ||||||
|  | new environment. | ||||||
|  | 
 | ||||||
|  | "Author" refers to any designer, engineer, programmer, technical | ||||||
|  | writer or other person who contributed to the Font Software. | ||||||
|  | 
 | ||||||
|  | PERMISSION & CONDITIONS | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining | ||||||
|  | a copy of the Font Software, to use, study, copy, merge, embed, modify, | ||||||
|  | redistribute, and sell modified and unmodified copies of the Font | ||||||
|  | Software, subject to the following conditions: | ||||||
|  | 
 | ||||||
|  | 1) Neither the Font Software nor any of its individual components, | ||||||
|  | in Original or Modified Versions, may be sold by itself. | ||||||
|  | 
 | ||||||
|  | 2) Original or Modified Versions of the Font Software may be bundled, | ||||||
|  | redistributed and/or sold with any software, provided that each copy | ||||||
|  | contains the above copyright notice and this license. These can be | ||||||
|  | included either as stand-alone text files, human-readable headers or | ||||||
|  | in the appropriate machine-readable metadata fields within text or | ||||||
|  | binary files as long as those fields can be easily viewed by the user. | ||||||
|  | 
 | ||||||
|  | 3) No Modified Version of the Font Software may use the Reserved Font | ||||||
|  | Name(s) unless explicit written permission is granted by the corresponding | ||||||
|  | Copyright Holder. This restriction only applies to the primary font name as | ||||||
|  | presented to the users. | ||||||
|  | 
 | ||||||
|  | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font | ||||||
|  | Software shall not be used to promote, endorse or advertise any | ||||||
|  | Modified Version, except to acknowledge the contribution(s) of the | ||||||
|  | Copyright Holder(s) and the Author(s) or with their explicit written | ||||||
|  | permission. | ||||||
|  | 
 | ||||||
|  | 5) The Font Software, modified or unmodified, in part or in whole, | ||||||
|  | must be distributed entirely under this license, and must not be | ||||||
|  | distributed under any other license. The requirement for fonts to | ||||||
|  | remain under this license does not apply to any document created | ||||||
|  | using the Font Software. | ||||||
|  | 
 | ||||||
|  | TERMINATION | ||||||
|  | This license becomes null and void if any of the above conditions are | ||||||
|  | not met. | ||||||
|  | 
 | ||||||
|  | DISCLAIMER | ||||||
|  | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||||
|  | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||||||
|  | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||||||
|  | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE | ||||||
|  | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||||
|  | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||||||
|  | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||||
|  | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||||||
|  | OTHER DEALINGS IN THE FONT SOFTWARE. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | # Code: MIT License (https://opensource.org/licenses/MIT) | ||||||
|  | 
 | ||||||
|  | In the Font Awesome Free download, the MIT license applies to all non-font and | ||||||
|  | non-icon files. | ||||||
|  | 
 | ||||||
|  | Copyright 2023 Fonticons, Inc. | ||||||
|  | 
 | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||||
|  | this software and associated documentation files (the "Software"), to deal in the | ||||||
|  | Software without restriction, including without limitation the rights to use, copy, | ||||||
|  | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, | ||||||
|  | and to permit persons to whom the Software is furnished to do so, subject to the | ||||||
|  | following conditions: | ||||||
|  | 
 | ||||||
|  | The above copyright notice and this permission notice shall be included in all | ||||||
|  | copies or substantial portions of the Software. | ||||||
|  | 
 | ||||||
|  | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | ||||||
|  | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||||||
|  | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||||||
|  | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||||||
|  | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||||||
|  | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | # Attribution | ||||||
|  | 
 | ||||||
|  | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font | ||||||
|  | Awesome Free files already contain embedded comments with sufficient | ||||||
|  | attribution, so you shouldn't need to do anything additional when using these | ||||||
|  | files normally. | ||||||
|  | 
 | ||||||
|  | We've kept attribution comments terse, so we ask that you do not actively work | ||||||
|  | to remove them from files, especially code. They're a great way for folks to | ||||||
|  | learn about Font Awesome. | ||||||
|  | 
 | ||||||
|  | -------------------------------------------------------------------------------- | ||||||
|  | 
 | ||||||
|  | # Brand Icons | ||||||
|  | 
 | ||||||
|  | All brand icons are trademarks of their respective owners. The use of these | ||||||
|  | trademarks does not indicate endorsement of the trademark holder by Font | ||||||
|  | Awesome, nor vice versa. **Please do not use brand logos for any purpose except | ||||||
|  | to represent the company, product, or service to which they refer.** | ||||||
							
								
								
									
										565
									
								
								src/assets/fonts/font-awesome/aliases.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,565 @@ | |||||||
|  | { | ||||||
|  |   "ad": "rectangle-ad", | ||||||
|  |   "add": "plus", | ||||||
|  |   "adjust": "circle-half-stroke", | ||||||
|  |   "air-freshener": "spray-can-sparkles", | ||||||
|  |   "allergies": "hand-dots", | ||||||
|  |   "ambulance": "truck-medical", | ||||||
|  |   "american-sign-language-interpreting": "hands-asl-interpreting", | ||||||
|  |   "angle-double-down": "angles-down", | ||||||
|  |   "angle-double-left": "angles-left", | ||||||
|  |   "angle-double-right": "angles-right", | ||||||
|  |   "angle-double-up": "angles-up", | ||||||
|  |   "angry": "face-angry", | ||||||
|  |   "apple-alt": "apple-whole", | ||||||
|  |   "archive": "box-archive", | ||||||
|  |   "area-chart": "chart-area", | ||||||
|  |   "arrow-alt-circle-down": "circle-down", | ||||||
|  |   "arrow-alt-circle-left": "circle-left", | ||||||
|  |   "arrow-alt-circle-right": "circle-right", | ||||||
|  |   "arrow-alt-circle-up": "circle-up", | ||||||
|  |   "arrow-circle-down": "circle-arrow-down", | ||||||
|  |   "arrow-circle-left": "circle-arrow-left", | ||||||
|  |   "arrow-circle-right": "circle-arrow-right", | ||||||
|  |   "arrow-circle-up": "circle-arrow-up", | ||||||
|  |   "arrow-left-rotate": "arrow-rotate-left", | ||||||
|  |   "arrow-right-from-file": "file-export", | ||||||
|  |   "arrow-right-rotate": "arrow-rotate-right", | ||||||
|  |   "arrow-right-to-file": "file-import", | ||||||
|  |   "arrow-rotate-back": "arrow-rotate-left", | ||||||
|  |   "arrow-rotate-backward": "arrow-rotate-left", | ||||||
|  |   "arrow-rotate-forward": "arrow-rotate-right", | ||||||
|  |   "arrow-turn-right": "share", | ||||||
|  |   "arrows-alt-h": "left-right", | ||||||
|  |   "arrows-alt-v": "up-down", | ||||||
|  |   "arrows-alt": "up-down-left-right", | ||||||
|  |   "arrows-h": "arrows-left-right", | ||||||
|  |   "arrows-v": "arrows-up-down", | ||||||
|  |   "arrows": "arrows-up-down-left-right", | ||||||
|  |   "asl-interpreting": "hands-asl-interpreting", | ||||||
|  |   "assistive-listening-systems": "ear-listen", | ||||||
|  |   "atlas": "book-atlas", | ||||||
|  |   "automobile": "car", | ||||||
|  |   "backspace": "delete-left", | ||||||
|  |   "balance-scale-left": "scale-unbalanced", | ||||||
|  |   "balance-scale-right": "scale-unbalanced-flip", | ||||||
|  |   "balance-scale": "scale-balanced", | ||||||
|  |   "band-aid": "bandage", | ||||||
|  |   "bank": "building-columns", | ||||||
|  |   "bar-chart": "chart-bar", | ||||||
|  |   "baseball-ball": "baseball", | ||||||
|  |   "basketball-ball": "basketball", | ||||||
|  |   "bathtub": "bath", | ||||||
|  |   "battery-0": "battery-empty", | ||||||
|  |   "battery-2": "battery-quarter", | ||||||
|  |   "battery-3": "battery-half", | ||||||
|  |   "battery-4": "battery-three-quarters", | ||||||
|  |   "battery-5": "battery-full", | ||||||
|  |   "battery-car": "car-battery", | ||||||
|  |   "battery": "battery-full", | ||||||
|  |   "beer": "beer-mug-empty", | ||||||
|  |   "bible": "book-bible", | ||||||
|  |   "biking": "person-biking", | ||||||
|  |   "birthday-cake": "cake-candles", | ||||||
|  |   "blackboard": "chalkboard", | ||||||
|  |   "blind": "person-walking-with-cane", | ||||||
|  |   "book-dead": "book-skull", | ||||||
|  |   "book-reader": "book-open-reader", | ||||||
|  |   "border-style": "border-top-left", | ||||||
|  |   "boxes-alt": "boxes-stacked", | ||||||
|  |   "boxes": "boxes-stacked", | ||||||
|  |   "briefcase-clock": "business-time", | ||||||
|  |   "broadcast-tower": "tower-broadcast", | ||||||
|  |   "burn": "fire-flame-simple", | ||||||
|  |   "bus-alt": "bus-simple", | ||||||
|  |   "cab": "taxi", | ||||||
|  |   "cake": "cake-candles", | ||||||
|  |   "calendar-alt": "calendar-days", | ||||||
|  |   "calendar-times": "calendar-xmark", | ||||||
|  |   "camera-alt": "camera", | ||||||
|  |   "cancel": "ban", | ||||||
|  |   "car-alt": "car-rear", | ||||||
|  |   "car-crash": "car-burst", | ||||||
|  |   "caret-square-down": "square-caret-down", | ||||||
|  |   "caret-square-left": "square-caret-left", | ||||||
|  |   "caret-square-right": "square-caret-right", | ||||||
|  |   "caret-square-up": "square-caret-up", | ||||||
|  |   "carriage-baby": "baby-carriage", | ||||||
|  |   "chain-broken": "link-slash", | ||||||
|  |   "chain-slash": "link-slash", | ||||||
|  |   "chain": "link", | ||||||
|  |   "chalkboard-teacher": "chalkboard-user", | ||||||
|  |   "check-circle": "circle-check", | ||||||
|  |   "check-square": "square-check", | ||||||
|  |   "chevron-circle-down": "circle-chevron-down", | ||||||
|  |   "chevron-circle-left": "circle-chevron-left", | ||||||
|  |   "chevron-circle-right": "circle-chevron-right", | ||||||
|  |   "chevron-circle-up": "circle-chevron-up", | ||||||
|  |   "child-rifle": "child-combatant", | ||||||
|  |   "clinic-medical": "house-chimney-medical", | ||||||
|  |   "clock-four": "clock", | ||||||
|  |   "close": "xmark", | ||||||
|  |   "cloud-download-alt": "cloud-arrow-down", | ||||||
|  |   "cloud-download": "cloud-arrow-down", | ||||||
|  |   "cloud-upload-alt": "cloud-arrow-up", | ||||||
|  |   "cloud-upload": "cloud-arrow-up", | ||||||
|  |   "cny": "yen-sign", | ||||||
|  |   "cocktail": "martini-glass-citrus", | ||||||
|  |   "coffee": "mug-saucer", | ||||||
|  |   "cog": "gear", | ||||||
|  |   "cogs": "gears", | ||||||
|  |   "columns": "table-columns", | ||||||
|  |   "comment-alt": "message", | ||||||
|  |   "commenting": "comment-dots", | ||||||
|  |   "compress-alt": "down-left-and-up-right-to-center", | ||||||
|  |   "compress-arrows-alt": "minimize", | ||||||
|  |   "concierge-bell": "bell-concierge", | ||||||
|  |   "contact-book": "address-book", | ||||||
|  |   "contact-card": "address-card", | ||||||
|  |   "credit-card-alt": "credit-card", | ||||||
|  |   "crop-alt": "crop-simple", | ||||||
|  |   "cut": "scissors", | ||||||
|  |   "cutlery": "utensils", | ||||||
|  |   "dashboard": "gauge", | ||||||
|  |   "deaf": "ear-deaf", | ||||||
|  |   "deafness": "ear-deaf", | ||||||
|  |   "dedent": "outdent", | ||||||
|  |   "desktop-alt": "desktop", | ||||||
|  |   "diagnoses": "person-dots-from-line", | ||||||
|  |   "digging": "person-digging", | ||||||
|  |   "digital-tachograph": "tachograph-digital", | ||||||
|  |   "directions": "diamond-turn-right", | ||||||
|  |   "dizzy": "face-dizzy", | ||||||
|  |   "dollar": "dollar-sign", | ||||||
|  |   "dolly-box": "dolly", | ||||||
|  |   "dolly-flatbed": "cart-flatbed", | ||||||
|  |   "donate": "circle-dollar-to-slot", | ||||||
|  |   "dot-circle": "circle-dot", | ||||||
|  |   "drafting-compass": "compass-drafting", | ||||||
|  |   "drivers-license": "id-card", | ||||||
|  |   "earth-america": "earth-americas", | ||||||
|  |   "earth": "earth-americas", | ||||||
|  |   "edit": "pen-to-square", | ||||||
|  |   "ellipsis-h": "ellipsis", | ||||||
|  |   "ellipsis-v": "ellipsis-vertical", | ||||||
|  |   "envelope-square": "square-envelope", | ||||||
|  |   "eur": "euro-sign", | ||||||
|  |   "euro": "euro-sign", | ||||||
|  |   "exchange-alt": "right-left", | ||||||
|  |   "exchange": "arrow-right-arrow-left", | ||||||
|  |   "exclamation-circle": "circle-exclamation", | ||||||
|  |   "exclamation-triangle": "triangle-exclamation", | ||||||
|  |   "expand-alt": "up-right-and-down-left-from-center", | ||||||
|  |   "expand-arrows-alt": "maximize", | ||||||
|  |   "external-link-alt": "up-right-from-square", | ||||||
|  |   "external-link-square-alt": "square-up-right", | ||||||
|  |   "external-link-square": "square-arrow-up-right", | ||||||
|  |   "external-link": "arrow-up-right-from-square", | ||||||
|  |   "eye-dropper-empty": "eye-dropper", | ||||||
|  |   "eyedropper": "eye-dropper", | ||||||
|  |   "facebook-square": "square-facebook", | ||||||
|  |   "fast-backward": "backward-fast", | ||||||
|  |   "fast-forward": "forward-fast", | ||||||
|  |   "feather-alt": "feather-pointed", | ||||||
|  |   "feed": "rss", | ||||||
|  |   "female": "person-dress", | ||||||
|  |   "fighter-jet": "jet-fighter", | ||||||
|  |   "file-alt": "file-lines", | ||||||
|  |   "file-archive": "file-zipper", | ||||||
|  |   "file-clipboard": "paste", | ||||||
|  |   "file-download": "file-arrow-down", | ||||||
|  |   "file-edit": "file-pen", | ||||||
|  |   "file-medical-alt": "file-waveform", | ||||||
|  |   "file-text": "file-lines", | ||||||
|  |   "file-upload": "file-arrow-up", | ||||||
|  |   "fire-alt": "fire-flame-curved", | ||||||
|  |   "first-aid": "kit-medical", | ||||||
|  |   "fist-raised": "hand-fist", | ||||||
|  |   "flushed": "face-flushed", | ||||||
|  |   "folder-blank": "folder", | ||||||
|  |   "football-ball": "football", | ||||||
|  |   "frown-open": "face-frown-open", | ||||||
|  |   "frown": "face-frown", | ||||||
|  |   "funnel-dollar": "filter-circle-dollar", | ||||||
|  |   "futbol-ball": "futbol", | ||||||
|  |   "gauge-med": "gauge", | ||||||
|  |   "gauge-simple-med": "gauge-simple", | ||||||
|  |   "gbp": "sterling-sign", | ||||||
|  |   "glass-cheers": "champagne-glasses", | ||||||
|  |   "glass-martini-alt": "martini-glass", | ||||||
|  |   "glass-martini": "martini-glass-empty", | ||||||
|  |   "glass-whiskey": "whiskey-glass", | ||||||
|  |   "globe-africa": "earth-africa", | ||||||
|  |   "globe-americas": "earth-americas", | ||||||
|  |   "globe-asia": "earth-asia", | ||||||
|  |   "globe-europe": "earth-europe", | ||||||
|  |   "globe-oceania": "earth-oceania", | ||||||
|  |   "golf-ball": "golf-ball-tee", | ||||||
|  |   "grimace": "face-grimace", | ||||||
|  |   "grin-alt": "face-grin-wide", | ||||||
|  |   "grin-beam-sweat": "face-grin-beam-sweat", | ||||||
|  |   "grin-beam": "face-grin-beam", | ||||||
|  |   "grin-hearts": "face-grin-hearts", | ||||||
|  |   "grin-squint-tears": "face-grin-squint-tears", | ||||||
|  |   "grin-squint": "face-grin-squint", | ||||||
|  |   "grin-stars": "face-grin-stars", | ||||||
|  |   "grin-tears": "face-grin-tears", | ||||||
|  |   "grin-tongue-squint": "face-grin-tongue-squint", | ||||||
|  |   "grin-tongue-wink": "face-grin-tongue-wink", | ||||||
|  |   "grin-tongue": "face-grin-tongue", | ||||||
|  |   "grin-wink": "face-grin-wink", | ||||||
|  |   "grin": "face-grin", | ||||||
|  |   "grip-horizontal": "grip", | ||||||
|  |   "h-square": "square-h", | ||||||
|  |   "hamburger": "burger", | ||||||
|  |   "hand-holding-usd": "hand-holding-dollar", | ||||||
|  |   "hand-holding-water": "hand-holding-droplet", | ||||||
|  |   "hand-paper": "hand", | ||||||
|  |   "hand-rock": "hand-back-fist", | ||||||
|  |   "hands-american-sign-language-interpreting": "hands-asl-interpreting", | ||||||
|  |   "hands-helping": "handshake-angle", | ||||||
|  |   "hands-wash": "hands-bubbles", | ||||||
|  |   "handshake-alt-slash": "handshake-simple-slash", | ||||||
|  |   "handshake-alt": "handshake-simple", | ||||||
|  |   "hard-hat": "helmet-safety", | ||||||
|  |   "hard-of-hearing": "ear-deaf", | ||||||
|  |   "hat-hard": "helmet-safety", | ||||||
|  |   "haykal": "bahai", | ||||||
|  |   "hdd": "hard-drive", | ||||||
|  |   "header": "heading", | ||||||
|  |   "headphones-alt": "headphones-simple", | ||||||
|  |   "heart-broken": "heart-crack", | ||||||
|  |   "heart-music-camera-bolt": "icons", | ||||||
|  |   "heartbeat": "heart-pulse", | ||||||
|  |   "hiking": "person-hiking", | ||||||
|  |   "history": "clock-rotate-left", | ||||||
|  |   "home-alt": "house", | ||||||
|  |   "home-lg-alt": "house", | ||||||
|  |   "home-lg": "house-chimney", | ||||||
|  |   "home-user": "house-user", | ||||||
|  |   "home": "house", | ||||||
|  |   "hospital-alt": "hospital", | ||||||
|  |   "hospital-symbol": "circle-h", | ||||||
|  |   "hospital-wide": "hospital", | ||||||
|  |   "hot-tub": "hot-tub-person", | ||||||
|  |   "hourglass-1": "hourglass-start", | ||||||
|  |   "hourglass-2": "hourglass-half", | ||||||
|  |   "hourglass-3": "hourglass-end", | ||||||
|  |   "hourglass-empty": "hourglass", | ||||||
|  |   "house-damage": "house-chimney-crack", | ||||||
|  |   "hryvnia": "hryvnia-sign", | ||||||
|  |   "id-card-alt": "id-card-clip", | ||||||
|  |   "ils": "shekel-sign", | ||||||
|  |   "indian-rupee": "indian-rupee-sign", | ||||||
|  |   "info-circle": "circle-info", | ||||||
|  |   "inr": "indian-rupee-sign", | ||||||
|  |   "institution": "building-columns", | ||||||
|  |   "journal-whills": "book-journal-whills", | ||||||
|  |   "jpy": "yen-sign", | ||||||
|  |   "kiss-beam": "face-kiss-beam", | ||||||
|  |   "kiss-wink-heart": "face-kiss-wink-heart", | ||||||
|  |   "kiss": "face-kiss", | ||||||
|  |   "krw": "won-sign", | ||||||
|  |   "ladder-water": "water-ladder", | ||||||
|  |   "landmark-alt": "landmark-dome", | ||||||
|  |   "laptop-house": "house-laptop", | ||||||
|  |   "laugh-beam": "face-laugh-beam", | ||||||
|  |   "laugh-squint": "face-laugh-squint", | ||||||
|  |   "laugh-wink": "face-laugh-wink", | ||||||
|  |   "laugh": "face-laugh", | ||||||
|  |   "legal": "gavel", | ||||||
|  |   "level-down-alt": "turn-down", | ||||||
|  |   "level-down": "arrow-turn-down", | ||||||
|  |   "level-up-alt": "turn-up", | ||||||
|  |   "level-up": "arrow-turn-up", | ||||||
|  |   "line-chart": "chart-line", | ||||||
|  |   "list-1-2": "list-ol", | ||||||
|  |   "list-alt": "rectangle-list", | ||||||
|  |   "list-dots": "list-ul", | ||||||
|  |   "list-numeric": "list-ol", | ||||||
|  |   "list-squares": "list", | ||||||
|  |   "location": "location-crosshairs", | ||||||
|  |   "long-arrow-alt-down": "down-long", | ||||||
|  |   "long-arrow-alt-left": "left-long", | ||||||
|  |   "long-arrow-alt-right": "right-long", | ||||||
|  |   "long-arrow-alt-up": "up-long", | ||||||
|  |   "long-arrow-down": "arrow-down-long", | ||||||
|  |   "long-arrow-left": "arrow-left-long", | ||||||
|  |   "long-arrow-right": "arrow-right-long", | ||||||
|  |   "long-arrow-up": "arrow-up-long", | ||||||
|  |   "low-vision": "eye-low-vision", | ||||||
|  |   "luggage-cart": "cart-flatbed-suitcase", | ||||||
|  |   "magic-wand-sparkles": "wand-magic-sparkles", | ||||||
|  |   "magic": "wand-magic", | ||||||
|  |   "mail-bulk": "envelopes-bulk", | ||||||
|  |   "mail-forward": "share", | ||||||
|  |   "mail-reply-all": "reply-all", | ||||||
|  |   "mail-reply": "reply", | ||||||
|  |   "male": "person", | ||||||
|  |   "map-marked-alt": "map-location-dot", | ||||||
|  |   "map-marked": "map-location", | ||||||
|  |   "map-marker-alt": "location-dot", | ||||||
|  |   "map-marker": "location-pin", | ||||||
|  |   "map-signs": "signs-post", | ||||||
|  |   "mars-stroke-h": "mars-stroke-right", | ||||||
|  |   "mars-stroke-v": "mars-stroke-up", | ||||||
|  |   "medkit": "suitcase-medical", | ||||||
|  |   "meh-blank": "face-meh-blank", | ||||||
|  |   "meh-rolling-eyes": "face-rolling-eyes", | ||||||
|  |   "meh": "face-meh", | ||||||
|  |   "microphone-alt-slash": "microphone-lines-slash", | ||||||
|  |   "microphone-alt": "microphone-lines", | ||||||
|  |   "minus-circle": "circle-minus", | ||||||
|  |   "minus-square": "square-minus", | ||||||
|  |   "mobile-alt": "mobile-screen-button", | ||||||
|  |   "mobile-android-alt": "mobile-screen", | ||||||
|  |   "mobile-android": "mobile", | ||||||
|  |   "mobile-phone": "mobile", | ||||||
|  |   "money-bill-alt": "money-bill-1", | ||||||
|  |   "money-bill-wave-alt": "money-bill-1-wave", | ||||||
|  |   "money-check-alt": "money-check-dollar", | ||||||
|  |   "mortar-board": "graduation-cap", | ||||||
|  |   "mouse-pointer": "arrow-pointer", | ||||||
|  |   "mouse": "computer-mouse", | ||||||
|  |   "multiply": "xmark", | ||||||
|  |   "museum": "building-columns", | ||||||
|  |   "navicon": "bars", | ||||||
|  |   "paint-brush": "paintbrush", | ||||||
|  |   "parking": "square-parking", | ||||||
|  |   "pastafarianism": "spaghetti-monster-flying", | ||||||
|  |   "pause-circle": "circle-pause", | ||||||
|  |   "pen-alt": "pen-clip", | ||||||
|  |   "pen-square": "square-pen", | ||||||
|  |   "pencil-alt": "pencil", | ||||||
|  |   "pencil-ruler": "pen-ruler", | ||||||
|  |   "pencil-square": "square-pen", | ||||||
|  |   "people-arrows-left-right": "people-arrows", | ||||||
|  |   "people-carry": "people-carry-box", | ||||||
|  |   "percentage": "percent", | ||||||
|  |   "phone-alt": "phone-flip", | ||||||
|  |   "phone-square-alt": "square-phone-flip", | ||||||
|  |   "phone-square": "square-phone", | ||||||
|  |   "photo-video": "photo-film", | ||||||
|  |   "pie-chart": "chart-pie", | ||||||
|  |   "ping-pong-paddle-ball": "table-tennis-paddle-ball", | ||||||
|  |   "play-circle": "circle-play", | ||||||
|  |   "plus-circle": "circle-plus", | ||||||
|  |   "plus-square": "square-plus", | ||||||
|  |   "poll-h": "square-poll-horizontal", | ||||||
|  |   "poll": "square-poll-vertical", | ||||||
|  |   "poo-bolt": "poo-storm", | ||||||
|  |   "portrait": "image-portrait", | ||||||
|  |   "pound-sign": "sterling-sign", | ||||||
|  |   "pray": "person-praying", | ||||||
|  |   "praying-hands": "hands-praying", | ||||||
|  |   "prescription-bottle-alt": "prescription-bottle-medical", | ||||||
|  |   "procedures": "bed-pulse", | ||||||
|  |   "project-diagram": "diagram-project", | ||||||
|  |   "question-circle": "circle-question", | ||||||
|  |   "quidditch-broom-ball": "broom-ball", | ||||||
|  |   "quidditch": "broom-ball", | ||||||
|  |   "quote-left-alt": "quote-left", | ||||||
|  |   "quote-right-alt": "quote-right", | ||||||
|  |   "quran": "book-quran", | ||||||
|  |   "radiation-alt": "circle-radiation", | ||||||
|  |   "random": "shuffle", | ||||||
|  |   "rectangle-times": "rectangle-xmark", | ||||||
|  |   "redo-alt": "rotate-right", | ||||||
|  |   "redo": "arrow-rotate-right", | ||||||
|  |   "refresh": "arrows-rotate", | ||||||
|  |   "remove-format": "text-slash", | ||||||
|  |   "remove": "xmark", | ||||||
|  |   "reorder": "bars-staggered", | ||||||
|  |   "rmb": "yen-sign", | ||||||
|  |   "rod-asclepius": "staff-snake", | ||||||
|  |   "rod-snake": "staff-snake", | ||||||
|  |   "rotate-back": "rotate-left", | ||||||
|  |   "rotate-backward": "rotate-left", | ||||||
|  |   "rotate-forward": "rotate-right", | ||||||
|  |   "rouble": "ruble-sign", | ||||||
|  |   "rss-square": "square-rss", | ||||||
|  |   "rub": "ruble-sign", | ||||||
|  |   "ruble": "ruble-sign", | ||||||
|  |   "running": "person-running", | ||||||
|  |   "rupee": "rupee-sign", | ||||||
|  |   "sad-cry": "face-sad-cry", | ||||||
|  |   "sad-tear": "face-sad-tear", | ||||||
|  |   "save": "floppy-disk", | ||||||
|  |   "search-dollar": "magnifying-glass-dollar", | ||||||
|  |   "search-location": "magnifying-glass-location", | ||||||
|  |   "search-minus": "magnifying-glass-minus", | ||||||
|  |   "search-plus": "magnifying-glass-plus", | ||||||
|  |   "search": "magnifying-glass", | ||||||
|  |   "share-alt-square": "square-share-nodes", | ||||||
|  |   "share-alt": "share-nodes", | ||||||
|  |   "share-square": "share-from-square", | ||||||
|  |   "shekel": "shekel-sign", | ||||||
|  |   "sheqel-sign": "shekel-sign", | ||||||
|  |   "sheqel": "shekel-sign", | ||||||
|  |   "shield-alt": "shield-halved", | ||||||
|  |   "shield-blank": "shield", | ||||||
|  |   "shipping-fast": "truck-fast", | ||||||
|  |   "shopping-bag": "bag-shopping", | ||||||
|  |   "shopping-basket": "basket-shopping", | ||||||
|  |   "shopping-cart": "cart-shopping", | ||||||
|  |   "shuttle-van": "van-shuttle", | ||||||
|  |   "sign-in-alt": "right-to-bracket", | ||||||
|  |   "sign-in": "arrow-right-to-bracket", | ||||||
|  |   "sign-language": "hands", | ||||||
|  |   "sign-out-alt": "right-from-bracket", | ||||||
|  |   "sign-out": "arrow-right-from-bracket", | ||||||
|  |   "sign": "sign-hanging", | ||||||
|  |   "signal-5": "signal", | ||||||
|  |   "signal-perfect": "signal", | ||||||
|  |   "signing": "hands", | ||||||
|  |   "skating": "person-skating", | ||||||
|  |   "skiing-nordic": "person-skiing-nordic", | ||||||
|  |   "skiing": "person-skiing", | ||||||
|  |   "sliders-h": "sliders", | ||||||
|  |   "smile-beam": "face-smile-beam", | ||||||
|  |   "smile-wink": "face-smile-wink", | ||||||
|  |   "smile": "face-smile", | ||||||
|  |   "smoking-ban": "ban-smoking", | ||||||
|  |   "sms": "comment-sms", | ||||||
|  |   "snowboarding": "person-snowboarding", | ||||||
|  |   "soccer-ball": "futbol", | ||||||
|  |   "sort-alpha-asc": "arrow-down-a-z", | ||||||
|  |   "sort-alpha-desc": "arrow-down-z-a", | ||||||
|  |   "sort-alpha-down-alt": "arrow-down-z-a", | ||||||
|  |   "sort-alpha-down": "arrow-down-a-z", | ||||||
|  |   "sort-alpha-up-alt": "arrow-up-z-a", | ||||||
|  |   "sort-alpha-up": "arrow-up-a-z", | ||||||
|  |   "sort-amount-asc": "arrow-down-wide-short", | ||||||
|  |   "sort-amount-desc": "arrow-down-short-wide", | ||||||
|  |   "sort-amount-down-alt": "arrow-down-short-wide", | ||||||
|  |   "sort-amount-down": "arrow-down-wide-short", | ||||||
|  |   "sort-amount-up-alt": "arrow-up-short-wide", | ||||||
|  |   "sort-amount-up": "arrow-up-wide-short", | ||||||
|  |   "sort-asc": "sort-up", | ||||||
|  |   "sort-desc": "sort-down", | ||||||
|  |   "sort-numeric-asc": "arrow-down-1-9", | ||||||
|  |   "sort-numeric-desc": "arrow-down-9-1", | ||||||
|  |   "sort-numeric-down-alt": "arrow-down-9-1", | ||||||
|  |   "sort-numeric-down": "arrow-down-1-9", | ||||||
|  |   "sort-numeric-up-alt": "arrow-up-9-1", | ||||||
|  |   "sort-numeric-up": "arrow-up-1-9", | ||||||
|  |   "space-shuttle": "shuttle-space", | ||||||
|  |   "sprout": "seedling", | ||||||
|  |   "square-root-alt": "square-root-variable", | ||||||
|  |   "staff-aesculapius": "staff-snake", | ||||||
|  |   "star-half-alt": "star-half-stroke", | ||||||
|  |   "step-backward": "backward-step", | ||||||
|  |   "step-forward": "forward-step", | ||||||
|  |   "sticky-note": "note-sticky", | ||||||
|  |   "stop-circle": "circle-stop", | ||||||
|  |   "store-alt-slash": "shop-slash", | ||||||
|  |   "store-alt": "shop", | ||||||
|  |   "stream": "bars-staggered", | ||||||
|  |   "subtract": "minus", | ||||||
|  |   "subway": "train-subway", | ||||||
|  |   "surprise": "face-surprise", | ||||||
|  |   "swimmer": "person-swimming", | ||||||
|  |   "swimming-pool": "water-ladder", | ||||||
|  |   "sync-alt": "rotate", | ||||||
|  |   "sync": "arrows-rotate", | ||||||
|  |   "t-shirt": "shirt", | ||||||
|  |   "table-tennis": "table-tennis-paddle-ball", | ||||||
|  |   "tablet-alt": "tablet-screen-button", | ||||||
|  |   "tablet-android": "tablet", | ||||||
|  |   "tachometer-alt-average": "gauge", | ||||||
|  |   "tachometer-alt-fast": "gauge-high", | ||||||
|  |   "tachometer-alt": "gauge-high", | ||||||
|  |   "tachometer-average": "gauge-simple", | ||||||
|  |   "tachometer-fast": "gauge-simple-high", | ||||||
|  |   "tachometer": "gauge-simple-high", | ||||||
|  |   "tanakh": "book-tanakh", | ||||||
|  |   "tasks-alt": "bars-progress", | ||||||
|  |   "tasks": "list-check", | ||||||
|  |   "teletype": "tty", | ||||||
|  |   "television": "tv", | ||||||
|  |   "temperature-0": "temperature-empty", | ||||||
|  |   "temperature-1": "temperature-quarter", | ||||||
|  |   "temperature-2": "temperature-half", | ||||||
|  |   "temperature-3": "temperature-three-quarters", | ||||||
|  |   "temperature-4": "temperature-full", | ||||||
|  |   "temperature-down": "temperature-arrow-down", | ||||||
|  |   "temperature-up": "temperature-arrow-up", | ||||||
|  |   "tenge": "tenge-sign", | ||||||
|  |   "th-large": "table-cells-large", | ||||||
|  |   "th-list": "table-list", | ||||||
|  |   "th": "table-cells", | ||||||
|  |   "theater-masks": "masks-theater", | ||||||
|  |   "thermometer-0": "temperature-empty", | ||||||
|  |   "thermometer-1": "temperature-quarter", | ||||||
|  |   "thermometer-2": "temperature-half", | ||||||
|  |   "thermometer-3": "temperature-three-quarters", | ||||||
|  |   "thermometer-4": "temperature-full", | ||||||
|  |   "thermometer-empty": "temperature-empty", | ||||||
|  |   "thermometer-full": "temperature-full", | ||||||
|  |   "thermometer-half": "temperature-half", | ||||||
|  |   "thermometer-quarter": "temperature-quarter", | ||||||
|  |   "thermometer-three-quarters": "temperature-three-quarters", | ||||||
|  |   "thumb-tack": "thumbtack", | ||||||
|  |   "thunderstorm": "cloud-bolt", | ||||||
|  |   "ticket-alt": "ticket-simple", | ||||||
|  |   "times-circle": "circle-xmark", | ||||||
|  |   "times-rectangle": "rectangle-xmark", | ||||||
|  |   "times-square": "square-xmark", | ||||||
|  |   "times": "xmark", | ||||||
|  |   "tint-slash": "droplet-slash", | ||||||
|  |   "tint": "droplet", | ||||||
|  |   "tired": "face-tired", | ||||||
|  |   "tools": "screwdriver-wrench", | ||||||
|  |   "torah": "scroll-torah", | ||||||
|  |   "tram": "cable-car", | ||||||
|  |   "transgender-alt": "transgender", | ||||||
|  |   "trash-alt": "trash-can", | ||||||
|  |   "trash-restore-alt": "trash-can-arrow-up", | ||||||
|  |   "trash-restore": "trash-arrow-up", | ||||||
|  |   "triangle-circle-square": "shapes", | ||||||
|  |   "truck-loading": "truck-ramp-box", | ||||||
|  |   "try": "turkish-lira-sign", | ||||||
|  |   "tshirt": "shirt", | ||||||
|  |   "turkish-lira": "turkish-lira-sign", | ||||||
|  |   "tv-alt": "tv", | ||||||
|  |   "undo-alt": "rotate-left", | ||||||
|  |   "undo": "arrow-rotate-left", | ||||||
|  |   "university": "building-columns", | ||||||
|  |   "unlink": "link-slash", | ||||||
|  |   "unlock-alt": "unlock-keyhole", | ||||||
|  |   "unsorted": "sort", | ||||||
|  |   "usd": "dollar-sign", | ||||||
|  |   "user-alt-slash": "user-large-slash", | ||||||
|  |   "user-alt": "user-large", | ||||||
|  |   "user-circle": "circle-user", | ||||||
|  |   "user-cog": "user-gear", | ||||||
|  |   "user-edit": "user-pen", | ||||||
|  |   "user-friends": "user-group", | ||||||
|  |   "user-md": "user-doctor", | ||||||
|  |   "user-times": "user-xmark", | ||||||
|  |   "users-cog": "users-gear", | ||||||
|  |   "utensil-spoon": "spoon", | ||||||
|  |   "vcard": "address-card", | ||||||
|  |   "video-camera": "video", | ||||||
|  |   "volleyball-ball": "volleyball", | ||||||
|  |   "volume-control-phone": "phone-volume", | ||||||
|  |   "volume-down": "volume-low", | ||||||
|  |   "volume-mute": "volume-xmark", | ||||||
|  |   "volume-times": "volume-xmark", | ||||||
|  |   "volume-up": "volume-high", | ||||||
|  |   "vote-yea": "check-to-slot", | ||||||
|  |   "walking": "person-walking", | ||||||
|  |   "warning": "triangle-exclamation", | ||||||
|  |   "weight": "weight-scale", | ||||||
|  |   "wheat-alt": "wheat-awn", | ||||||
|  |   "wheelchair-alt": "wheelchair-move", | ||||||
|  |   "wifi-3": "wifi", | ||||||
|  |   "wifi-strong": "wifi", | ||||||
|  |   "window-close": "rectangle-xmark", | ||||||
|  |   "wine-glass-alt": "wine-glass-empty", | ||||||
|  |   "won": "won-sign", | ||||||
|  |   "xmark-circle": "circle-xmark", | ||||||
|  |   "xmark-square": "square-xmark", | ||||||
|  |   "yen": "yen-sign", | ||||||
|  |   "zap": "bolt" | ||||||
|  | } | ||||||
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"/></svg> | ||||||
| Before Width: | Height: | Size: 561 B After Width: | Height: | Size: 592 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z"/></svg> | ||||||
| Before Width: | Height: | Size: 906 B After Width: | Height: | Size: 937 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z"/></svg> | ||||||
| Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></svg> | ||||||
| Before Width: | Height: | Size: 695 B After Width: | Height: | Size: 726 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"/></svg> | ||||||
| Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"/></svg> | ||||||
| Before Width: | Height: | Size: 759 B After Width: | Height: | Size: 790 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z"/></svg> | ||||||
| Before Width: | Height: | Size: 1004 B After Width: | Height: | Size: 1.0 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z"/></svg> | ||||||
| Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 793 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z"/></svg> | ||||||
| Before Width: | Height: | Size: 922 B After Width: | Height: | Size: 953 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"/></svg> | ||||||
| Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 597 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z"/></svg> | ||||||
| Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 829 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z"/></svg> | ||||||
| Before Width: | Height: | Size: 838 B After Width: | Height: | Size: 869 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z"/></svg> | ||||||
| Before Width: | Height: | Size: 828 B After Width: | Height: | Size: 859 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z"/></svg> | ||||||
| Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 797 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z"/></svg> | ||||||
| Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z"/></svg> | ||||||
| Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z"/></svg> | ||||||
| Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 836 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z"/></svg> | ||||||
| Before Width: | Height: | Size: 844 B After Width: | Height: | Size: 875 B | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"/></svg> | ||||||
| Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB | 
| @ -1 +1 @@ | |||||||
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 528 512"><!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 528 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d="M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"/></svg> | ||||||
| Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 521 B |