federation refinement
This commit is contained in:
@@ -25,12 +25,14 @@
|
||||
<div class="comment">{{ comment.value() }}</div>
|
||||
{% endif %}
|
||||
<div class="feed-meta">
|
||||
<a href="/users/{{ entry.review().user_id().value() }}" class="feed-user">{{ entry.user_display_name() }}</a>
|
||||
<span class="feed-time">{{ entry.review().watched_at().format("%b %-d, %Y") }}</span>
|
||||
{% match entry.review().source() %}
|
||||
{% when ReviewSource::Remote with { actor_url } %}
|
||||
<span class="remote-badge" title="{{ actor_url }}">↗ federated</span>
|
||||
<a href="{{ actor_url }}" class="feed-user" target="_blank" rel="noopener noreferrer">{{ entry.user_display_name() }}</a>
|
||||
<span class="feed-time">{{ entry.review().watched_at().format("%b %-d, %Y") }}</span>
|
||||
<span class="remote-badge">↗ federated</span>
|
||||
{% when ReviewSource::Local %}
|
||||
<a href="/users/{{ entry.review().user_id().value() }}" class="feed-user">{{ entry.user_display_name() }}</a>
|
||||
<span class="feed-time">{{ entry.review().watched_at().format("%b %-d, %Y") }}</span>
|
||||
{% endmatch %}
|
||||
</div>
|
||||
{% if ctx.is_current_user(entry.review().user_id().value()) %}
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
<div class="stat-label">movies</div>
|
||||
</div>
|
||||
<div class="stat-tile">
|
||||
<div class="stat-value">{{ stats.avg_rating_display() }}★</div>
|
||||
<div class="stat-value">{{ avg_rating_display }}★</div>
|
||||
<div class="stat-label">avg rating</div>
|
||||
</div>
|
||||
<div class="stat-tile">
|
||||
<div class="stat-value">{{ stats.favorite_director_display() }}</div>
|
||||
<div class="stat-value">{{ favorite_director_display }}</div>
|
||||
<div class="stat-label">fav director</div>
|
||||
</div>
|
||||
<div class="stat-tile">
|
||||
<div class="stat-value">{{ stats.most_active_month_display() }}</div>
|
||||
<div class="stat-value">{{ most_active_month_display }}</div>
|
||||
<div class="stat-label">most active</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,6 +36,27 @@
|
||||
{% endif %}
|
||||
</section>
|
||||
<a href="/users/{{ profile_user_id }}/following-list">View following ({{ following_count }})</a>
|
||||
{% if !pending_followers.is_empty() %}
|
||||
<section class="pending-followers">
|
||||
<h3>Pending follow requests ({{ pending_followers.len() }})</h3>
|
||||
<ul class="pending-list">
|
||||
{% for actor in pending_followers %}
|
||||
<li class="pending-item">
|
||||
<span class="pending-handle"><strong>{{ actor.handle }}</strong></span>
|
||||
<a href="{{ actor.url }}" class="pending-url" target="_blank" rel="noopener noreferrer">{{ actor.url }}</a>
|
||||
<form method="POST" action="/users/{{ profile_user_id }}/followers/accept" class="inline-form">
|
||||
<input type="hidden" name="actor_url" value="{{ actor.url }}">
|
||||
<button type="submit" class="btn-accept">Accept</button>
|
||||
</form>
|
||||
<form method="POST" action="/users/{{ profile_user_id }}/followers/reject" class="inline-form">
|
||||
<input type="hidden" name="actor_url" value="{{ actor.url }}">
|
||||
<button type="submit" class="btn-reject">Reject</button>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<div class="view-tabs">
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
<p class="error">{{ err }}</p>
|
||||
{% endif %}
|
||||
<form method="POST" action="/register">
|
||||
<label>
|
||||
Username<br>
|
||||
<small>2–30 chars: letters, digits, underscores, hyphens. This becomes your ActivityPub handle.</small><br>
|
||||
<input type="text" name="username" required autocomplete="username"
|
||||
pattern="[a-z0-9_\-]{2,30}" title="2–30 lowercase letters, digits, underscores or hyphens">
|
||||
</label>
|
||||
<label>
|
||||
Email<br>
|
||||
<input type="email" name="email" required autocomplete="email">
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<h2 class="page-title">Members</h2>
|
||||
{% for user in users %}
|
||||
<div class="user-row">
|
||||
<div class="user-avatar">{{ user.initial() }}</div>
|
||||
<div class="user-avatar">{{ user.initial }}</div>
|
||||
<div class="user-info">
|
||||
<div class="user-name">{{ user.display_name() }}</div>
|
||||
<div class="user-meta">{{ user.total_movies }} movies · avg {{ user.avg_rating_display() }}★</div>
|
||||
<div class="user-name">{{ user.display_name }}</div>
|
||||
<div class="user-meta">{{ user.total_movies }} movies · avg {{ user.avg_rating_display }}★</div>
|
||||
</div>
|
||||
<a href="/users/{{ user.user_id.value() }}" class="btn-secondary">View profile →</a>
|
||||
<a href="/users/{{ user.user_id }}" class="btn-secondary">View profile →</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<p class="empty">No users yet.</p>
|
||||
|
||||
Reference in New Issue
Block a user