First pass at manual editing of dominant colors
This commit is contained in:
@@ -58,6 +58,29 @@ defmodule MusicLibraryWeb.FormComponent do
|
|||||||
label={gettext("Purchased at")}
|
label={gettext("Purchased at")}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="space-y-4">
|
||||||
|
<fieldset>
|
||||||
|
<legend class="text-sm font-medium leading-6 text-zinc-700 dark:text-zinc-300">
|
||||||
|
{gettext("Dominant Colors")}
|
||||||
|
</legend>
|
||||||
|
<div class="mt-2 grid grid-cols-5 gap-2">
|
||||||
|
<div
|
||||||
|
:for={{color, index} <- Enum.with_index(@record.dominant_colors, 0)}
|
||||||
|
class="flex flex-col items-center"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
type="color"
|
||||||
|
name={"record[dominant_colors][#{index}]"}
|
||||||
|
value={color}
|
||||||
|
class="size-8 rounded border border-zinc-300 cursor-pointer"
|
||||||
|
/>
|
||||||
|
<span class="text-xs mt-1 text-zinc-600 dark:text-zinc-400">
|
||||||
|
{String.upcase(color)}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
<div class="col-span-full">
|
<div class="col-span-full">
|
||||||
<.label for={@uploads.cover_data.ref}>
|
<.label for={@uploads.cover_data.ref}>
|
||||||
{gettext("Cover art")}
|
{gettext("Cover art")}
|
||||||
@@ -145,6 +168,9 @@ defmodule MusicLibraryWeb.FormComponent do
|
|||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("validate", %{"record" => record_params}, socket) do
|
def handle_event("validate", %{"record" => record_params}, socket) do
|
||||||
|
record_params =
|
||||||
|
Map.update!(record_params, "dominant_colors", fn colors -> Map.values(colors) end)
|
||||||
|
|
||||||
changeset = Records.change_record(socket.assigns.record, record_params)
|
changeset = Records.change_record(socket.assigns.record, record_params)
|
||||||
{:noreply, assign(socket, form: to_form(changeset, action: :validate))}
|
{:noreply, assign(socket, form: to_form(changeset, action: :validate))}
|
||||||
end
|
end
|
||||||
@@ -163,6 +189,9 @@ defmodule MusicLibraryWeb.FormComponent do
|
|||||||
end
|
end
|
||||||
|
|
||||||
defp save_record(socket, record_params, uploaded_covers) do
|
defp save_record(socket, record_params, uploaded_covers) do
|
||||||
|
record_params =
|
||||||
|
Map.update!(record_params, "dominant_colors", fn colors -> Map.values(colors) end)
|
||||||
|
|
||||||
params =
|
params =
|
||||||
case uploaded_covers do
|
case uploaded_covers do
|
||||||
[] ->
|
[] ->
|
||||||
|
|||||||
@@ -1181,3 +1181,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Copy record selected release ID to clipboard"
|
msgid "Copy record selected release ID to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/music_library_web/components/form_component.ex
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Dominant Colors"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
@@ -1181,3 +1181,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Copy record selected release ID to clipboard"
|
msgid "Copy record selected release ID to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/music_library_web/components/form_component.ex
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Dominant Colors"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
Reference in New Issue
Block a user