diff --git a/assets/css/app.css b/assets/css/app.css
index a3692de..8e34331 100644
--- a/assets/css/app.css
+++ b/assets/css/app.css
@@ -3,4 +3,5 @@
@import "tailwindcss/utilities";
/* This file is for your main application CSS */
-@import "./article.css"
+@import "./article.css";
+@import "./tunit-editor.css";
diff --git a/assets/css/tunit-editor.css b/assets/css/tunit-editor.css
new file mode 100644
index 0000000..d46c6ea
--- /dev/null
+++ b/assets/css/tunit-editor.css
@@ -0,0 +1,3 @@
+.tunit-status input[type="radio"]:checked+label {
+ @apply opacity-100 text-gray-100
+}
diff --git a/lib/outlook_web/components/tunit_editor_component.ex b/lib/outlook_web/components/tunit_editor_component.ex
index e0a39e5..584c677 100644
--- a/lib/outlook_web/components/tunit_editor_component.ex
+++ b/lib/outlook_web/components/tunit_editor_component.ex
@@ -3,49 +3,48 @@ 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"""
-
-
- <.status_button class={class} status={status} target={@target} disabled={@current_tunit.status == status}>
-
+
+ <%!--
+ <%= @current_tunit.content |> raw %>
+
--%>
+
+ <.status_selector target={@target} disabled={!@current_tunit.status} tunit={@current_tunit} />
+
+ """
+ end
+
+ defp statuses() do
+ [ {:untranslated, "bg-red-800"},
+ {:passable, "bg-amber-500"},
+ {:done, "bg-green-700"} ]
+ end
+
+ defp status_selector(assigns) do
+ ~H"""
+
"""
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
diff --git a/lib/outlook_web/live/translation_live/form_component.ex b/lib/outlook_web/live/translation_live/form_component.ex
index 1059e4a..e659484 100644
--- a/lib/outlook_web/live/translation_live/form_component.ex
+++ b/lib/outlook_web/live/translation_live/form_component.ex
@@ -27,7 +27,6 @@ defmodule OutlookWeb.TranslationLive.FormComponent do
options={Application.get_env(:outlook,:deepl)[:target_langs]} />
<.input field={{f, :title}} type="text" label="title" />
<.input field={{f, :teaser}} type="textarea" label="teaser" class="h-28" />
- <%!-- <.input field={{f, :content}} type="text" label="content" /> --%>
<.input field={{f, :date}} type="datetime-local" label="date" />
<.input field={{f, :public}} type="checkbox" label="public" />
@@ -56,7 +55,7 @@ defmodule OutlookWeb.TranslationLive.FormComponent do
{:ok,
socket
|> assign(assigns)
- |> assign(:current_tunit, nil)
+ |> assign(:current_tunit, %TranslationUnit{status: nil})
|> assign(:changeset, changeset)
|> assign_article_tree(translation)
|> assign(:deepl_progress, nil)}
diff --git a/lib/outlook_web/live/translation_live/new_edit.ex b/lib/outlook_web/live/translation_live/new_edit.ex
index 8959f35..88baa12 100644
--- a/lib/outlook_web/live/translation_live/new_edit.ex
+++ b/lib/outlook_web/live/translation_live/new_edit.ex
@@ -50,6 +50,7 @@ defmodule OutlookWeb.TranslationLive.NewEdit do
defp common_assigns(socket) do
assign(socket, form_cmpnt_id: @form_cmpnt_id)
+ |> assign(:page_title, page_title(socket.assigns.live_action))
end
@impl true