From 77514d75a075afb4ac6f92e47771396f7e51150e Mon Sep 17 00:00:00 2001 From: KKlochko Date: Thu, 17 Apr 2025 20:03:10 +0300 Subject: [PATCH] Update the LiveView to refactor and remove the unused code. --- .../live/author_live/edit.ex | 8 ++--- .../live/author_live/form_component.ex | 2 +- .../live/author_live/index.ex | 31 ++----------------- .../live/author_live/show.ex | 2 +- .../live/book_live/edit.ex | 8 ++--- .../live/book_live/index.ex | 12 ++----- .../live/dbi_server_live/edit.ex | 2 +- .../live/dbi_server_live/index.ex | 10 ++---- .../live/publisher_live/edit.ex | 2 +- .../live/publisher_live/index.ex | 4 +-- .../live/user_live/edit.ex | 2 +- 11 files changed, 18 insertions(+), 65 deletions(-) diff --git a/lib/decentralised_book_index_web/live/author_live/edit.ex b/lib/decentralised_book_index_web/live/author_live/edit.ex index 96d013e..0c1f834 100644 --- a/lib/decentralised_book_index_web/live/author_live/edit.ex +++ b/lib/decentralised_book_index_web/live/author_live/edit.ex @@ -21,10 +21,6 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Edit do def mount(_params, _session, socket) do {:ok, socket - |> stream( - :authors, - Ash.read!(DecentralisedBookIndex.Metadata.Author, actor: socket.assigns[:current_user]) - ) |> assign_new(:current_user, fn -> nil end)} end @@ -54,7 +50,7 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Edit do end @impl true - def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, author}}, socket) do - {:noreply, stream_insert(socket, :authors, author)} + def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, _author}}, socket) do + {:noreply, socket} end end diff --git a/lib/decentralised_book_index_web/live/author_live/form_component.ex b/lib/decentralised_book_index_web/live/author_live/form_component.ex index 5e25921..1f43dcc 100644 --- a/lib/decentralised_book_index_web/live/author_live/form_component.ex +++ b/lib/decentralised_book_index_web/live/author_live/form_component.ex @@ -72,7 +72,7 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.FormComponent do end def handle_event("save", %{"author" => author_params}, socket) do - case AshPhoenix.Form.submit(socket.assigns.form, params: author_params) do + case AshPhoenix.Form.submit(socket.assigns.form, params: author_params, actor: socket.assigns.current_user) do {:ok, author} -> notify_parent({:saved, author}) diff --git a/lib/decentralised_book_index_web/live/author_live/index.ex b/lib/decentralised_book_index_web/live/author_live/index.ex index 6e9f249..27050c0 100644 --- a/lib/decentralised_book_index_web/live/author_live/index.ex +++ b/lib/decentralised_book_index_web/live/author_live/index.ex @@ -44,23 +44,6 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Index do params={@params} /> <% end %> - - <.modal - :if={@live_action in [:new, :edit]} - id="author-modal" - show - on_cancel={JS.patch(~p"/authors")} - > - <.live_component - module={DecentralisedBookIndexWeb.AuthorLive.FormComponent} - id={(@author && @author.id) || :new} - title={@page_title} - current_user={@current_user} - action={@live_action} - author={@author} - patch={~p"/authors"} - /> - """ end @@ -118,18 +101,8 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Index do end @impl true - def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, author}}, socket) do - {:noreply, stream_insert(socket, :authors, author)} - end - - @impl true - def handle_event("delete", %{"id" => id}, socket) do - author = - Ash.get!(DecentralisedBookIndex.Metadata.Author, id, actor: socket.assigns.current_user) - - Ash.destroy!(author, actor: socket.assigns.current_user) - - {:noreply, stream_delete(socket, :authors, author)} + def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, _author}}, socket) do + {:noreply, socket} end defp sort_options do diff --git a/lib/decentralised_book_index_web/live/author_live/show.ex b/lib/decentralised_book_index_web/live/author_live/show.ex index a84abda..1cdaa95 100644 --- a/lib/decentralised_book_index_web/live/author_live/show.ex +++ b/lib/decentralised_book_index_web/live/author_live/show.ex @@ -11,7 +11,7 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Show do <:actions> <%= if @current_user != nil and Role.can_moderate?(@current_user.role) do %> - <.link navigate={~p"/authors/#{@author}/edit"}> + <.link patch={~p"/authors/#{@author}/edit"}> <.edit_button> Edit diff --git a/lib/decentralised_book_index_web/live/book_live/edit.ex b/lib/decentralised_book_index_web/live/book_live/edit.ex index b709601..9ff2b7e 100644 --- a/lib/decentralised_book_index_web/live/book_live/edit.ex +++ b/lib/decentralised_book_index_web/live/book_live/edit.ex @@ -19,10 +19,6 @@ defmodule DecentralisedBookIndexWeb.BookLive.Edit do def mount(_params, _session, socket) do {:ok, socket - |> stream( - :books, - Ash.read!(DecentralisedBookIndex.Metadata.Book, actor: socket.assigns[:current_user]) - ) |> assign_new(:current_user, fn -> nil end)} end @@ -47,7 +43,7 @@ defmodule DecentralisedBookIndexWeb.BookLive.Edit do end @impl true - def handle_info({DecentralisedBookIndexWeb.BookLive.FormComponent, {:saved, book}}, socket) do - {:noreply, stream_insert(socket, :books, book)} + def handle_info({DecentralisedBookIndexWeb.BookLive.FormComponent, {:saved, _book}}, socket) do + {:noreply, socket} end end diff --git a/lib/decentralised_book_index_web/live/book_live/index.ex b/lib/decentralised_book_index_web/live/book_live/index.ex index 9671f63..b16db42 100644 --- a/lib/decentralised_book_index_web/live/book_live/index.ex +++ b/lib/decentralised_book_index_web/live/book_live/index.ex @@ -120,16 +120,8 @@ defmodule DecentralisedBookIndexWeb.BookLive.Index do end @impl true - def handle_info({DecentralisedBookIndexWeb.BookLive.FormComponent, {:saved, book}}, socket) do - {:noreply, stream_insert(socket, :books, book)} - end - - @impl true - def handle_event("delete", %{"id" => id}, socket) do - book = Ash.get!(DecentralisedBookIndex.Metadata.Book, id, actor: socket.assigns.current_user) - Ash.destroy!(book, actor: socket.assigns.current_user) - - {:noreply, stream_delete(socket, :books, book)} + def handle_info({DecentralisedBookIndexWeb.BookLive.FormComponent, {:saved, _book}}, socket) do + {:noreply, socket} end defp sort_options do diff --git a/lib/decentralised_book_index_web/live/dbi_server_live/edit.ex b/lib/decentralised_book_index_web/live/dbi_server_live/edit.ex index a9c4d35..ee7bf50 100644 --- a/lib/decentralised_book_index_web/live/dbi_server_live/edit.ex +++ b/lib/decentralised_book_index_web/live/dbi_server_live/edit.ex @@ -50,7 +50,7 @@ defmodule DecentralisedBookIndexWeb.DbiServerLive.Edit do end @impl true - def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, author}}, socket) do + def handle_info({DecentralisedBookIndexWeb.DbiServerLive.FormComponent, {:saved, _dbi_server}}, socket) do {:noreply, socket} end end diff --git a/lib/decentralised_book_index_web/live/dbi_server_live/index.ex b/lib/decentralised_book_index_web/live/dbi_server_live/index.ex index 8f18216..14132b6 100644 --- a/lib/decentralised_book_index_web/live/dbi_server_live/index.ex +++ b/lib/decentralised_book_index_web/live/dbi_server_live/index.ex @@ -74,10 +74,6 @@ defmodule DecentralisedBookIndexWeb.DbiServerLive.Index do def mount(_params, _session, socket) do {:ok, socket - |> stream( - :dbi_servers, - Ash.read!(DecentralisedBookIndex.Metadata.DBIServer, actor: socket.assigns[:current_user]) - ) |> assign_new(:current_user, fn -> nil end)} end @@ -131,10 +127,10 @@ defmodule DecentralisedBookIndexWeb.DbiServerLive.Index do @impl true def handle_info( - {DecentralisedBookIndexWeb.DbiServerLive.FormComponent, {:saved, dbi_server}}, + {DecentralisedBookIndexWeb.DbiServerLive.FormComponent, {:saved, _dbi_server}}, socket ) do - {:noreply, stream_insert(socket, :dbi_servers, dbi_server)} + {:noreply, socket} end @impl true @@ -144,7 +140,7 @@ defmodule DecentralisedBookIndexWeb.DbiServerLive.Index do Ash.destroy!(dbi_server, actor: socket.assigns.current_user) - {:noreply, stream_delete(socket, :dbi_servers, dbi_server)} + {:noreply, socket} end defp sort_options do diff --git a/lib/decentralised_book_index_web/live/publisher_live/edit.ex b/lib/decentralised_book_index_web/live/publisher_live/edit.ex index 81400b8..bfa3da8 100644 --- a/lib/decentralised_book_index_web/live/publisher_live/edit.ex +++ b/lib/decentralised_book_index_web/live/publisher_live/edit.ex @@ -50,7 +50,7 @@ defmodule DecentralisedBookIndexWeb.PublisherLive.Edit do end @impl true - def handle_info({DecentralisedBookIndexWeb.AuthorLive.FormComponent, {:saved, author}}, socket) do + def handle_info({DecentralisedBookIndexWeb.PublisherLive.FormComponent, {:saved, _publisher}}, socket) do {:noreply, socket} end end diff --git a/lib/decentralised_book_index_web/live/publisher_live/index.ex b/lib/decentralised_book_index_web/live/publisher_live/index.ex index 33422ce..010fc65 100644 --- a/lib/decentralised_book_index_web/live/publisher_live/index.ex +++ b/lib/decentralised_book_index_web/live/publisher_live/index.ex @@ -113,10 +113,10 @@ defmodule DecentralisedBookIndexWeb.PublisherLive.Index do @impl true def handle_info( - {DecentralisedBookIndexWeb.PublisherLive.FormComponent, {:saved, publisher}}, + {DecentralisedBookIndexWeb.PublisherLive.FormComponent, {:saved, _publisher}}, socket ) do - {:noreply, stream_insert(socket, :publishers, publisher)} + {:noreply, socket} end defp sort_options do diff --git a/lib/decentralised_book_index_web/live/user_live/edit.ex b/lib/decentralised_book_index_web/live/user_live/edit.ex index d4d2383..108f8e4 100644 --- a/lib/decentralised_book_index_web/live/user_live/edit.ex +++ b/lib/decentralised_book_index_web/live/user_live/edit.ex @@ -50,7 +50,7 @@ defmodule DecentralisedBookIndexWeb.UserLive.Edit do end @impl true - def handle_info({DecentralisedBookIndexWeb.UserLive.FormComponent, {:saved, author}}, socket) do + def handle_info({DecentralisedBookIndexWeb.UserLive.FormComponent, {:saved, _user}}, socket) do {:noreply, socket} end end