From 6386e5e20d7d33b0640daf97d09da7a31bae5aca Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 15 Jul 2025 10:20:07 +0100 Subject: [PATCH] Fix live preview for new templates --- .../online_store_template_live/form_component.ex | 14 +++++++++----- priv/gettext/default.pot | 5 +++++ priv/gettext/en/LC_MESSAGES/default.po | 5 +++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/music_library_web/live/online_store_template_live/form_component.ex b/lib/music_library_web/live/online_store_template_live/form_component.ex index e42f5cec..8e48e984 100644 --- a/lib/music_library_web/live/online_store_template_live/form_component.ex +++ b/lib/music_library_web/live/online_store_template_live/form_component.ex @@ -88,7 +88,7 @@ defmodule MusicLibraryWeb.OnlineStoreTemplateLive.FormComponent do socket |> assign(assigns) |> assign(:test_record, test_record) - |> assign(:generated_url_preview, OnlineStoreTemplates.generate_url(template, test_record)) + |> assign(:generated_url_preview, generate_preview(template, test_record)) |> assign_new(:form, fn -> to_form(OnlineStoreTemplates.change_template(template)) end)} @@ -101,12 +101,9 @@ defmodule MusicLibraryWeb.OnlineStoreTemplateLive.FormComponent do new_template = Ecto.Changeset.apply_changes(changeset) - generated_url_preview = - OnlineStoreTemplates.generate_url(new_template, socket.assigns.test_record) - {:noreply, socket - |> assign(:generated_url_preview, generated_url_preview) + |> assign(:generated_url_preview, generate_preview(new_template, socket.assigns.test_record)) |> assign(form: to_form(changeset, action: :validate))} end @@ -145,4 +142,11 @@ defmodule MusicLibraryWeb.OnlineStoreTemplateLive.FormComponent do end defp notify_parent(msg), do: send(self(), {__MODULE__, msg}) + + defp generate_preview(template, _record) when is_nil(template.url_template), + do: gettext("Preview not available") + + defp generate_preview(template, record) do + OnlineStoreTemplates.generate_url(template, record) + end end diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 71822edf..97bfdc00 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -1270,3 +1270,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Record format" msgstr "" + +#: lib/music_library_web/live/online_store_template_live/form_component.ex +#, elixir-autogen, elixir-format +msgid "Preview not available" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 7768d521..bde34ef5 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -1270,3 +1270,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Record format" msgstr "" + +#: lib/music_library_web/live/online_store_template_live/form_component.ex +#, elixir-autogen, elixir-format +msgid "Preview not available" +msgstr ""