pyfedi/app/templates/list_communities.html

109 lines
6.6 KiB
HTML
Raw Normal View History

{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %}
{% extends 'themes/' + theme() + '/base.html' %}
{% else %}
{% extends "base.html" %}
{% endif %} %}
2023-08-22 02:24:11 -07:00
{% from 'bootstrap5/form.html' import render_form %}
2024-02-18 18:56:56 -08:00
{% set active_child = 'list_communities' %}
2023-08-22 02:24:11 -07:00
{% block app_content %}
2023-12-21 17:05:39 -08:00
<div class="row g-2 justify-content-between mt-2">
<div class="col-auto">
<div class="btn-group">
2023-09-05 01:25:02 -07:00
<a href="/communities" class="btn {{ 'btn-primary' if request.path == '/communities' else 'btn-outline-secondary' }}">
{{ _('All') }}
</a>
<a href="/communities/local" class="btn {{ 'btn-primary' if request.path == '/communities/local' else 'btn-outline-secondary' }}">
{{ _('Local') }}
</a>
<a href="/communities/subscribed" class="btn {{ 'btn-primary' if request.path == '/communities/subscribed' else 'btn-outline-secondary' }}">
{{ _('Joined') }}
2023-09-05 01:25:02 -07:00
</a>
2024-02-13 12:29:17 -08:00
</div>
</div>
<div class="col-auto">
{% if topics %}
<form method="get" style="display:inline;">Topic:
<select name="topic_id" class="form-control-sm submit_on_change" aria-label="{{ _('Choose a topic to filter communities by') }}">
<option value="0">All</option>
{% for topic in topics %}
<option value="{{ topic.id }}" {{ 'selected' if topic.id == topic_id }}>{{ topic.name }}</option>
{% endfor %}
</select>
</form>
{% endif %}
<form method="get" style="display:inline;"><input type="search" name="search" placeholder="{{ _('Search') }}" value="{{ search }}"></form>
</div>
<div class="col-auto">
<div class="btn-group">
2023-09-02 21:30:20 -07:00
<a href="{{ url_for('community.add_local') }}" class="btn btn-outline-secondary">{{ _('Create local') }}</a>
<a href="{{ url_for('community.add_remote') }}" class="btn btn-outline-secondary">{{ _('Add remote') }}</a>
</div>
<!-- <form method="get" action="/communities">
2023-09-05 01:25:02 -07:00
<input name='search' type="search" placeholder="Find a community" class="form-control" value="{{ search }}" />
</form> -->
</div>
</div>
{% if len(communities) > 0 %}
<div class="table-responsive-md mt-4">
<table class="communities_table table table-striped table-hover w-100">
2024-01-25 19:19:06 -08:00
<caption class="visually-hidden">{{ _('Communities') }}</caption>
<thead>
<tr>
2024-01-22 22:17:05 -08:00
<th> </th>
2024-01-25 19:19:06 -08:00
<th {% if not low_bandwidth %}colspan="2"{% endif %} scope="col">
<a href="?sort_by=title{{ ' desc' if sort_by.text == 'community.title' }}" title="{{ _('Sort by name') }}" rel="nofollow">{{ _('Community') }}
2024-01-06 16:35:36 -08:00
<span class="{{ 'fe fe-chevron-up' if sort_by.text == 'community.title' }}{{ 'fe fe-chevron-down' if sort_by.text == 'community.title desc' }}"></span>
</a>
</th>
2024-01-25 19:19:06 -08:00
<th scope="col">
<a href="?sort_by=post_count{{ ' desc' if sort_by.text == 'community.post_count' }}" title="{{ _('Sort by post count') }}" rel="nofollow">{{ _('Posts') }}
2024-01-06 16:35:36 -08:00
<span class="{{ 'fe fe-chevron-up' if sort_by.text == 'community.post_count' }}{{ 'fe fe-chevron-down' if sort_by.text == 'community.post_count desc' }}"></span>
</a>
</th>
2024-01-25 19:19:06 -08:00
<th scope="col">
<a href="?sort_by=post_reply_count{{ ' desc' if sort_by.text == 'community.post_reply_count' }}" title="{{ _('Sort by reply count') }}" rel="nofollow">{{ _('Comments') }}
2024-01-06 16:35:36 -08:00
<span class="{{ 'fe fe-chevron-up' if sort_by.text == 'community.post_reply_count' }}{{ 'fe fe-chevron-down' if sort_by.text == 'community.post_reply_count desc' }}"></span>
</a>
</th>
2024-01-25 19:19:06 -08:00
<th scope="col">
<a href="?sort_by=last_active{{ ' desc' if sort_by.text == 'community.last_active' }}" title="{{ _('Sort by recent activity') }}" rel="nofollow">{{ _('Active') }}
2024-01-06 16:35:36 -08:00
<span class="{{ 'fe fe-chevron-up' if sort_by.text == 'community.last_active' }}{{ 'fe fe-chevron-down' if sort_by.text == 'community.last_active desc' }}"></span>
</a>
</th>
</tr>
</thead>
<tbody>
{% for community in communities %}
<tr class="">
<td width="70">{% if current_user.is_authenticated %}
2024-01-10 23:52:09 -08:00
{% if community_membership(current_user, community) in [SUBSCRIPTION_MEMBER, SUBSCRIPTION_MODERATOR, SUBSCRIPTION_OWNER] %}
2024-01-15 18:38:56 -08:00
<a class="btn btn-primary btn-sm" href="/community/{{ community.link() }}/unsubscribe" rel="nofollow">{{ _('Leave') }}</a>
{% elif community_membership(current_user, community) == SUBSCRIPTION_PENDING %}
2024-01-15 18:38:56 -08:00
<a class="btn btn-outline-secondary btn-sm" href="/community/{{ community.link() }}/unsubscribe" rel="nofollow">{{ _('Pending') }}</a>
{% else %}
2024-01-15 18:38:56 -08:00
<a class="btn btn-primary btn-sm" href="/community/{{ community.link() }}/subscribe" rel="nofollow">{{ _('Join') }}</a>
{% endif %}
{% else %}
2024-01-15 18:38:56 -08:00
<a class="btn btn-primary btn-sm" href="/community/{{ community.link() }}/subscribe" rel="nofollow">{{ _('Join') }}</a>
{% endif %}</td>
2024-01-07 22:41:32 -08:00
{% if not low_bandwidth %}
<td width="46">
2024-01-22 22:17:05 -08:00
<a href="/c/{{ community.link() }}" aria-label="{{ _('View community') }}"><img src="{{ community.icon_image('tiny') }}" class="community_icon rounded-circle" loading="lazy" alt="" /></a>
2024-01-07 22:41:32 -08:00
</td>
{% endif %}
2024-01-25 19:19:06 -08:00
<th scope="row" class="pl-0"><a href="/c/{{ community.link() }}" aria-label="{{ _('View community') }}">{{ community.display_name() }}</a></th>
<td>{{ community.post_count }}</td>
<td>{{ community.post_reply_count }}</td>
<td>{{ moment(community.last_active).fromNow(refresh=True) }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<p>{{ _('There are no communities yet.') }}</p>
{% endif %}
2023-08-22 02:24:11 -07:00
{% endblock %}