30 lines
810 B
Elixir
30 lines
810 B
Elixir
defmodule OutlookWeb.TranslationLive.Show do
|
|
use OutlookWeb, :live_view
|
|
|
|
alias Outlook.{Translations,InternalTree}
|
|
|
|
@impl true
|
|
def mount(_params, _session, socket) do
|
|
{:ok, socket}
|
|
end
|
|
|
|
@impl true
|
|
def handle_params(%{"id" => id}, _, socket) do
|
|
translation = Translations.get_translation!(id)
|
|
{:noreply,
|
|
socket
|
|
|> assign(:page_title, page_title(socket.assigns.live_action))
|
|
|> assign(:translation, translation)
|
|
|> assign(:translation_tree,
|
|
InternalTree.render_translation(
|
|
translation.article.content, translation.content
|
|
) |> InternalTree.garnish(
|
|
%{tunits: %{status: fn n -> n.status end, class: :tunit}}
|
|
)
|
|
)}
|
|
end
|
|
|
|
defp page_title(:show), do: "Show Translation"
|
|
defp page_title(:edit), do: "Edit Translation"
|
|
end
|