diff --git a/lib/music_library_web/live/record_live/show.ex b/lib/music_library_web/live/record_live/show.ex index 789585bb..e4cab821 100644 --- a/lib/music_library_web/live/record_live/show.ex +++ b/lib/music_library_web/live/record_live/show.ex @@ -5,7 +5,16 @@ defmodule MusicLibraryWeb.RecordLive.Show do @impl true def mount(_params, _session, socket) do - {:ok, socket} + back_url = + if connected?(socket) do + socket + |> get_connect_params() + |> Map.get("_live_referer", ~p"/records") + else + ~p"/records" + end + + {:ok, assign(socket, :back_url, back_url)} end @impl true diff --git a/lib/music_library_web/live/record_live/show.html.heex b/lib/music_library_web/live/record_live/show.html.heex index 0ed4371c..f91ad292 100644 --- a/lib/music_library_web/live/record_live/show.html.heex +++ b/lib/music_library_web/live/record_live/show.html.heex @@ -46,7 +46,7 @@ -<.back navigate={~p"/records"}>Back to records +<.back navigate={@back_url}>Back to records <.modal :if={@live_action == :edit}