diff --git a/app/assets/javascripts/issues/list/components/issue_card_statistics.vue b/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
index 2d00c3e549da99c0c362dc87ff21d93ef482d1db..4906cec526a2007e6961955c11faaece72c2808b 100644
--- a/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
+++ b/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
@@ -21,20 +21,10 @@ export default {
- -
-
- {{ issue.mergeRequestsCount }}
-
-
@@ -44,13 +34,23 @@ export default {
-
{{ issue.downvotes }}
+ -
+
+ {{ issue.mergeRequestsCount }}
+
diff --git a/app/assets/javascripts/merge_requests/list/components/merge_request_statistics.vue b/app/assets/javascripts/merge_requests/list/components/merge_request_statistics.vue
index 2bce8314a0cde2802e0e4b844c59767f5032608b..53d5b2be327bb88080c637600aa108834ec3bc91 100644
--- a/app/assets/javascripts/merge_requests/list/components/merge_request_statistics.vue
+++ b/app/assets/javascripts/merge_requests/list/components/merge_request_statistics.vue
@@ -24,7 +24,7 @@ export default {
@@ -34,7 +34,7 @@ export default {
diff --git a/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue b/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue
index 4dce443b709fc3c12d54ae9f0572a56bf53f7007..e06abfbfc772a5e6ea27603c30318596d2d48824 100644
--- a/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue
+++ b/app/assets/javascripts/vue_shared/issuable/list/components/issuable_item.vue
@@ -376,41 +376,38 @@ export default {
+
0
- %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Related merge requests'), data: { testid: 'merge-requests' } }
+ %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Related merge requests'), data: { testid: 'merge-requests' }, class: 'gl-mr-0!' }
= sprite_icon('merge-request', css_class: "gl-vertical-align-middle")
= issuable_mr
+- if note_count > 0
+ %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Comments'), data: { testid: 'issuable-comments' }, class: 'gl-mr-0!' }
+ = sprite_icon('comments', css_class: "gl-vertical-align-middle")
+ = note_count
+
- if upvotes > 0
- %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Upvotes'), data: { testid: 'issuable-upvotes' } }
+ %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Upvotes'), data: { testid: 'issuable-upvotes' }, class: 'gl-mr-0!' }
= sprite_icon('thumb-up', css_class: "gl-vertical-align-middle")
= upvotes
- if downvotes > 0
- %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Downvotes'), data: { testid: 'issuable-downvotes' } }
+ %li.gl-display-none.gl-sm-display-block.has-tooltip{ title: _('Downvotes'), data: { testid: 'issuable-downvotes' }, class: 'gl-mr-0!' }
= sprite_icon('thumb-down', css_class: "gl-vertical-align-middle")
= downvotes
= render_if_exists 'shared/issuable/blocking_issues_count', issuable: issuable
-%li.gl-display-none.gl-sm-display-block
- = link_to issuable_path, class: ['has-tooltip', ('no-comments' if note_count == 0)], title: _('Comments'), data: { testid: 'issuable-comments' } do
- = sprite_icon('comments', css_class: 'gl-vertical-align-text-bottom')
- = note_count
diff --git a/app/views/shared/snippets/_snippet.html.haml b/app/views/shared/snippets/_snippet.html.haml
index a61d49f30cfc94ff6fed044615d9d8f6e32e5a7f..753350f5c97eeb79b7c44a8592adf1ccb7516be4 100644
--- a/app/views/shared/snippets/_snippet.html.haml
+++ b/app/views/shared/snippets/_snippet.html.haml
@@ -14,8 +14,8 @@
%span{ class: 'has-tooltip gl-bg-orange-50 gl-text-orange-600 border-radius-default gl-p-2', title: s_("Snippets|This snippet is hidden because its author has been banned") }
= sprite_icon('spam', size: '16')
- .snippet-info
- .gl-display-inline.gl-text-secondary{ data: { testid: 'snippet-created-at'} }
+ .snippet-info.gl-font-sm.gl-text-gray-500!
+ .gl-display-inline{ data: { testid: 'snippet-created-at'} }
- created_at = time_ago_with_tooltip(snippet.created_at, placement: 'bottom')
- author = link_to(snippet.author_name, user_snippets_path(snippet.author), data: { user_id: snippet.author.id }, class: 'gl-text-black-normal')
#{snippet.to_reference} ·
@@ -27,10 +27,11 @@
.gl-sm-display-flex.gl-flex-direction-column.gl-align-items-flex-end{ data: { testid: 'snippet-file-count-content', qa_snippet_files: snippet.statistics&.file_count } }
.gl-display-flex.gl-gap-4.gl-align-items-center
+ - if notes_count > 0
+ %span.has-tooltip{ title: _('Comments') }
+ = sprite_icon('comments')
+ = notes_count
= snippet_file_count(snippet)
- = link_to gitlab_snippet_path(snippet, anchor: 'notes'), class: "#{'no-comments' if notes_count == 0} gl-text-black-normal" do
- = sprite_icon('comments', css_class: 'gl-vertical-align-text-bottom')
- = notes_count
%span.has-tooltip{ title: visibility_level_label(snippet.visibility_level), data: { testid: 'snippet-visibility-content', qa_snippet_visibility: visibility_level_label(snippet.visibility_level) } }
= visibility_level_icon(snippet.visibility_level)
- .gl-white-space-nowrap.gl-text-secondary= _('updated %{timeAgo}').html_safe % { timeAgo: time_ago_with_tooltip(snippet.updated_at, placement: 'bottom') }
+ .gl-white-space-nowrap.gl-font-sm.gl-text-secondary= _('updated %{timeAgo}').html_safe % { timeAgo: time_ago_with_tooltip(snippet.updated_at, placement: 'bottom') }
diff --git a/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue b/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
index ce1f3f6506f69a554423288fcd4f771137cf7e99..4c6ccec4ab57b601eb2147029ec82166eaf18b02 100644
--- a/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
+++ b/ee/app/assets/javascripts/issues/list/components/issue_card_statistics.vue
@@ -19,7 +19,7 @@ export default {
{
describe('showDiscussions', () => {
it.each`
userDiscussionsCount | returnValue
- ${0} | ${true}
+ ${0} | ${false}
${1} | ${true}
${undefined} | ${false}
${null} | ${false}
@@ -555,12 +555,9 @@ describe('IssuableItem', () => {
const discussionsEl = wrapper.findByTestId('issuable-comments');
expect(discussionsEl.exists()).toBe(true);
- expect(discussionsEl.findComponent(GlLink).attributes()).toMatchObject({
- title: 'Comments',
- href: `${mockIssuable.webUrl}#notes`,
- });
+
expect(discussionsEl.findComponent(GlIcon).props('name')).toBe('comments');
- expect(discussionsEl.findComponent(GlLink).text()).toContain('2');
+ expect(discussionsEl.text()).toBe('2');
});
it('renders issuable-assignees component', () => {