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 }}