akkoma/lib/pleroma/web/static_fe/static_fe_view.ex

48 lines
1.2 KiB
Elixir
Raw Normal View History

2019-03-02 14:17:55 +00:00
# Pleroma: A lightweight social networking server
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.StaticFE.StaticFEView do
use Pleroma.Web, :view
2019-10-31 03:20:54 +00:00
alias Calendar.Strftime
alias Pleroma.Emoji.Formatter
2019-03-02 14:17:55 +00:00
alias Pleroma.User
2019-11-01 00:44:43 +00:00
alias Pleroma.Web.Endpoint
alias Pleroma.Web.Gettext
2019-03-02 14:17:55 +00:00
alias Pleroma.Web.MediaProxy
alias Pleroma.Web.Metadata.Utils
2019-03-03 13:36:59 +00:00
alias Pleroma.Web.Router.Helpers
2019-03-02 14:17:55 +00:00
use Phoenix.HTML
2019-03-02 21:12:38 +00:00
@media_types ["image", "audio", "video"]
2019-03-02 14:17:55 +00:00
def emoji_for_user(%User{} = user) do
user.source_data
|> Map.get("tag", [])
2019-03-02 14:17:55 +00:00
|> Enum.filter(fn %{"type" => t} -> t == "Emoji" end)
|> Enum.map(fn %{"icon" => %{"url" => url}, "name" => name} ->
{String.trim(name, ":"), url}
end)
end
def fetch_media_type(%{"mediaType" => mediaType}) do
Utils.fetch_media_type(@media_types, mediaType)
end
2019-10-30 04:09:05 +00:00
def format_date(date) do
{:ok, date, _} = DateTime.from_iso8601(date)
2019-10-31 03:20:54 +00:00
Strftime.strftime!(date, "%Y/%m/%d %l:%M:%S %p UTC")
2019-10-30 04:09:05 +00:00
end
def instance_name, do: Pleroma.Config.get([:instance, :name], "Pleroma")
def open_content? do
Pleroma.Config.get(
[:frontend_configurations, :collapse_message_with_subjects],
true
)
end
2019-03-02 14:17:55 +00:00
end