philomena/lib/philomena_web/views/admin/report_view.ex
2019-12-08 13:22:38 -05:00

34 lines
1.1 KiB
Elixir

defmodule PhilomenaWeb.Admin.ReportView do
use PhilomenaWeb, :view
alias Philomena.Images.Image
alias Philomena.Comments.Comment
import PhilomenaWeb.ReportView, only: [link_to_reported_thing: 2, report_row_class: 1, pretty_state: 1]
import PhilomenaWeb.ProfileView, only: [user_abbrv: 2, current?: 2]
def truncate(<<string::binary-size(50), _rest::binary>>), do: string <> "..."
def truncate(string), do: string
def truncated_ip_link(conn, ip) do
case to_string(ip) do
<<string::binary-size(25), _rest::binary>> = ip ->
link(string <> "...", to: Routes.ip_profile_path(conn, :show, ip))
ip ->
link(ip, to: Routes.ip_profile_path(conn, :show, ip))
end
end
def ordered_tags(tags) do
Enum.sort_by(tags, & &1.name)
end
def reported_image(conn, %Image{} = image) do
render PhilomenaWeb.ImageView, "_image_container.html", image: image, size: :thumb_tiny, conn: conn
end
def reported_image(conn, %Comment{image: image}) do
render PhilomenaWeb.ImageView, "_image_container.html", image: image, size: :thumb_tiny, conn: conn
end
def reported_image(_conn, _reportable), do: nil
end