forked from mirrors/bookwyrm
e92166c7f7
When the content of a profile card stretches it in height, the grid is not homogenous. This PR adds a CSS class that'll display cards as stretchable columns. The card content will be able to grow, which should always place the card footer at the bottom of the card.
109 lines
4.2 KiB
HTML
109 lines
4.2 KiB
HTML
{% extends 'layout.html' %}
|
|
{% load i18n %}
|
|
{% load bookwyrm_tags %}
|
|
{% load humanize %}
|
|
|
|
{% block title %}{% trans "Directory" %}{% endblock %}
|
|
|
|
{% block content %}
|
|
<header class="block">
|
|
<h1 class="title">
|
|
{% trans "Directory" %}
|
|
</h1>
|
|
</header>
|
|
|
|
{% if not request.user.discoverable %}
|
|
<div class="box has-text-centered content" data-hide="hide-join-directory"><div class="columns">
|
|
<div class="column">
|
|
<p>
|
|
{% trans "Make your profile discoverable to other BookWyrm users." %}
|
|
</p>
|
|
<form name="directory" method="POST" action="{% url 'directory' %}">
|
|
{% csrf_token %}
|
|
<button class="button is-primary" type="submit">Join Directory</button>
|
|
<p class="help">
|
|
{% url 'settings-profile' as path %}
|
|
{% blocktrans %}You can opt-out at any time in your <a href="{{ path }}">profile settings.</a>{% endblocktrans %}
|
|
</p>
|
|
</form>
|
|
</div>
|
|
<div class="column is-narrow">
|
|
{% trans "Dismiss message" as button_text %}
|
|
<button type="button" class="delete set-display" data-id="hide-join-directory" data-value="true">
|
|
<span>Dismiss message</span>
|
|
</button>
|
|
</div>
|
|
</div></div>
|
|
{% endif %}
|
|
|
|
{% include 'directory/filters.html' %}
|
|
|
|
<div class="columns is-multiline">
|
|
{% for user in users %}
|
|
<div class="column is-one-third">
|
|
<div class="card is-stretchable">
|
|
<div class="card-content">
|
|
<div class="media">
|
|
<a href="{{ user.local_path }}" class="media-left">
|
|
{% include 'snippets/avatar.html' with user=user large=True %}
|
|
</a>
|
|
<div class="media-content">
|
|
<a href="{{ user.local_path }}" class="is-block mb-2">
|
|
<span class="title is-4 is-block">{{ user.display_name }}</span>
|
|
<span class="subtitle is-7 is-block">@{{ user|username }}</span>
|
|
</a>
|
|
{% include 'snippets/follow_button.html' with user=user %}
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
{% if user.summary %}
|
|
{{ user.summary | to_markdown | safe | truncatechars_html:40 }}
|
|
{% else %} {% endif %}
|
|
</div>
|
|
</div>
|
|
<footer class="card-footer">
|
|
{% if user != request.user %}
|
|
{% if user.mutuals %}
|
|
<div class="card-footer-item">
|
|
<div class="has-text-centered">
|
|
<p class="title is-6 mb-0">{{ user.mutuals }}</p>
|
|
<p class="help">{% blocktrans count counter=user.mutuals %}follower you follow{% plural %}followers you follow{% endblocktrans %}</p>
|
|
</div>
|
|
</div>
|
|
{% elif user.shared_books %}
|
|
<div class="card-footer-item">
|
|
<div class="has-text-centered">
|
|
<p class="title is-6 mb-0">{{ user.shared_books }}</p>
|
|
<p class="help">{% blocktrans count counter=user.shared_books %}book on your shelves{% plural %}books on your shelves{% endblocktrans %}</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
<div class="card-footer-item">
|
|
<div class="has-text-centered">
|
|
<p class="title is-6 mb-0">{{ user.status_set.count|intword }}</p>
|
|
<p class="help">{% trans "posts" %}</p>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer-item">
|
|
<div class="has-text-centered">
|
|
<p class="title is-6 mb-0">{{ user.last_active_date|naturalday }}</p>
|
|
<p class="help">{% trans "last active" %}</p>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<div>
|
|
{% include 'snippets/pagination.html' with page=users path="/directory" %}
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script src="/static/js/localstorage.js"></script>
|
|
{% endblock %}
|