elixir: link = assigns[:link] || ~p"/images/#{@image}" size_class = case @size do :thumb -> "media-box__content--large" :medium -> "media-box__content--featured" _ -> "media-box__content--small" end header_class = case @size do :thumb_small -> "media-box__header--small" _ -> nil end .media-box data-image-id=@image.id .media-box__header class=header_class data-image-id=@image.id .media-box__header--link-row a.interaction--fave href="#" rel="nofollow" data-image-id=@image.id i.fa.fa-star title="Fave!" span.interaction--fave.interaction--nohover.interaction--optional.hidden--phone = shorten_number(@image.faves_count) a.interaction--upvote href="#" rel="nofollow" data-image-id=@image.id i.fa.fa-arrow-up title="Yay!" span.score title="Score" data-image-id=@image.id = shorten_number(@image.score) a.interaction--downvote href="#" rel="nofollow" data-image-id=@image.id i.fa.fa-arrow-down title="Neigh!" a.interaction--hide.interaction--optional.hidden--phone href="#" rel="nofollow" data-image-id=@image.id i.fa.fa-eye-slash title="Hide" a.interaction--comment href="/#{@image.id}#comments" title="Comments" i.fa.fa-comments> = if @image.comments_count > 0 do span.comments-count data-image-id=@image.id = shorten_number(@image.comments_count) .media-box__content class=size_class = render PhilomenaWeb.ImageView, "_image_container.html", link: link, image: @image, size: @size, conn: @conn