Commit 8552d120 authored by Annabel Dunstone Gray's avatar Annabel Dunstone Gray

Move event icons into events_helper

parent 466ca12e
module EventsHelper module EventsHelper
ICON_NAMES_BY_EVENT_TYPE = {
'pushed to' => 'icon_commit',
'pushed new' => 'icon_commit',
'created' => 'icon_status_open',
'opened' => 'icon_status_open',
'closed' => 'icon_status_closed',
'accepted' => 'icon_code_fork',
'commented on' => 'icon_comment_o',
'deleted' => 'icon_trash_o'
}.freeze
def link_to_author(event) def link_to_author(event)
author = event.author author = event.author
...@@ -183,4 +194,21 @@ module EventsHelper ...@@ -183,4 +194,21 @@ module EventsHelper
"event-inline" "event-inline"
end end
end end
def icon_for_event(note)
icon_name = ICON_NAMES_BY_EVENT_TYPE[note]
custom_icon(icon_name) if icon_name
end
def icon_for_profile_event(event)
if current_path?('users#show')
content_tag :div, class: "system-note-image #{event.action_name.parameterize}-icon" do
icon_for_event(event.action_name)
end
else
content_tag :div, class: 'system-note-image user-avatar' do
author_avatar(event, size: 32)
end
end
end
end end
module SystemNoteHelper module SystemNoteHelper
ICON_NAMES_BY_ACTION = { ICON_NAMES_BY_ACTION = {
'commit' => 'icon_commit', 'commit' => 'icon_commit',
'pushed to' => 'icon_commit',
'pushed new' => 'icon_commit',
'merge' => 'icon_merge', 'merge' => 'icon_merge',
'merged' => 'icon_merged', 'merged' => 'icon_merged',
'opened' => 'icon_status_open', 'opened' => 'icon_status_open',
'created' => 'icon_status_open',
'closed' => 'icon_status_closed', 'closed' => 'icon_status_closed',
'time_tracking' => 'icon_stopwatch', 'time_tracking' => 'icon_stopwatch',
'assignee' => 'icon_user', 'assignee' => 'icon_user',
...@@ -15,30 +12,15 @@ module SystemNoteHelper ...@@ -15,30 +12,15 @@ module SystemNoteHelper
'label' => 'icon_tags', 'label' => 'icon_tags',
'cross_reference' => 'icon_random', 'cross_reference' => 'icon_random',
'branch' => 'icon_code_fork', 'branch' => 'icon_code_fork',
'accepted' => 'icon_code_fork',
'confidential' => 'icon_eye_slash', 'confidential' => 'icon_eye_slash',
'visible' => 'icon_eye', 'visible' => 'icon_eye',
'milestone' => 'icon_clock_o', 'milestone' => 'icon_clock_o',
'discussion' => 'icon_comment_o', 'discussion' => 'icon_comment_o',
'commented on' => 'icon_comment_o', 'moved' => 'icon_arrow_circle_o_right'
'moved' => 'icon_arrow_circle_o_right',
'deleted' => 'icon_trash_o'
}.freeze }.freeze
def icon_for_system_note(note) def icon_for_system_note(note)
icon_name = ICON_NAMES_BY_ACTION[note] icon_name = ICON_NAMES_BY_ACTION[note.system_note_metadata&.action]
custom_icon(icon_name) if icon_name custom_icon(icon_name) if icon_name
end end
def icon_for_profile_event(event)
if current_path?('users#show')
content_tag :div, class: "system-note-image #{event.action_name}-icon" do
icon_for_system_note(event.action_name)
end
else
content_tag :div, class: 'system-note-image user-avatar' do
author_avatar(event, size: 32)
end
end
end
end end
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
.timeline-entry-inner .timeline-entry-inner
.timeline-icon .timeline-icon
- if note.system - if note.system
= icon_for_system_note(note.system_note_metadata&.action) = icon_for_system_note(note)
- else - else
%a{ href: user_path(note.author) } %a{ href: user_path(note.author) }
= image_tag avatar_icon(note.author), alt: '', class: 'avatar s40' = image_tag avatar_icon(note.author), alt: '', class: 'avatar s40'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment