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