summaryrefslogtreecommitdiff
path: root/app/views/projects/notes/_actions.html.haml
blob: 058366eb75d7c32b1f55ff330779be019641e468 (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
- access = note_human_max_access(note)
- if note.noteable_author?(@noteable)
  %span{ class: 'note-role user-access-role has-tooltip d-none d-md-inline-block', title: _("This user is the author of this %{noteable}.") % { noteable: @noteable.human_class_name } }= _("Author")
- if access
  %span{ class: 'note-role user-access-role has-tooltip', title: _("This user is a %{access} of the %{name} project.") % { access: access.downcase, name: note.project_name } }= access
- elsif note.contributor?
  %span{ class: 'note-role user-access-role has-tooltip', title: _("This user has previously committed to the %{name} project.") % { name: note.project_name } }= _("Contributor")

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

        %div
          %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
        %span{ class: 'link-highlight award-control-icon-neutral' }= sprite_icon('slight-smile')
        %span{ class: 'link-highlight award-control-icon-positive' }= sprite_icon('smiley')
        %span{ class: 'link-highlight award-control-icon-super-positive' }= sprite_icon('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', qa_selector: 'edit_comment_button' } do
        %span.link-highlight
          = custom_icon('icon_pencil')

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