2021-03-21 23:37:52 +00:00
|
|
|
{% 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>
|
2021-03-25 15:39:45 +00:00
|
|
|
|
|
|
|
{% if not request.user.discoverable %}
|
|
|
|
<div class="box has-text-centered content">
|
|
|
|
{% url 'settings-profile' as path %}
|
|
|
|
<p>
|
2021-03-25 17:24:22 +00:00
|
|
|
{% trans "Make your profile discoverable to other BookWyrm users." %}
|
2021-03-25 15:39:45 +00:00
|
|
|
</p>
|
|
|
|
<form name="directory" method="POST" action="{% url 'directory' %}">
|
|
|
|
{% csrf_token %}
|
|
|
|
<button class="button is-primary" type="submit">Join Directory</button>
|
|
|
|
<p class="help">
|
|
|
|
{% blocktrans %}You can opt-out at any time in your <a href="{{ path }}">profile settings</a>{% endblocktrans %}
|
|
|
|
</p>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
|
2021-03-25 17:58:00 +00:00
|
|
|
<div class="notification content">
|
|
|
|
<h2 class="columns is-mobile mb-0">
|
|
|
|
<span class="column pb-0">Filters</span>
|
|
|
|
|
|
|
|
<span class="column is-narrow pb-0">
|
|
|
|
{% trans "Show filters" as text %}
|
|
|
|
{% include 'snippets/toggle/open_button.html' with text=text controls_text="filters" icon="arrow-down" class="is-small" %}
|
|
|
|
{% trans "Hide filters" as text %}
|
|
|
|
{% include 'snippets/toggle/close_button.html' with text=text controls_text="filters" icon="x" class="is-small" %}
|
|
|
|
</span>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
<div class="hidden mt-3" id="filters">
|
|
|
|
<div class="columns">
|
|
|
|
<div class="column">
|
|
|
|
<legend class="label">User type</legend>
|
|
|
|
<div class="box">
|
|
|
|
<label class="label"><input type="radio" class="radio"> {% trans "BookWyrm instances" %}</label>
|
|
|
|
<label class="label"><input type="radio" class="radio"> {% trans "All services" %}</label>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="column">
|
|
|
|
<legend class="label">Community</legend>
|
|
|
|
<div class="box">
|
|
|
|
<label class="label"><input type="radio" class="radio"> Local users</label>
|
|
|
|
<label class="label"><input type="radio" class="radio"> Federated community</label>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="column">
|
|
|
|
<legend class="label">Order by</legend>
|
|
|
|
<div class="box">
|
|
|
|
<div class="select">
|
|
|
|
<select>
|
|
|
|
<option checked>Suggested</option>
|
|
|
|
<option>Recently active</option>
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<button class="button is-primary">{% trans "Apply filters" %}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2021-03-21 23:37:52 +00:00
|
|
|
<div class="columns is-multiline">
|
|
|
|
{% for user in users %}
|
|
|
|
<div class="column is-one-third">
|
|
|
|
<div class="card block">
|
|
|
|
<div class="card-content">
|
|
|
|
<div class="media">
|
|
|
|
<span class="media-left">
|
|
|
|
{% include 'snippets/avatar.html' with user=user large=True %}
|
|
|
|
</span>
|
|
|
|
<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>
|
2021-03-25 15:43:53 +00:00
|
|
|
<span class="subtitle is-7 is-block">@{{ user|username }}</span>
|
2021-03-21 23:37:52 +00:00
|
|
|
</a>
|
|
|
|
{% include 'snippets/follow_button.html' with user=user %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="content">
|
2021-03-25 15:43:53 +00:00
|
|
|
{% if user.summary %}
|
2021-03-21 23:37:52 +00:00
|
|
|
{{ user.summary | to_markdown | safe | truncatechars_html:40 }}
|
2021-03-25 15:43:53 +00:00
|
|
|
{% else %} {% endif %}
|
2021-03-21 23:37:52 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<footer class="card-footer content">
|
|
|
|
<div class="card-footer-item">
|
|
|
|
<div class="has-text-centered">
|
|
|
|
<p class="title is-6 mb-0">{{ user.shelfbook_set.count }}</p>
|
|
|
|
<p class="help">{% trans "books shelved" %}</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<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 %}
|