-
+ {{d-icon "list"}}
{{#if site.mobileView}}
diff --git a/app/assets/javascripts/discourse/templates/user/notifications.hbs b/app/assets/javascripts/discourse/templates/user/notifications.hbs
index ce0128519f4..19e549d6c16 100644
--- a/app/assets/javascripts/discourse/templates/user/notifications.hbs
+++ b/app/assets/javascripts/discourse/templates/user/notifications.hbs
@@ -5,17 +5,17 @@
{{#link-to 'userNotifications.responses'}}
-
+ {{d-icon "reply" class="glyph"}}
{{i18n 'user_action_groups.6'}}
{{/link-to}}
{{#link-to 'userNotifications.likesReceived'}}
- {{i18n 'user_action_groups.2'}}
+ {{d-icon "heart" class="glyph"}}{{i18n 'user_action_groups.2'}}
{{/link-to}}
-
{{#link-to 'userNotifications.mentions'}} {{i18n 'user_action_groups.7'}}{{/link-to}}
-
{{#link-to 'userNotifications.edits'}} {{i18n 'user_action_groups.11'}}{{/link-to}}
+
{{#link-to 'userNotifications.mentions'}}{{d-icon "at" class="glyph"}}{{i18n 'user_action_groups.7'}}{{/link-to}}
+
{{#link-to 'userNotifications.edits'}}{{d-icon "pencil" class="glyph"}}{{i18n 'user_action_groups.11'}}{{/link-to}}
{{/mobile-nav}}
{{#if model}}
diff --git a/app/assets/javascripts/discourse/widgets/post-cooked.js.es6 b/app/assets/javascripts/discourse/widgets/post-cooked.js.es6
index 2786f7df734..11eaf277dc8 100644
--- a/app/assets/javascripts/discourse/widgets/post-cooked.js.es6
+++ b/app/assets/javascripts/discourse/widgets/post-cooked.js.es6
@@ -1,3 +1,4 @@
+import { iconHTML } from 'discourse-common/lib/icon-library';
import { ajax } from 'discourse/lib/ajax';
import { isValidLink } from 'discourse/lib/click-track';
import { number } from 'discourse/lib/formatter';
@@ -140,7 +141,7 @@ export default class PostCooked {
$blockQuote.showHtml(div, 'fast', finished);
}).catch((e) => {
if (e.jqXHR.status === 404) {
- $blockQuote.showHtml($("
"), 'fast', finished);
+ $blockQuote.showHtml($(`
${iconHTML('trash-o')}
`), 'fast', finished);
}
});
} else {
@@ -178,7 +179,7 @@ export default class PostCooked {
// Only add the expand/contract control if it's not a full post
let expandContract = "";
if (!$aside.data('full')) {
- expandContract = `
`;
+ expandContract = iconHTML(desc, { title: "post.expand_collapse" });
$('.title', $aside).css('cursor', 'pointer');
}
$('.quote-controls', $aside).html(expandContract + navLink);
diff --git a/app/assets/javascripts/discourse/widgets/post-menu.js.es6 b/app/assets/javascripts/discourse/widgets/post-menu.js.es6
index 7f542a5d0cc..b7f97b697e0 100644
--- a/app/assets/javascripts/discourse/widgets/post-menu.js.es6
+++ b/app/assets/javascripts/discourse/widgets/post-menu.js.es6
@@ -360,7 +360,7 @@ export default createWidget('post-menu', {
return this.sendWidgetAction('toggleLike');
}
- const $heart = $(`[data-post-id=${attrs.id}] .fa-heart`);
+ const $heart = $(`[data-post-id=${attrs.id}] .d-icon-heart`);
$heart.closest('button').addClass('has-like');
if (!Ember.testing) {
diff --git a/app/assets/javascripts/discourse/widgets/post.js.es6 b/app/assets/javascripts/discourse/widgets/post.js.es6
index 2652b4954af..016a2c4030e 100644
--- a/app/assets/javascripts/discourse/widgets/post.js.es6
+++ b/app/assets/javascripts/discourse/widgets/post.js.es6
@@ -88,7 +88,7 @@ createWidget('post-avatar', {
html(attrs) {
let body;
if (!attrs.user_id) {
- body = h('i', { className: 'fa fa-trash-o deleted-user-avatar' });
+ body = iconNode('trash-o', { class: 'deleted-user-avatar' });
} else {
body = avatarFor.call(this, this.settings.size, {
template: attrs.avatar_template,
diff --git a/app/assets/javascripts/discourse/widgets/topic-notifications-button.js.es6 b/app/assets/javascripts/discourse/widgets/topic-notifications-button.js.es6
index bd37c8b4d8a..74ae08c4957 100644
--- a/app/assets/javascripts/discourse/widgets/topic-notifications-button.js.es6
+++ b/app/assets/javascripts/discourse/widgets/topic-notifications-button.js.es6
@@ -2,6 +2,7 @@ import { createWidget } from 'discourse/widgets/widget';
import { topicLevels, buttonDetails } from 'discourse/lib/notification-levels';
import { h } from 'virtual-dom';
import RawHTML from 'discourse/widgets/raw-html';
+import { iconNode } from 'discourse-common/lib/icon-library';
createWidget('notification-option', {
buildKey: attrs => `topic-notifications-button-${attrs.id}`,
@@ -9,7 +10,7 @@ createWidget('notification-option', {
html(attrs) {
return h('a', [
- h('span.icon', { className: `fa fa-${attrs.icon} ${attrs.key}`}),
+ iconNode(attrs.icon, { class: attrs.key }),
h('div', [
h('span.title', I18n.t(`topic.notifications.${attrs.key}.title`)),
h('span.desc', I18n.t(`topic.notifications.${attrs.key}.description`)),
diff --git a/plugins/discourse-details/test/javascripts/acceptance/details-button-test.js.es6 b/plugins/discourse-details/test/javascripts/acceptance/details-button-test.js.es6
index 61ffac21528..cbb30b82e64 100644
--- a/plugins/discourse-details/test/javascripts/acceptance/details-button-test.js.es6
+++ b/plugins/discourse-details/test/javascripts/acceptance/details-button-test.js.es6
@@ -11,7 +11,7 @@ test('details button', (assert) => {
click('#create-topic');
click('button.options');
- click('.popup-menu .fa-caret-right');
+ click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@@ -30,7 +30,7 @@ test('details button', (assert) => {
});
click('button.options');
- click('.popup-menu .fa-caret-right');
+ click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@@ -53,7 +53,7 @@ test('details button', (assert) => {
});
click('button.options');
- click('.popup-menu .fa-caret-right');
+ click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
@@ -76,7 +76,7 @@ test('details button', (assert) => {
});
click('button.options');
- click('.popup-menu .fa-caret-right');
+ click('.popup-menu .d-icon-caret-right');
andThen(() => {
assert.equal(
diff --git a/plugins/poll/test/javascripts/widgets/discourse-poll-option-test.js.es6 b/plugins/poll/test/javascripts/widgets/discourse-poll-option-test.js.es6
index 0d646199c7a..75035b6651c 100644
--- a/plugins/poll/test/javascripts/widgets/discourse-poll-option-test.js.es6
+++ b/plugins/poll/test/javascripts/widgets/discourse-poll-option-test.js.es6
@@ -14,7 +14,7 @@ widgetTest('single, not selected', {
},
test(assert) {
- assert.ok(find('li .fa-circle-o:eq(0)').length === 1);
+ assert.ok(find('li .d-icon-circle-o:eq(0)').length === 1);
}
});
@@ -27,7 +27,7 @@ widgetTest('single, selected', {
},
test(assert) {
- assert.ok(find('li .fa-dot-circle-o:eq(0)').length === 1);
+ assert.ok(find('li .d-icon-dot-circle-o:eq(0)').length === 1);
}
});
@@ -43,7 +43,7 @@ widgetTest('multi, not selected', {
},
test(assert) {
- assert.ok(find('li .fa-square-o:eq(0)').length === 1);
+ assert.ok(find('li .d-icon-square-o:eq(0)').length === 1);
}
});
@@ -59,6 +59,6 @@ widgetTest('multi, selected', {
},
test(assert) {
- assert.ok(find('li .fa-check-square-o:eq(0)').length === 1);
+ assert.ok(find('li .d-icon-check-square-o:eq(0)').length === 1);
}
});
diff --git a/test/javascripts/acceptance/composer-test.js.es6 b/test/javascripts/acceptance/composer-test.js.es6
index b155418b78e..fcbd971f230 100644
--- a/test/javascripts/acceptance/composer-test.js.es6
+++ b/test/javascripts/acceptance/composer-test.js.es6
@@ -264,7 +264,7 @@ QUnit.test("Composer can toggle between reply and createTopic", assert => {
click('.topic-post:eq(0) button.reply');
click('button.options');
- click('.popup-menu .fa-eye-slash');
+ click('.popup-menu .d-icon-eye-slash');
andThen(() => {
assert.ok(
find('.composer-fields .whisper').text().indexOf(I18n.t("composer.whisper")) > 0,
@@ -286,7 +286,7 @@ QUnit.test("Composer can toggle between reply and createTopic", assert => {
});
click('button.options');
- click('.popup-menu .fa-eye-slash');
+ click('.popup-menu .d-icon-eye-slash');
andThen(() => {
assert.ok(
find('.composer-fields .whisper').text().indexOf(I18n.t("composer.unlist")) > 0,
@@ -334,4 +334,4 @@ QUnit.test("Composer draft with dirty reply can toggle to edit", assert => {
andThen(() => {
assert.equal(find('.d-editor-input').val().indexOf('This is the first post.'), 0, 'it populates the input with the post text');
});
-});
\ No newline at end of file
+});
diff --git a/test/javascripts/acceptance/topic-test.js.es6 b/test/javascripts/acceptance/topic-test.js.es6
index 08b54bfd519..581ef00cd38 100644
--- a/test/javascripts/acceptance/topic-test.js.es6
+++ b/test/javascripts/acceptance/topic-test.js.es6
@@ -33,7 +33,7 @@ QUnit.test("Share Popup", assert => {
QUnit.test("Showing and hiding the edit controls", assert => {
visit("/t/internationalization-localization/280");
- click('#topic-title .fa-pencil');
+ click('#topic-title .d-icon-pencil');
andThen(() => {
assert.ok(exists('#edit-title'), 'it shows the editing controls');
@@ -48,7 +48,7 @@ QUnit.test("Showing and hiding the edit controls", assert => {
QUnit.test("Updating the topic title and category", assert => {
visit("/t/internationalization-localization/280");
- click('#topic-title .fa-pencil');
+ click('#topic-title .d-icon-pencil');
fillIn('#edit-title', 'this is the new title');
selectDropdown('.category-combobox', 4);
@@ -140,7 +140,7 @@ QUnit.test("Reply as new message", assert => {
QUnit.test("Updating the topic title with emojis", assert => {
visit("/t/internationalization-localization/280");
- click('#topic-title .fa-pencil');
+ click('#topic-title .d-icon-pencil');
fillIn('#edit-title', 'emojis title :bike: :blonde_woman:t6:');
@@ -149,4 +149,4 @@ QUnit.test("Updating the topic title with emojis", assert => {
andThen(() => {
assert.equal(find('.fancy-title').html().trim(), 'emojis title
', 'it displays the new title with emojis');
});
-});
\ No newline at end of file
+});
diff --git a/test/javascripts/widgets/actions-summary-test.js.es6 b/test/javascripts/widgets/actions-summary-test.js.es6
index 4e900f14741..f4eb8b78821 100644
--- a/test/javascripts/widgets/actions-summary-test.js.es6
+++ b/test/javascripts/widgets/actions-summary-test.js.es6
@@ -74,7 +74,7 @@ widgetTest('post deleted', {
});
},
test(assert) {
- assert.ok(this.$('.post-action .fa-trash-o').length === 1, 'it has the deleted icon');
+ assert.ok(this.$('.post-action .d-icon-trash-o').length === 1, 'it has the deleted icon');
assert.ok(this.$('.avatar[title=eviltrout]').length === 1, 'it has the deleted by avatar');
}
});
diff --git a/test/javascripts/widgets/home-logo-test.js.es6 b/test/javascripts/widgets/home-logo-test.js.es6
index ddc032391ed..96bd889f50f 100644
--- a/test/javascripts/widgets/home-logo-test.js.es6
+++ b/test/javascripts/widgets/home-logo-test.js.es6
@@ -66,7 +66,7 @@ widgetTest('no logo - minimized', {
},
test(assert) {
- assert.ok(this.$('i.fa-home').length === 1);
+ assert.ok(this.$('.d-icon-home').length === 1);
}
});
diff --git a/test/javascripts/widgets/post-test.js.es6 b/test/javascripts/widgets/post-test.js.es6
index c7702f68c9d..0296c9dcf3d 100644
--- a/test/javascripts/widgets/post-test.js.es6
+++ b/test/javascripts/widgets/post-test.js.es6
@@ -436,7 +436,7 @@ widgetTest("reply directly above", {
click('a.reply-to-tab');
andThen(() => {
assert.equal(this.$('section.embedded-posts.top .cooked').length, 1);
- assert.equal(this.$('section.embedded-posts i.fa-arrow-up').length, 1);
+ assert.equal(this.$('section.embedded-posts .d-icon-arrow-up').length, 1);
});
}
});
@@ -673,7 +673,7 @@ widgetTest("replies - one below, not suppressed", {
click('button.show-replies');
andThen(() => {
assert.equal(this.$('section.embedded-posts.bottom .cooked').length, 1);
- assert.equal(this.$('section.embedded-posts i.fa-arrow-down').length, 1);
+ assert.equal(this.$('section.embedded-posts .d-icon-arrow-down').length, 1);
});
}
});
@@ -760,7 +760,7 @@ widgetTest("topic map - links", {
click('nav.buttons button');
andThen(() => {
assert.equal(this.$('.map.map-collapsed').length, 0);
- assert.equal(this.$('.topic-map i.fa-chevron-up').length, 1);
+ assert.equal(this.$('.topic-map .d-icon-chevron-up').length, 1);
assert.equal(this.$('.topic-map-expanded').length, 1);
assert.equal(this.$('.topic-map-expanded .topic-link').length, 5, 'it limits the links displayed');
});
diff --git a/test/javascripts/widgets/poster-name-test.js.es6 b/test/javascripts/widgets/poster-name-test.js.es6
index d399e91fef2..c8ab8391d7a 100644
--- a/test/javascripts/widgets/poster-name-test.js.es6
+++ b/test/javascripts/widgets/poster-name-test.js.es6
@@ -38,7 +38,7 @@ widgetTest('extra classes and glyphs', {
assert.ok(this.$('span.staff').length);
assert.ok(this.$('span.admin').length);
assert.ok(this.$('span.moderator').length);
- assert.ok(this.$('i.fa-shield').length);
+ assert.ok(this.$('.d-icon-shield').length);
assert.ok(this.$('span.new-user').length);
assert.ok(this.$('span.fish').length);
}