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