diff --git a/lib/music_library/artists.ex b/lib/music_library/artists.ex index d0c54e19..5eb4d6a3 100644 --- a/lib/music_library/artists.ex +++ b/lib/music_library/artists.ex @@ -151,6 +151,16 @@ defmodule MusicLibrary.Artists do Repo.one(q) end + def change_artist_info(artist_info, attrs \\ %{}) do + ArtistInfo.changeset(artist_info, attrs) + end + + def update_artist_info(artist_info, attrs) do + artist_info + |> ArtistInfo.changeset(attrs) + |> Repo.update() + end + defp get_collected_artist_ids do q = from ar in ArtistRecord, diff --git a/lib/music_library_web/live/artist_live/form_component.ex b/lib/music_library_web/live/artist_live/form_component.ex new file mode 100644 index 00000000..a4f840de --- /dev/null +++ b/lib/music_library_web/live/artist_live/form_component.ex @@ -0,0 +1,157 @@ +defmodule MusicLibraryWeb.ArtistLive.FormComponent do + use MusicLibraryWeb, :live_component + + alias MusicLibrary.Artists + alias Vix.Vips.Image + + @impl true + def mount(socket) do + {:ok, + socket + |> allow_upload(:image_data, accept: ~w(.jpg .jpeg .png .webp), max_entries: 1)} + end + + @impl true + def render(assigns) do + ~H""" +
{gettext("or drag and drop")}
++ {gettext("PNG, JPG, WEBP up to 8MB")} +
+