From 93cd1330a26c2f0f6f3fe81c43bf47a339599779 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 22 Oct 2024 09:21:57 +0100 Subject: [PATCH] Fix redirects for import/edit in wishlist index --- .../live/wishlist_live/index.ex | 9 +++++++++ .../live/wishlist_live/index.html.heex | 18 ++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/music_library_web/live/wishlist_live/index.ex b/lib/music_library_web/live/wishlist_live/index.ex index 8c814d7d..0b1dcf0c 100644 --- a/lib/music_library_web/live/wishlist_live/index.ex +++ b/lib/music_library_web/live/wishlist_live/index.ex @@ -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 diff --git a/lib/music_library_web/live/wishlist_live/index.html.heex b/lib/music_library_web/live/wishlist_live/index.html.heex index c8aca7e5..7dd2f9c2 100644 --- a/lib/music_library_web/live/wishlist_live/index.html.heex +++ b/lib/music_library_web/live/wishlist_live/index.html.heex @@ -171,7 +171,12 @@ -<.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 :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="" />