2016-07-08 20:47:05 -04:00
|
|
|
module AvatarsHelper
|
|
|
|
def author_avatar(commit_or_event, options = {})
|
|
|
|
user_avatar(options.merge({
|
|
|
|
user: commit_or_event.author,
|
|
|
|
user_name: commit_or_event.author_name,
|
|
|
|
user_email: commit_or_event.author_email,
|
2016-10-06 06:32:58 -04:00
|
|
|
css_class: 'hidden-xs'
|
2016-07-08 20:47:05 -04:00
|
|
|
}))
|
|
|
|
end
|
|
|
|
|
2017-06-02 03:42:18 -04:00
|
|
|
def user_avatar_without_link(options = {})
|
2016-07-08 20:47:05 -04:00
|
|
|
avatar_size = options[:size] || 16
|
|
|
|
user_name = options[:user].try(:name) || options[:user_name]
|
2016-10-06 06:32:58 -04:00
|
|
|
css_class = options[:css_class] || ''
|
2017-06-02 03:42:18 -04:00
|
|
|
avatar_url = options[:url] || avatar_icon(options[:user] || options[:user_email], avatar_size)
|
|
|
|
data_attributes = { container: 'body' }
|
|
|
|
|
|
|
|
if options[:lazy]
|
|
|
|
data_attributes[:src] = avatar_url
|
|
|
|
end
|
|
|
|
|
|
|
|
image_tag(
|
|
|
|
options[:lazy] ? '' : avatar_url,
|
2016-10-06 06:32:58 -04:00
|
|
|
class: "avatar has-tooltip s#{avatar_size} #{css_class}",
|
2016-07-08 20:47:05 -04:00
|
|
|
alt: "#{user_name}'s avatar",
|
2016-09-06 05:36:09 -04:00
|
|
|
title: user_name,
|
2017-06-02 03:42:18 -04:00
|
|
|
data: data_attributes
|
2016-07-08 20:47:05 -04:00
|
|
|
)
|
2017-06-02 03:42:18 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def user_avatar(options = {})
|
|
|
|
avatar = user_avatar_without_link(options)
|
2016-07-08 20:47:05 -04:00
|
|
|
|
|
|
|
if options[:user]
|
|
|
|
link_to(avatar, user_path(options[:user]))
|
|
|
|
elsif options[:user_email]
|
|
|
|
mail_to(options[:user_email], avatar)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|