summaryrefslogtreecommitdiff
path: root/app/views/projects/notes/_actions.html.haml
blob: eb6838cec8da27ea38eb42366591bd40ae042ffc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
- access = note_max_access_for_user(note)
- if note.has_special_role?(Note::SpecialRole::FIRST_TIME_CONTRIBUTOR)
  %span.note-role.note-role-special.has-tooltip{ title: _("This is the author's first Merge Request to this project.") }
    = issuable_first_contribution_icon
- if access.nonzero?
  %span.note-role.user-access-role= Gitlab::Access.human_access(access)

- if note.resolvable?
  - can_resolve = can?(current_user, :resolve_note, note)
  %resolve-btn{ "project-path" => project_path(note.project),
      "discussion-id" => note.discussion_id(@noteable),
      ":note-id" => note.id,
      ":resolved" => note.resolved?,
      ":can-resolve" => can_resolve,
      ":author-name" => "'#{j(note.author.name)}'",
      "author-avatar" => note.author.avatar_url,
      ":note-truncated" => "'#{j(truncate(note.note, length: 17))}'",
      ":resolved-by" => "'#{j(note.resolved_by.try(:name))}'",
      "v-show" => "#{can_resolve || note.resolved?}",
      "inline-template" => true,
      "ref" => "note_#{note.id}" }

    .note-actions-item
      %button.note-action-button.line-resolve-btn{ type: "button",
          class: ("is-disabled" unless can_resolve),
          ":class" => "{ 'is-active': isResolved }",
          ":aria-label" => "buttonText",
          "@click" => "resolve",
          ":title" => "buttonText",
          ":ref" => "'button'" }

        = icon('spin spinner', 'v-if' => 'loading', class: 'loading', 'aria-hidden' => 'true', 'aria-label' => 'Loading')
        %div{ 'v-else' => '' }
          %template{ 'v-if' => 'isResolved' }
            = render 'shared/icons/icon_status_success_solid.svg'
          %template{ 'v-else' => '' }
            = render 'shared/icons/icon_resolve_discussion.svg'

- if can?(current_user, :award_emoji, note)
  - if note.emoji_awardable?
    .note-actions-item
      = button_tag title: 'Add reaction', class: "note-action-button note-emoji-button js-add-award js-note-emoji} has-tooltip btn btn-transparent", data: { position: 'right', container: 'body' } do
        = icon('spinner spin')
        %span{ class: 'link-highlight award-control-icon-neutral' }= custom_icon('emoji_slightly_smiling_face')
        %span{ class: 'link-highlight award-control-icon-positive' }= custom_icon('emoji_smiley')
        %span{ class: 'link-highlight award-control-icon-super-positive' }= custom_icon('emoji_smile')

  - if note_editable
    .note-actions-item
      = button_tag title: 'Edit comment', class: 'note-action-button js-note-edit has-tooltip btn btn-transparent', data: { container: 'body' } do
        %span.link-highlight
          = custom_icon('icon_pencil')

  = render 'projects/notes/more_actions_dropdown', note: note, note_editable: note_editable