Get rid of @data in views and use separate fields.
authorPhil Hagelberg <phil@hagelb.org>
Wed, 30 Oct 2019 02:27:42 +0000 (19:27 -0700)
committerPhil Hagelberg <phil@hagelb.org>
Sun, 10 Nov 2019 02:07:50 +0000 (18:07 -0800)
lib/pleroma/web/static_fe/static_fe_controller.ex
lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex
lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex
lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex

index 6e8d0d622e462134774028c8b7800c210ef01c32..c77df8e7da61a9792b2c38722c1cd5a12a887279 100644 (file)
@@ -17,22 +17,20 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do
   def show_notice(%{assigns: %{notice_id: notice_id}} = conn, _params) 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
+      activities =
+        for a <- Enum.reverse(ActivityPub.fetch_activities_for_context(context, %{})) do
           ActivityRepresenter.prepare_activity(data.user, a)
           |> Map.put(:selected, a.object.id == data.object.id)
         end
 
-      render(conn, "conversation.html", data: data)
+      render(conn, "conversation.html", activities: activities)
     end
   end
 
   def show_user(%{assigns: %{username_or_id: username_or_id}} = conn, _params) do
-    with {:ok, data} <- UserRepresenter.represent(username_or_id) do
-      render(conn, "profile.html", data: data)
-    end
+    {:ok, data} = UserRepresenter.represent(username_or_id)
+    render(conn, "profile.html", %{user: data.user, timeline: data.timeline})
   end
 
   def assign_id(%{path_info: ["notice", notice_id]} = conn, _opts),
index c4cdb102956663082640a0b55336d830f7df3a1d..b16d19a2c183d824de5f36a91c4321bcf94ddfbf 100644 (file)
@@ -1,19 +1,19 @@
-<div class="activity" <%= if @data[:selected] do %> id="selected" <% end %>>
+<div class="activity" <%= if @selected do %> id="selected" <% end %>>
   <p class="pull-right">
-    <%= link @data.published, to: @data.link, class: "activity-link" %>
+    <%= link @published, to: @link, class: "activity-link" %>
   </p>
-  <%= render("user_card.html", %{user: @data.user}) %>
+  <%= render("user_card.html", %{user: @user}) %>
   <div class="activity-content">
-    <%= if @data.title != "" do %>
+    <%= if @title != "" do %>
       <details>
-        <summary><%= raw @data.title %></summary>
-        <div class="e-content"><%= raw @data.content %></div>
+        <summary><%= raw @title %></summary>
+        <div class="e-content"><%= raw @content %></div>
       </details>
     <% else %>
-      <div class="e-content"><%= raw @data.content %></div>
+      <div class="e-content"><%= raw @content %></div>
     <% end %>
-    <%= for %{"name" => name, "url" => [url | _]} <- @data.attachment do %>
-      <%= if @data.sensitive do %>
+    <%= for %{"name" => name, "url" => [url | _]} <- @attachment do %>
+      <%= if @sensitive do %>
         <details class="nsfw">
           <summary><%= Gettext.gettext("sensitive media") %></summary>
           <div>
index 35c3c17cdc00b65181b906f6acb510a1ef41565a..f0d3b5972171e2fa6cb93c65a1c2b9750d25c269 100644 (file)
@@ -1,5 +1,5 @@
 <div class="conversation">
-  <%= for notice <- @data do %>
-    <%= render("_notice.html", %{data: notice}) %>
+  <%= for activity <- @activities do %>
+    <%= render("_notice.html", activity) %>
   <% end %>
 </div>
index 79bf5a729b5637b14c505b3a629d987a10ba91c4..da23be1e5a8e285b305f54731cdd8e33b2970210 100644 (file)
@@ -1,14 +1,14 @@
 <h1>
   <form class="pull-right collapse" method="POST" action="<%= Helpers.util_path(@conn, :remote_subscribe) %>">
-    <input type="hidden" name="nickname" value="<%= @data.user.nickname %>">
+    <input type="hidden" name="nickname" value="<%= @user.nickname %>">
     <input type="hidden" name="profile" value="">
     <button type="submit" class="collapse">Remote follow</button>
   </form>
-  <%= raw (@data.user.name |> Formatter.emojify(emoji_for_user(@data.user))) %>
+  <%= raw (@user.name |> Formatter.emojify(emoji_for_user(@user))) %>
 </h1>
-<p><%= raw @data.user.bio %></p>
+<p><%= raw @user.bio %></p>
 <div class="activity-stream">
-  <%= for activity <- @data.timeline do %>
-    <%= render("_notice.html", %{data: activity}) %>
+  <%= for activity <- @timeline do %>
+    <%= render("_notice.html", Map.put(activity, :selected, false)) %>
   <% end %>
 </div>