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 89fcc35..80decf4 100644 --- a/lib/decentralised_book_index_web/live/author_live/show.ex +++ b/lib/decentralised_book_index_web/live/author_live/show.ex @@ -57,6 +57,25 @@ defmodule DecentralisedBookIndexWeb.AuthorLive.Show do

{@author.description}

+ + <%= if not is_nil(@author.dbi_server) do %> +
+
+ From Server +
+
+ <%= if @current_user != nil and Role.can_moderate?(@current_user.role) do %> + <.link navigate={~p"/servers/#{@author.dbi_server.id}/"} class="hover:underline"> + {@author.dbi_server.name} + + <% else %> + <.link navigate={@author.dbi_server.url} class="hover:underline"> + {@author.dbi_server.name} + + <% end %> +
+
+ <% end %> diff --git a/lib/decentralised_book_index_web/live/book_live/show.ex b/lib/decentralised_book_index_web/live/book_live/show.ex index f46448d..ea4aad9 100644 --- a/lib/decentralised_book_index_web/live/book_live/show.ex +++ b/lib/decentralised_book_index_web/live/book_live/show.ex @@ -74,6 +74,22 @@ defmodule DecentralisedBookIndexWeb.BookLive.Show do
{bid.type}: {bid.bid}
<% end %> + <%= if not is_nil(@book.dbi_server) do %> +
+
From Server
+
+ <%= if @current_user != nil and Role.can_moderate?(@current_user.role) do %> + <.link navigate={~p"/servers/#{@book.dbi_server.id}/"} class="hover:underline"> + {@book.dbi_server.name} + + <% else %> + <.link navigate={@book.dbi_server.url} class="hover:underline"> + {@book.dbi_server.name} + + <% end %> +
+
+ <% end %> <%= if not Enum.empty?(@alternative_editions) do %> diff --git a/lib/decentralised_book_index_web/live/dbi_server_live/show.ex b/lib/decentralised_book_index_web/live/dbi_server_live/show.ex index d270fb1..40dcdcd 100644 --- a/lib/decentralised_book_index_web/live/dbi_server_live/show.ex +++ b/lib/decentralised_book_index_web/live/dbi_server_live/show.ex @@ -28,6 +28,16 @@ defmodule DecentralisedBookIndexWeb.DbiServerLive.Show do
Sync on?
{@dbi_server.sync_on?}
+ <%= if not is_nil(@dbi_server.dbi_server) do %> +
+
From Server
+
+ <.link navigate={~p"/servers/#{@dbi_server.dbi_server.id}/"} class="hover:underline"> + {@dbi_server.dbi_server.name} + +
+
+ <% end %> <.back navigate={~p"/servers"}>Back to servers diff --git a/lib/decentralised_book_index_web/live/publisher_live/show.ex b/lib/decentralised_book_index_web/live/publisher_live/show.ex index 57dd9aa..a24ea63 100644 --- a/lib/decentralised_book_index_web/live/publisher_live/show.ex +++ b/lib/decentralised_book_index_web/live/publisher_live/show.ex @@ -1,6 +1,8 @@ defmodule DecentralisedBookIndexWeb.PublisherLive.Show do use DecentralisedBookIndexWeb, :live_view + alias DecentralisedBookIndex.Accounts.Role + @impl true def render(assigns) do ~H""" @@ -18,6 +20,27 @@ defmodule DecentralisedBookIndexWeb.PublisherLive.Show do + <%= if not is_nil(@publisher.dbi_server) do %> +
+
+
+ From Server +
+
+ <%= if @current_user != nil and Role.can_moderate?(@current_user.role) do %> + <.link navigate={~p"/servers/#{@publisher.dbi_server.id}/"} class="hover:underline"> + {@publisher.dbi_server.name} + + <% else %> + <.link navigate={@publisher.dbi_server.url} class="hover:underline"> + {@publisher.dbi_server.name} + + <% end %> +
+
+
+ <% end %> + <.back navigate={~p"/publishers"}>Back to publishers """ end