2024-02-07 17:31:12 +13:00
{% if theme() and file_exists('app/templates/themes/' + theme() + '/base.html') %}
{% extends 'themes/' + theme() + '/base.html' %}
{% else %}
{% extends "base.html" %}
{% endif %} %}
2023-08-22 21:24:11 +12:00
{% from 'bootstrap5/form.html' import render_form %}
{% block app_content %}
2023-12-22 14:05:39 +13:00
< div class = "row g-2 justify-content-between mt-2" >
2023-08-29 22:01:06 +12:00
< div class = "col-auto" >
< div class = "btn-group" >
2023-09-05 20:25:02 +12: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' }}" >
2024-01-05 14:09:46 +13:00
{{ _('Joined') }}
2023-09-05 20:25:02 +12:00
< / a >
2024-01-04 16:00:19 +13:00
2024-02-14 09:29:17 +13: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 >
2023-08-29 22:01:06 +12:00
< / div >
< div class = "col-auto" >
< div class = "btn-group" >
2023-09-03 16:30:20 +12:00
< a href = "{{ url_for('community.add_local') }}" class = "btn btn-outline-secondary" > {{ _('Create local') }}< / a >
2023-08-29 22:01:06 +12:00
< a href = "{{ url_for('community.add_remote') }}" class = "btn btn-outline-secondary" > {{ _('Add remote') }}< / a >
< / div >
2024-01-05 14:09:46 +13:00
<!-- <form method="get" action="/communities">
2023-09-05 20:25:02 +12:00
< input name = 'search' type = "search" placeholder = "Find a community" class = "form-control" value = "{{ search }}" / >
2024-01-05 14:09:46 +13:00
< / form > -->
2023-08-29 22:01:06 +12:00
< / div >
< / div >
{% if len(communities) > 0 %}
2024-01-05 14:09:46 +13:00
< div class = "table-responsive-md mt-4" >
2023-11-17 22:02:44 +13:00
< table class = "communities_table table table-striped table-hover w-100" >
2024-01-26 16:19:06 +13:00
< caption class = "visually-hidden" > {{ _('Communities') }}< / caption >
2023-08-29 22:01:06 +12:00
< thead >
< tr >
2024-01-23 19:17:05 +13:00
< th > < / th >
2024-01-26 16:19:06 +13: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-07 13:35:36 +13: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-26 16:19:06 +13: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-07 13:35:36 +13: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-26 16:19:06 +13: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-07 13:35:36 +13: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-26 16:19:06 +13: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-07 13:35:36 +13: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 >
2023-08-29 22:01:06 +12:00
< / tr >
< / thead >
< tbody >
{% for community in communities %}
< tr class = "" >
2024-01-05 14:09:46 +13:00
< td width = "70" > {% if current_user.is_authenticated %}
2024-01-11 20:52:09 +13:00
{% if community_membership(current_user, community) in [SUBSCRIPTION_MEMBER, SUBSCRIPTION_MODERATOR, SUBSCRIPTION_OWNER] %}
2024-01-16 15:38:56 +13:00
< a class = "btn btn-primary btn-sm" href = "/community/{{ community.link() }}/unsubscribe" rel = "nofollow" > {{ _('Leave') }}< / a >
2024-01-05 14:09:46 +13:00
{% elif community_membership(current_user, community) == SUBSCRIPTION_PENDING %}
2024-01-16 15:38:56 +13:00
< a class = "btn btn-outline-secondary btn-sm" href = "/community/{{ community.link() }}/unsubscribe" rel = "nofollow" > {{ _('Pending') }}< / a >
2024-01-05 14:09:46 +13:00
{% else %}
2024-01-16 15:38:56 +13:00
< a class = "btn btn-primary btn-sm" href = "/community/{{ community.link() }}/subscribe" rel = "nofollow" > {{ _('Join') }}< / a >
2024-01-05 14:09:46 +13:00
{% endif %}
{% else %}
2024-01-16 15:38:56 +13:00
< a class = "btn btn-primary btn-sm" href = "/community/{{ community.link() }}/subscribe" rel = "nofollow" > {{ _('Join') }}< / a >
2024-01-05 14:09:46 +13:00
{% endif %}< / td >
2024-01-08 19:41:32 +13:00
{% if not low_bandwidth %}
< td width = "46" >
2024-01-23 19:17:05 +13: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-08 19:41:32 +13:00
< / td >
{% endif %}
2024-01-26 16:19:06 +13:00
< th scope = "row" class = "pl-0" > < a href = "/c/{{ community.link() }}" aria-label = "{{ _('View community') }}" > {{ community.display_name() }}< / a > < / th >
2023-08-29 22:01:06 +12:00
< 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 21:24:11 +12:00
{% endblock %}