Update the Author form to redirect to Index or Show LiveView.

dev
KKlochko 5 months ago
parent cad5758ce9
commit 1133c048d1

@ -32,6 +32,18 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.FormComponent do
/> />
<% end %> <% end %>
<%= if @form.source.type == :update do %> <%= if @form.source.type == :update do %>
<.input field={@form[:name]} type="text" label="Name" />
<.input field={@form[:avatar_url]} type="text" label="Cover image url" />
<.input
field={@form[:description]}
type="text"
label="Description"
/>
<.input
field={@form[:author_alias_registry_id]}
type="text"
label="Author alias registry"
/>
<% end %> <% end %>
<:actions> <:actions>
@ -63,7 +75,7 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.FormComponent do
socket = socket =
socket socket
|> put_flash(:info, "Author #{socket.assigns.form.source.type}d successfully") |> put_flash(:info, "Author #{socket.assigns.form.source.type}d successfully")
|> push_patch(to: socket.assigns.patch) |> push_redirect(to: patch_url(socket.assigns.action, author.id))
{:noreply, socket} {:noreply, socket}
@ -90,4 +102,12 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.FormComponent do
assign(socket, form: to_form(form)) assign(socket, form: to_form(form))
end end
defp patch_url(action, author_id) do
case action do
:edit -> ~p"/authors/#{author_id}"
:new -> ~p"/authors"
_ -> ~p"/authors"
end
end
end end

Loading…
Cancel
Save