Consistently road scrobble rules when creating or editing a scrobble rule
This commit is contained in:
@@ -14,16 +14,17 @@ defmodule MusicLibraryWeb.ScrobbleRulesLive.Index do
|
||||
{:noreply, apply_action(socket, socket.assigns.live_action, params)}
|
||||
end
|
||||
|
||||
defp apply_action(socket, :edit, %{"id" => id}) do
|
||||
defp apply_action(socket, :edit, %{"id" => id} = params) do
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, gettext("Edit Scrobble Rule"))
|
||||
|> assign(:scrobble_rule, ScrobbleRules.get_scrobble_rule!(id))
|
||||
end
|
||||
|
||||
defp apply_action(socket, :new, _params) do
|
||||
defp apply_action(socket, :new, params) do
|
||||
socket
|
||||
|> apply_fallback_index(params)
|
||||
|> assign(:page_title, gettext("New Scrobble Rule"))
|
||||
|> stream(:scrobble_rules, ScrobbleRules.list_scrobble_rules())
|
||||
|> assign(:scrobble_rule, %ScrobbleRule{})
|
||||
end
|
||||
|
||||
@@ -34,6 +35,15 @@ defmodule MusicLibraryWeb.ScrobbleRulesLive.Index do
|
||||
|> stream(:scrobble_rules, ScrobbleRules.list_scrobble_rules())
|
||||
end
|
||||
|
||||
def apply_fallback_index(socket, params) do
|
||||
if get_in(socket.assigns, [:streams, :scrobble_rules]) == nil do
|
||||
socket
|
||||
|> apply_action(:index, params)
|
||||
else
|
||||
socket
|
||||
end
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_info(
|
||||
{MusicLibraryWeb.ScrobbleRulesLive.FormComponent, {:saved, scrobble_rule}},
|
||||
|
||||
Reference in New Issue
Block a user