diff --git a/src/addon/messages/pages/discussion/discussion.html b/src/addon/messages/pages/discussion/discussion.html index 10170272e..a3b2cee6f 100644 --- a/src/addon/messages/pages/discussion/discussion.html +++ b/src/addon/messages/pages/discussion/discussion.html @@ -13,14 +13,14 @@ - + - + diff --git a/src/addon/messages/pages/discussion/discussion.ts b/src/addon/messages/pages/discussion/discussion.ts index 3fecd7867..c7794abbc 100644 --- a/src/addon/messages/pages/discussion/discussion.ts +++ b/src/addon/messages/pages/discussion/discussion.ts @@ -80,9 +80,10 @@ export class AddonMessagesDiscussionPage implements OnDestroy { isGroup = false; members: any = {}; // Members that wrote a message, indexed by ID. favouriteIcon = 'fa-star'; + favouriteIconSlash = false; deleteIcon = 'trash'; blockIcon = 'close-circle'; - addRemoveIcon = 'add'; + addRemoveIcon = 'person'; otherMember: any; // Other member information (individual conversations only). footerType: 'message' | 'blocked' | 'requiresContact' | 'requestSent' | 'requestReceived' | 'unable'; requestContactSent = false; @@ -244,7 +245,6 @@ export class AddonMessagesDiscussionPage implements OnDestroy { this.title = member.fullname; } this.blockIcon = this.otherMember && this.otherMember.isblocked ? 'checkmark-circle' : 'close-circle'; - this.addRemoveIcon = this.otherMember && this.otherMember.iscontact ? 'remove' : 'add'; })); } else { this.otherMember = null; @@ -446,7 +446,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { this.title = conversation.name; this.conversationImage = conversation.imageurl; this.isGroup = conversation.type == AddonMessagesProvider.MESSAGE_CONVERSATION_TYPE_GROUP; - this.favouriteIcon = conversation.isfavourite ? 'fa-star-o' : 'fa-star'; + this.favouriteIcon = 'fa-star'; + this.favouriteIconSlash = conversation.isfavourite; this.muteIcon = conversation.ismuted ? 'volume-up' : 'volume-off'; if (!this.isGroup) { this.userId = conversation.userid; @@ -1118,7 +1119,8 @@ export class AddonMessagesDiscussionPage implements OnDestroy { }).catch((error) => { this.domUtils.showErrorModalDefault(error, 'Error changing favourite state.'); }).finally(() => { - this.favouriteIcon = this.conversation.isfavourite ? 'fa-star-o' : 'fa-star'; + this.favouriteIcon = 'fa-star'; + this.favouriteIconSlash = this.conversation.isfavourite; done && done(); }); } @@ -1306,7 +1308,7 @@ export class AddonMessagesDiscussionPage implements OnDestroy { }).catch((error) => { this.domUtils.showErrorModalDefault(error, 'core.error', true); }).finally(() => { - this.addRemoveIcon = this.otherMember.iscontact ? 'remove' : 'add'; + this.addRemoveIcon = 'person'; }); } @@ -1381,7 +1383,7 @@ export class AddonMessagesDiscussionPage implements OnDestroy { }).catch((error) => { this.domUtils.showErrorModalDefault(error, 'core.error', true); }).finally(() => { - this.addRemoveIcon = this.otherMember.iscontact ? 'remove' : 'add'; + this.addRemoveIcon = 'person'; }); } diff --git a/src/assets/fonts/slash-icon.woff b/src/assets/fonts/slash-icon.woff new file mode 100644 index 000000000..5e02178e4 Binary files /dev/null and b/src/assets/fonts/slash-icon.woff differ diff --git a/src/components/context-menu/context-menu-item.ts b/src/components/context-menu/context-menu-item.ts index e748dee34..0870cbcd3 100644 --- a/src/components/context-menu/context-menu-item.ts +++ b/src/components/context-menu/context-menu-item.ts @@ -39,6 +39,7 @@ export class CoreContextMenuItemComponent implements OnInit, OnDestroy, OnChange // If is "spinner" an spinner will be shown. // If no icon or spinner is selected, no action or link will work. // If href but no iconAction is provided arrow-right will be used. + @Input() iconSlash?: boolean; // Display a red slash over the icon. @Input() ariaDescription?: string; // Aria label to add to iconDescription. @Input() ariaAction?: string; // Aria label to add to iconAction. If not set, it will be equal to content. @Input() href?: string; // Link to go if no action provided. diff --git a/src/components/context-menu/core-context-menu-popover.html b/src/components/context-menu/core-context-menu-popover.html index d785687be..69ffdadf7 100644 --- a/src/components/context-menu/core-context-menu-popover.html +++ b/src/components/context-menu/core-context-menu-popover.html @@ -3,7 +3,7 @@ - + {{item.badge}} diff --git a/src/components/icon/icon.scss b/src/components/icon/icon.scss index bacc56f37..f909e876e 100644 --- a/src/components/icon/icon.scss +++ b/src/components/icon/icon.scss @@ -13,4 +13,43 @@ -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } -} \ No newline at end of file +} + +// Center font awesome icons + +.icon.fa::before { + width: 1em; + text-align: center; +} + +// Slash + +@font-face { + font-family: "Moodle Slash Icon"; + font-style: normal; + font-weight: 400; + src: url("#{$font-path}/slash-icon.woff") format("woff"); +} + +.icon-slash { + position: relative; +} + +.icon-slash::after { + content: "/"; + font-family: "Moodle Slash Icon"; + font-size: 0.75em; + margin-top: 0.125em; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center; + color: color($colors, danger); +} + +.icon-slash.fa::after { + font-size: 1em; + margin-top: 0; +} diff --git a/src/components/icon/icon.ts b/src/components/icon/icon.ts index 4bf697b05..bfedf4001 100644 --- a/src/components/icon/icon.ts +++ b/src/components/icon/icon.ts @@ -29,6 +29,7 @@ export class CoreIconComponent implements OnInit, OnDestroy { // Common params. @Input() name: string; @Input('color') color?: string; + @Input('slash') slash?: boolean; // Display a red slash over the icon. // Ionicons params. @Input('isActive') isActive?: boolean; @@ -94,6 +95,10 @@ export class CoreIconComponent implements OnInit, OnDestroy { } } + if (this.slash) { + this.newElement.classList.add('icon-slash'); + } + this.element.parentElement.replaceChild(this.newElement, this.element); } diff --git a/src/core/courses/components/course-options-menu/core-courses-course-options-menu.html b/src/core/courses/components/course-options-menu/core-courses-course-options-menu.html index 7be6638ba..9e17624b8 100644 --- a/src/core/courses/components/course-options-menu/core-courses-course-options-menu.html +++ b/src/core/courses/components/course-options-menu/core-courses-course-options-menu.html @@ -16,7 +16,7 @@

{{ 'core.courses.addtofavourites' | translate }}

- +

{{ 'core.courses.removefromfavourites' | translate }}