Files
old-holivud2/app/helpers/memberships_helper.rb
2020-05-31 22:38:19 +02:00

46 lines
1.5 KiB
Ruby

module MembershipsHelper
def get_name_or_email(user)
user.full_name.present? ? user.full_name : user.email
end
def image_or_text_avatar(user)
if user.avatar.attached?
image_avatar(user)
else
text_avatar(user)
end
end
def image_avatar(user)
image_tag(tiny_variant(user.avatar), class: "rounded-circle", alt: "User Avatar")
end
def text_avatar(user, size: 2.5)
font_size = size / 2.5
if user.first_name.present? && user.last_name.present?
initials = (user.first_name.first + user.last_name.first).upcase
else
initials = user.email.first(2).upcase
end
content_tag(:div,
class: "bg-light border rounded-circle d-inline-flex justify-content-center align-items-center",
style: "width:#{size}rem;height:#{size}rem;") do
content_tag(:span, initials, class: "h-5 m-0 p-0 text-muted no-line-height", style: "font-size:#{font_size}rem")
end
end
def team_member_list(members)
list_classes = "list-unstyled d-flex flex-row justify-content-start align-items-center flex-nowrap overflow-hidden"
content_tag(:ul, class: list_classes) do
members.each.with_index do |member, index|
concat content_tag(:li, image_or_text_avatar(member),
class: class_string("rounded-circle border border-white border-thicker", "ml-n3" => !index.zero?),
style: "z-index:#{100-index}")
end
end
end
end