defmodule OutlookWeb.TunitEditorComponent do use Phoenix.Component import OutlookWeb.CoreComponents # alias Phoenix.LiveView.JS defp statuses do [ {:untranslated, "bg-red-800 col-span-3 disabled:border-gray-600"}, {:passable, "bg-amber-500 col-span-2 disabled:border-gray-600"}, {:done, "bg-green-700 disabled:border-gray-600"} ] end attr :current_tunit, :any attr :target, :string def tunit_editor(assigns) do assigns = unless assigns.current_tunit do assigns |> assign( current_tunit: %Outlook.InternalTree.TranslationUnit{}, disabled: true ) else assigns |> assign(disabled: false) end ~H"""
<%!--
<%= @current_tunit.content |> raw %>
--%>
<.status_button class={class} status={status} target={@target} disabled={@current_tunit.status == status}>
""" end defp status_button(assigns) do ~H""" <.link phx-click="tunit_status" phx-value-status={@status} phx-target={@target}> <.button class={@class} title="select translation status" disabled={@disabled}><%= @status |> to_string %> """ end end