128 lines
5 KiB
Elixir
128 lines
5 KiB
Elixir
<div class="panel profile">
|
|
<div class="user-header">
|
|
<div class="user-banner"></div>
|
|
<div class="user-info">
|
|
<div class="container">
|
|
<a href="<%= (@user.uri || @user.ap_id) %>" rel="author noopener">
|
|
<div class="avatar">
|
|
<img
|
|
class="u-photo" width="48" height="48"
|
|
src="<%= User.avatar_url(@user) |> MediaProxy.url %>"
|
|
title="<%= @user.nickname %>" alt="<%= @user.nickname %>"
|
|
/>
|
|
</div>
|
|
</a>
|
|
<div class="user-summary">
|
|
<div class="top-line">
|
|
<span class="username">
|
|
<%= raw Formatter.emojify(@user.name, @user.emoji) %>
|
|
</span>
|
|
</div>
|
|
<div class="bottom-line">
|
|
<%= link "@#{@user.nickname}", to: (@user.uri || @user.ap_id), class: "account-name" %>
|
|
<%= if @user.is_admin && @user.show_role do %>
|
|
<span class="user-role"><%= gettext("Admin") %></span>
|
|
<% end %>
|
|
<%= if @user.is_moderator && @user.show_role do %>
|
|
<span class="user-role"><%= gettext("Moderator") %></span>
|
|
<% end %>
|
|
<%= if @user.actor_type == "Service" do %>
|
|
<span class="user-role"><%= gettext("Bot") %></span>
|
|
<% end %>
|
|
<%= if @user.is_locked do %>
|
|
<span>
|
|
<svg class="fa-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
<path d="M144 144v48H304V144c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192V144C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"/></svg>
|
|
</span>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="remote-follow">
|
|
<form method="POST" action="<%= Helpers.util_path(@conn, :remote_subscribe) %>">
|
|
<input type="hidden" name="nickname" value="<%= @user.nickname %>">
|
|
<input type="hidden" name="profile" value="">
|
|
<button type="submit" class="button-default"><%= Gettext.dpgettext("static_pages", "static fe profile page remote follow button", "Remote follow") %></button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="user-counts">
|
|
<div class="user-count">
|
|
<h5><%= gettext("Posts") %></h5>
|
|
<span><%= @user.note_count %></span>
|
|
</div>
|
|
<div class="user-count">
|
|
<h5><%= gettext("Following") %></h5>
|
|
<span><%= if @user.hide_follows_count do gettext("Hidden") else @user.following_count end %></span>
|
|
</div>
|
|
<div class="user-count">
|
|
<h5><%= gettext("Followers") %></h5>
|
|
<span><%= if @user.hide_followers_count do gettext("Hidden") else @user.follower_count end %></span>
|
|
</div>
|
|
</div>
|
|
<span class="user-bio"><%= raw @user.bio %></span>
|
|
</div>
|
|
<div class="user-profile-fields">
|
|
<%= for field <- @user.fields do %>
|
|
<div class="user-profile-field">
|
|
<dt title="<%= field["name"] %>"><%= field["name"] %></dt>
|
|
<dd title="<%= field["value"] %>"><%= field["value"] %></dd>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<div class="tab-switcher">
|
|
<a href="<%= (@user.uri || @user.ap_id) %>">
|
|
<button class="button-default tab <%= if @tab == "posts" do %>active<% end %>">
|
|
<%= gettext("Posts") %>
|
|
</button>
|
|
</a>
|
|
<a href="<%= (@user.uri || @user.ap_id) %>/with_replies">
|
|
<button class="button-default tab <%= if @tab == "with_replies" do %>active<% end %>">
|
|
<%= gettext("With Replies") %>
|
|
</button>
|
|
</a>
|
|
<%= unless @user.hide_follows do %>
|
|
<a href="<%= (@user.uri || @user.ap_id) %>/following">
|
|
<button class="button-default tab <%= if @tab == "following" do %>active<% end %>">
|
|
<%= gettext("Following") %>
|
|
</button>
|
|
</a>
|
|
<% end %>
|
|
<%= unless @user.hide_followers do %>
|
|
<a href="<%= (@user.uri || @user.ap_id) %>/followers">
|
|
<button class="button-default tab <%= if @tab == "followers" do %>active<% end %>">
|
|
<%= gettext("Followers") %>
|
|
</button>
|
|
</a>
|
|
<% end %>
|
|
<a href="<%= (@user.uri || @user.ap_id) %>/media">
|
|
<button class="button-default tab <%= if @tab == "media" do %>active<% end %>">
|
|
<%= gettext("Media") %>
|
|
</button>
|
|
</a>
|
|
</div>
|
|
<%= if @prev_page_id do %>
|
|
<%= link gettext("Show newer"), to: "?min_id=" <> @prev_page_id, class: "load-posts" %>
|
|
<% end %>
|
|
<div class="activity-stream">
|
|
<%= if @tab in ["posts", "with_replies", "media"] do %>
|
|
<%= for activity <- @timeline do %>
|
|
<%= render("_notice.html", Map.put(activity, :selected, false)) %>
|
|
<% end %>
|
|
<% else %>
|
|
<%= for user <- @timeline do %>
|
|
<%= render("_user_card.html", %{user: user}) %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
<%= if @next_page_id do %>
|
|
<%= link gettext("Show older"), to: "?max_id=" <> @next_page_id, class: "load-posts" %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<style>
|
|
:root {
|
|
--user-banner: url("<%= Pleroma.User.banner_url(@user) %>");
|
|
}
|
|
</style>
|