Add notes to artists

This commit is contained in:
Claudio Ortolina
2025-09-07 14:35:16 +03:00
parent 45610a4a9a
commit 7ac517a025
3 changed files with 65 additions and 41 deletions
@@ -6,56 +6,70 @@
<.country_flag country={@country} /> <.country_flag country={@country} />
</h1> </h1>
<.dropdown id={"actions-#{@artist.musicbrainz_id}"} placement="bottom-end"> <div class="flex items-center">
<:toggle> <button
<span class="sr-only">{gettext("Actions")}</span> class="text-xs md:text-sm text-zinc-700 dark:text-zinc-300"
phx-click={MusicLibraryWeb.NotesComponent.open("artist-notes-sheet")}
>
<span class="sr-only">{gettext("Open Notes")}</span>
<.icon <.icon
name="hero-ellipsis-vertical" name="hero-pencil-square"
class="-mt-1 h-5 w-5 text-zinc-500 dark:text-zinc-400 cursor-pointer" class="-mt-1 h-5 w-5"
aria-hidden="true" aria-hidden="true"
data-slot="icon" data-slot="icon"
/> />
</:toggle> </button>
<.focus_wrap id={"actions-#{@artist.musicbrainz_id}-focus-wrap"}> <.dropdown id={"actions-#{@artist.musicbrainz_id}"} placement="bottom-end">
<.dropdown_link <:toggle>
id={"actions-#{@artist.musicbrainz_id}-edit"} <span class="sr-only">{gettext("Actions")}</span>
patch={~p"/artists/#{@artist.musicbrainz_id}/edit"}
>
<.icon <.icon
name="hero-pencil-square" name="hero-ellipsis-vertical"
class="h-4 w-4 mr-1 phx-click-loading:animate-bounce" class="-mt-1 h-5 w-5 text-zinc-500 dark:text-zinc-400 cursor-pointer"
aria-hidden="true" aria-hidden="true"
data-slot="icon" data-slot="icon"
/> />
{gettext("Edit")} </:toggle>
</.dropdown_link> <.focus_wrap id={"actions-#{@artist.musicbrainz_id}-focus-wrap"}>
<.dropdown_link <.dropdown_link
id={"actions-#{@artist.musicbrainz_id}-refresh-image"} id={"actions-#{@artist.musicbrainz_id}-edit"}
phx-click={JS.push("refresh_artist_image", value: %{id: @artist.musicbrainz_id})} patch={~p"/artists/#{@artist.musicbrainz_id}/edit"}
> >
<.icon <.icon
name="hero-photo" name="hero-pencil-square"
class="h-4 w-4 mr-1 phx-click-loading:animate-bounce" class="h-4 w-4 mr-1 phx-click-loading:animate-bounce"
aria-hidden="true" aria-hidden="true"
data-slot="icon" data-slot="icon"
/> />
{gettext("Refresh image")} {gettext("Edit")}
</.dropdown_link> </.dropdown_link>
<.dropdown_link
id={"actions-#{@artist.musicbrainz_id}-refresh-image"}
phx-click={JS.push("refresh_artist_image", value: %{id: @artist.musicbrainz_id})}
>
<.icon
name="hero-photo"
class="h-4 w-4 mr-1 phx-click-loading:animate-bounce"
aria-hidden="true"
data-slot="icon"
/>
{gettext("Refresh image")}
</.dropdown_link>
<.dropdown_link <.dropdown_link
id={"actions-#{@artist.musicbrainz_id}-refresh-artist-info"} id={"actions-#{@artist.musicbrainz_id}-refresh-artist-info"}
phx-click={JS.push("refresh_artist_info", value: %{id: @artist.musicbrainz_id})} phx-click={JS.push("refresh_artist_info", value: %{id: @artist.musicbrainz_id})}
> >
<.icon <.icon
name="hero-arrow-path" name="hero-arrow-path"
class="h-4 w-4 mr-1 phx-click-loading:animate-spin" class="h-4 w-4 mr-1 phx-click-loading:animate-spin"
aria-hidden="true" aria-hidden="true"
data-slot="icon" data-slot="icon"
/> />
{gettext("Refresh info")} {gettext("Refresh info")}
</.dropdown_link> </.dropdown_link>
</.focus_wrap> </.focus_wrap>
</.dropdown> </.dropdown>
</div>
</div> </div>
<div class="mt-4 flex items-center justify-between"> <div class="mt-4 flex items-center justify-between">
@@ -233,6 +247,14 @@
/> />
</.structured_modal> </.structured_modal>
<.live_component
id="artist-notes"
sheet_id="artist-notes-sheet"
module={MusicLibraryWeb.NotesComponent}
entity={:artist}
musicbrainz_id={@artist.musicbrainz_id}
/>
<.structured_modal <.structured_modal
:if={@live_action == :edit} :if={@live_action == :edit}
id="artist-info-modal" id="artist-info-modal"
+1
View File
@@ -1314,6 +1314,7 @@ msgstr ""
msgid "No records released on this day." msgid "No records released on this day."
msgstr "" msgstr ""
#: lib/music_library_web/live/artist_live/show.html.heex
#: lib/music_library_web/live/collection_live/show.html.heex #: lib/music_library_web/live/collection_live/show.html.heex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Notes" msgid "Open Notes"
+1
View File
@@ -1314,6 +1314,7 @@ msgstr ""
msgid "No records released on this day." msgid "No records released on this day."
msgstr "" msgstr ""
#: lib/music_library_web/live/artist_live/show.html.heex
#: lib/music_library_web/live/collection_live/show.html.heex #: lib/music_library_web/live/collection_live/show.html.heex
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Notes" msgid "Open Notes"