From 23d6e736e75369c8306e3204f2bfdde365f3ce37 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sun, 15 Feb 2026 14:24:02 +0000 Subject: [PATCH] Uniform ux/ui of adding a new record to a set --- .../live/record_set_live/show.html.heex | 38 +++++++++---------- priv/gettext/default.pot | 6 --- priv/gettext/en/LC_MESSAGES/default.po | 6 --- .../live/record_set_live/show_test.exs | 4 +- 4 files changed, 20 insertions(+), 34 deletions(-) diff --git a/lib/music_library_web/live/record_set_live/show.html.heex b/lib/music_library_web/live/record_set_live/show.html.heex index 79391c4b..02021363 100644 --- a/lib/music_library_web/live/record_set_live/show.html.heex +++ b/lib/music_library_web/live/record_set_live/show.html.heex @@ -10,14 +10,6 @@
- <.button - variant="solid" - size="sm" - patch={~p"/record-sets/#{@record_set}/show/add-record"} - > - <.icon name="hero-plus" class="icon" aria-hidden="true" data-slot="icon" /> - {gettext("Add Record")} - <.dropdown id="set-actions" placement="bottom-end"> <:toggle> <.button variant="ghost"> @@ -59,18 +51,6 @@
- <.icon name="hero-musical-note" class="h-12 w-12 text-zinc-400 mx-auto mb-4" /> -

- {gettext("No records in this set yet")} -

-
- -
+ <.link + patch={~p"/record-sets/#{@record_set}/show/add-record"} + class={[ + "aspect-square", + "border-2 border-dashed border-zinc-300 dark:border-zinc-600", + "rounded-lg flex items-center justify-center", + "hover:border-zinc-400 dark:hover:border-zinc-500", + "hover:bg-zinc-50 dark:hover:bg-zinc-800", + "transition-colors cursor-pointer" + ]} + > + <.icon + name="hero-plus" + class="h-8 w-8 text-zinc-400 dark:text-zinc-500" + aria-hidden="true" + data-slot="icon" + /> +
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index c67e3bfa..9d46252f 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -1686,7 +1686,6 @@ msgstr "" #: lib/music_library_web/live/record_set_live/index.ex #: lib/music_library_web/live/record_set_live/show.ex -#: lib/music_library_web/live/record_set_live/show.html.heex #, elixir-autogen, elixir-format msgid "Add Record" msgstr "" @@ -1802,11 +1801,6 @@ msgstr "" msgid "Updated" msgstr "" -#: lib/music_library_web/live/record_set_live/show.html.heex -#, elixir-autogen, elixir-format -msgid "No records in this set yet" -msgstr "" - #: lib/music_library_web/components/record_form.ex #, elixir-autogen, elixir-format msgid "Create \"%{genre}\"" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index a7579766..af89cf99 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -1686,7 +1686,6 @@ msgstr "" #: lib/music_library_web/live/record_set_live/index.ex #: lib/music_library_web/live/record_set_live/show.ex -#: lib/music_library_web/live/record_set_live/show.html.heex #, elixir-autogen, elixir-format msgid "Add Record" msgstr "" @@ -1802,11 +1801,6 @@ msgstr "" msgid "Updated" msgstr "" -#: lib/music_library_web/live/record_set_live/show.html.heex -#, elixir-autogen, elixir-format, fuzzy -msgid "No records in this set yet" -msgstr "" - #: lib/music_library_web/components/record_form.ex #, elixir-autogen, elixir-format msgid "Create \"%{genre}\"" diff --git a/test/music_library_web/live/record_set_live/show_test.exs b/test/music_library_web/live/record_set_live/show_test.exs index c61258e7..150640e5 100644 --- a/test/music_library_web/live/record_set_live/show_test.exs +++ b/test/music_library_web/live/record_set_live/show_test.exs @@ -32,12 +32,12 @@ defmodule MusicLibraryWeb.RecordSetLive.ShowTest do |> assert_has("h2", text: escape(r2.title)) end - test "shows empty state when set has no records", %{conn: conn} do + test "shows add record tile when set has no records", %{conn: conn} do set = record_set() conn |> visit(~p"/record-sets/#{set}") - |> assert_has("p", text: "No records in this set yet") + |> assert_has("a[href*='add-record']") end test "renders markdown description as HTML", %{conn: conn} do