aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/static_fe/static_fe_controller.ex12
-rw-r--r--lib/pleroma/web/templates/layout/static_fe.html.eex5
-rw-r--r--lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex (renamed from lib/pleroma/web/templates/static_fe/static_fe/notice.html.eex)4
-rw-r--r--lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex5
-rw-r--r--lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex6
5 files changed, 26 insertions, 6 deletions
diff --git a/lib/pleroma/web/static_fe/static_fe_controller.ex b/lib/pleroma/web/static_fe/static_fe_controller.ex
index 8bbd06aa9..d2b55767d 100644
--- a/lib/pleroma/web/static_fe/static_fe_controller.ex
+++ b/lib/pleroma/web/static_fe/static_fe_controller.ex
@@ -5,6 +5,7 @@
defmodule Pleroma.Web.StaticFE.StaticFEController do
use Pleroma.Web, :controller
+ alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.StaticFE.ActivityRepresenter
alias Pleroma.Web.StaticFE.UserRepresenter
@@ -12,11 +13,20 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do
def show_notice(conn, %{"notice_id" => notice_id}) do
with {:ok, data} <- ActivityRepresenter.represent(notice_id) do
+ context = data.object.data["context"]
+ activities = ActivityPub.fetch_activities_for_context(context, %{})
+
+ data =
+ for a <- Enum.reverse(activities) do
+ ActivityRepresenter.prepare_activity(data.user, a)
+ |> Map.put(:selected, a.object.id == data.object.id)
+ end
+
conn
|> put_layout(:static_fe)
|> put_status(200)
|> put_view(Pleroma.Web.StaticFE.StaticFEView)
- |> render("notice.html", %{data: data})
+ |> render("conversation.html", %{data: data})
else
{:error, nil} ->
conn
diff --git a/lib/pleroma/web/templates/layout/static_fe.html.eex b/lib/pleroma/web/templates/layout/static_fe.html.eex
index c1fbd89cd..9d7ee366a 100644
--- a/lib/pleroma/web/templates/layout/static_fe.html.eex
+++ b/lib/pleroma/web/templates/layout/static_fe.html.eex
@@ -23,6 +23,7 @@
}
.activity {
+ padding: 1em;
margin-bottom: 1em;
}
@@ -41,6 +42,10 @@
max-height: 800px;
}
+ #selected {
+ background-color: #1b2735;
+ }
+
a {
color: white;
}
diff --git a/lib/pleroma/web/templates/static_fe/static_fe/notice.html.eex b/lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex
index 9a7824a32..90b5ef67c 100644
--- a/lib/pleroma/web/templates/static_fe/static_fe/notice.html.eex
+++ b/lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex
@@ -1,7 +1,7 @@
-<div class="activity">
- <%= render("user_card.html", %{user: @data.user}) %>
+<div class="activity" <%= if @data[:selected] do %> id="selected" <% end %>>
<p class="pull-right">
<a href="<%= @data.link %>" class="activity-link"><%= @data.published %></a></p>
+ <%= render("user_card.html", %{user: @data.user}) %>
<div class="activity-content">
<%= if @data.title != "" do %>
<details>
diff --git a/lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex b/lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex
new file mode 100644
index 000000000..35c3c17cd
--- /dev/null
+++ b/lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex
@@ -0,0 +1,5 @@
+<div class="conversation">
+ <%= for notice <- @data do %>
+ <%= render("_notice.html", %{data: notice}) %>
+ <% end %>
+</div>
diff --git a/lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex b/lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex
index 47b7d5286..79bf5a729 100644
--- a/lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex
+++ b/lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex
@@ -8,7 +8,7 @@
</h1>
<p><%= raw @data.user.bio %></p>
<div class="activity-stream">
-<%= for activity <- @data.timeline do %>
- <%= render("notice.html", %{data: activity}) %>
-<% end %>
+ <%= for activity <- @data.timeline do %>
+ <%= render("_notice.html", %{data: activity}) %>
+ <% end %>
</div>