Fix redirects for import/edit in wishlist index

This commit is contained in:
Claudio Ortolina
2024-10-22 09:21:57 +01:00
parent 758c62dff1
commit 93cd1330a2
2 changed files with 23 additions and 4 deletions
@@ -154,6 +154,15 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
String.to_integer(value)
end
defp back_path(record_list_params) do
qs =
record_list_params
|> Map.take([:query, :page, :page_size])
|> Enum.filter(fn {_, v} -> v not in ["", nil] end)
~p"/wishlist?#{qs}"
end
defp musicbrainz_url(record) do
"https://musicbrainz.org/release-group/#{record.musicbrainz_id}"
end
@@ -171,7 +171,12 @@
</li>
</ul>
<.modal :if={@live_action == :edit} id="record-modal" show on_cancel={JS.patch(~p"/wishlist")}>
<.modal
:if={@live_action == :edit}
id="record-modal"
show
on_cancel={JS.patch(back_path(@record_list_params))}
>
<.live_component
module={MusicLibraryWeb.RecordLive.FormComponent}
id={@record.id}
@@ -179,18 +184,23 @@
action={@live_action}
show_purchased_at={false}
record={@record}
patch={~p"/wishlist"}
patch={back_path(@record_list_params)}
/>
</.modal>
<.modal :if={@live_action == :import} id="record-modal" show on_cancel={JS.patch(~p"/wishlist")}>
<.modal
:if={@live_action == :import}
id="record-modal"
show
on_cancel={JS.patch(back_path(@record_list_params))}
>
<.live_component
module={MusicLibraryWeb.RecordLive.ImportComponent}
id={:search}
title={@page_title}
action={@live_action}
record={@record}
patch={~p"/wishlist"}
patch={back_path(@record_list_params)}
initial_query=""
/>
</.modal>