mirror of
https://github.com/freedit-org/freedit.git
synced 2026-01-09 12:38:04 -05:00
197 lines
11 KiB
HTML
197 lines
11 KiB
HTML
{% extends "layout.html" %}
|
|
|
|
{% block content %}
|
|
<div class="level is-mobile px-3">
|
|
<div class="level-left">
|
|
<div class="tabs is-small is-toggle is-toggle-rounded">
|
|
<ul>
|
|
{% match filter.as_deref() %} {% when Some with ("followers") %}
|
|
<li><a href="/user/list">{{ "users"|l10n(page_data.lang) }}</a></li>
|
|
<li class="is-active"><a href="/user/list?filter=followers&id={{info.0}}">{{ "followers"|l10n(page_data.lang) }}</a></li>
|
|
{% when Some with ("following") %}
|
|
<li><a href="/user/list">{{ "users"|l10n(page_data.lang) }}</a></li>
|
|
<li class="is-active"><a href="/user/list?filter=following&id={{info.0}}">{{ "following"|l10n(page_data.lang) }}</a></li>
|
|
{% when Some with ("inn") %}
|
|
<li><a href="/user/list">{{ "users"|l10n(page_data.lang) }}</a></li>
|
|
<li class="is-active"><a href="/user/list?filter=inn&id={{info.0}}">⚓ {{info.1}}</a></li>
|
|
{% else %}
|
|
<li class="is-active"><a href="/user/list">{{ "users"|l10n(page_data.lang) }}</a></li>
|
|
{% endmatch %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="level-right">
|
|
{% match filter.as_deref() %} {% when Some with ("inn") %}
|
|
<div class="dropdown is-hoverable is-right">
|
|
<div class="dropdown-trigger">
|
|
<button class="button is-small is-rounded">
|
|
<span>
|
|
{% match role %}{% when Some(10) %} {{ "super"|l10n(page_data.lang) }}
|
|
{% when Some(7) %} {{ "mod"|l10n(page_data.lang) }}
|
|
{% when Some(5) %} {{ "fellow"|l10n(page_data.lang) }}
|
|
{% when Some(4) %} {{ "intern"|l10n(page_data.lang) }}
|
|
{% when Some(3) %} {{ "limited"|l10n(page_data.lang) }}
|
|
{% when Some(2) %} {{ "rejected"|l10n(page_data.lang) }}
|
|
{% when Some(1) %} {{ "pending"|l10n(page_data.lang) }}
|
|
{% else %} Inn {{ "role"|l10n(page_data.lang) }} {% endmatch %}
|
|
</span>
|
|
</button>
|
|
</div>
|
|
<div class="dropdown-menu">
|
|
<div class="dropdown-content">
|
|
{% if info.2 %}
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=1" class="dropdown-item">{{ "pending"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=2" class="dropdown-item">{{ "rejected"|l10n(page_data.lang) }}</a>
|
|
{% endif %}
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=3" class="dropdown-item">{{ "limited"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=4" class="dropdown-item">{{ "intern"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=5" class="dropdown-item">{{ "fellow"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=7" class="dropdown-item">{{ "mod"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?filter=inn&id={{info.0}}&role=10" class="dropdown-item">{{ "super"|l10n(page_data.lang) }}</a>
|
|
<hr class="dropdown-divider">
|
|
<a href="/user/list?filter=inn&id={{info.0}}" class="dropdown-item">{{ "all"|l10n(page_data.lang) }}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% when None %}
|
|
<div class="dropdown is-hoverable is-right">
|
|
<div class="dropdown-trigger">
|
|
<button class="button is-small is-rounded">
|
|
<span>
|
|
{% match role %}{% when Some(255) %} {{ "admin"|l10n(page_data.lang) }}
|
|
{% when Some(100) %} {{ "senior"|l10n(page_data.lang) }}
|
|
{% when Some(10) %} {{ "standard"|l10n(page_data.lang) }}
|
|
{% when Some(0) %} {{ "banned"|l10n(page_data.lang) }}
|
|
{% else %} {{ "role"|l10n(page_data.lang) }} {% endmatch %}
|
|
</span>
|
|
</button>
|
|
</div>
|
|
<div class="dropdown-menu">
|
|
<div class="dropdown-content">
|
|
<a href="/user/list?role=255" class="dropdown-item">{{ "admin"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?role=100" class="dropdown-item">{{ "senior"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?role=10" class="dropdown-item">{{ "standard"|l10n(page_data.lang) }}</a>
|
|
<a href="/user/list?role=0" class="dropdown-item">{{ "banned"|l10n(page_data.lang) }}</a>
|
|
<hr class="dropdown-divider">
|
|
<a href="/user/list" class="dropdown-item">{{ "all"|l10n(page_data.lang) }}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<figure>
|
|
<p class="image is-48x48">
|
|
<a href="/user/{{info.0}}"><img src="/static/avatars/{{info.0}}.png" alt="{{info.1}}"></a>
|
|
</p>
|
|
</figure>
|
|
{% endmatch %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="list has-visible-pointer-controls has-overflow-ellipsis box">
|
|
{% for user in users %}
|
|
<div class="list-item">
|
|
<div class="list-item-image">
|
|
<figure class="image is-64x64">
|
|
<a href="/user/{{user.uid}}"><img src="/static/avatars/{{user.uid}}.png"></a>
|
|
</figure>
|
|
</div>
|
|
<div class="list-item-content">
|
|
<div class="list-item-title"><a href="/user/{{user.uid}}">{{user.username}}</a></div>
|
|
<div class="list-item-description">{{user.about}}</div>
|
|
</div>
|
|
<div class="list-item-controls">
|
|
{% if is_admin %}
|
|
{% match filter.as_deref() %} {% when Some with ("inn") %}
|
|
<form id="role" action="/role/{{info.0}}/{{user.uid}}" method="post">
|
|
<fieldset>
|
|
<div class="field has-addons">
|
|
<p class="control">
|
|
<span class="select is-small">
|
|
<select name="role" required autocomplete="off">
|
|
{% if info.2 %}
|
|
<option value="Pending" {% if user.role == 1 %} selected {% endif %}>{{ "pending"|l10n(page_data.lang) }}</option>
|
|
<option value="Rejected" {% if user.role == 2 %} selected {% endif %}>{{ "rejected"|l10n(page_data.lang) }}</option>
|
|
{% endif %}
|
|
<option value="Limited" {% if user.role == 3 %} selected {% endif %}>{{ "limited"|l10n(page_data.lang) }}</option>
|
|
<option value="Intern" {% if user.role == 4 %} selected {% endif %}>{{ "intern"|l10n(page_data.lang) }}</option>
|
|
<option value="Fellow" {% if user.role == 5 %} selected {% endif %}>{{ "fellow"|l10n(page_data.lang) }}</option>
|
|
<option value="Mod" {% if user.role == 7 %} selected {% endif %}>{{ "mod"|l10n(page_data.lang) }}</option>
|
|
<option value="Super" {% if user.role == 10 %} selected {% endif %}>{{ "super"|l10n(page_data.lang) }}</option>
|
|
</select>
|
|
</span>
|
|
</p>
|
|
<div class="control">
|
|
<button type="submit" class="button is-success is-small">{{ "save"|l10n(page_data.lang) }}</button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</form>
|
|
{% when None %}
|
|
<form id="role" action="/role/{{info.0}}/{{user.uid}}" method="post">
|
|
<fieldset>
|
|
<div class="field has-addons">
|
|
<p class="control">
|
|
<span class="select is-small">
|
|
<select name="role" required autocomplete="off">
|
|
<option value="Admin" {% if user.role == 255 %} selected {% endif %}>{{ "admin"|l10n(page_data.lang) }}</option>
|
|
<option value="Senior" {% if user.role == 100 %} selected {% endif %}>{{ "senior"|l10n(page_data.lang) }}</option>
|
|
<option value="Standard" {% if user.role == 10 %} selected {% endif %}>{{ "standard"|l10n(page_data.lang) }}</option>
|
|
<option value="Banned" {% if user.role == 0 %} selected {% endif %}>{{ "banned"|l10n(page_data.lang) }}</option>
|
|
</select>
|
|
</span>
|
|
</p>
|
|
<div class="control">
|
|
<button type="submit" class="button is-success is-small">{{ "save"|l10n(page_data.lang) }}</button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</form>
|
|
{% else %}
|
|
<span class="tag is-info">{{user.role_desc}}</span>
|
|
{% endmatch %}
|
|
{% else %}
|
|
<span class="tag is-info">{{user.role_desc}}</span>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<nav class="pagination">
|
|
{% if anchor < n %}
|
|
<a class="pagination-previous" disabled>{{ "prev"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
{% match role %} {% when Some with (val) %}
|
|
{% match filter %} {% when Some with (filter) %}
|
|
<a class="pagination-previous" href="/user/list?anchor={{anchor- n}}&is_desc={{is_desc}}&filter={{filter}}&id={{info.0}}&role={{val}}">{{ "prev"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
<a class="pagination-previous" href="/user/list?anchor={{anchor- n}}&is_desc={{is_desc}}&role={{val}}">{{ "prev"|l10n(page_data.lang) }}</a>
|
|
{% endmatch %}
|
|
{% else %}
|
|
{% match filter %} {% when Some with (filter) %}
|
|
<a class="pagination-previous" href="/user/list?anchor={{anchor- n}}&is_desc={{is_desc}}&filter={{filter}}&id={{info.0}}">{{ "prev"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
<a class="pagination-previous" href="/user/list?anchor={{anchor- n}}&is_desc={{is_desc}}">{{ "prev"|l10n(page_data.lang) }}</a>
|
|
{% endmatch %}
|
|
{% endmatch %}
|
|
{% endif %}
|
|
|
|
{% if users.len() < n %}
|
|
<a class="pagination-next" disabled >{{ "next"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
{% match role %} {% when Some with (val) %}
|
|
{% match filter %} {% when Some with (filter) %}
|
|
<a class="pagination-next" href="/user/list?anchor={{anchor + n}}&is_desc={{is_desc}}&filter={{filter}}&id={{info.0}}&role={{val}}">{{ "next"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
<a class="pagination-next" href="/user/list?anchor={{anchor + n}}&is_desc={{is_desc}}&role={{val}}">{{ "next"|l10n(page_data.lang) }}</a>
|
|
{% endmatch %}
|
|
{% else %}
|
|
{% match filter %} {% when Some with (filter) %}
|
|
<a class="pagination-next" href="/user/list?anchor={{anchor + n}}&is_desc={{is_desc}}&filter={{filter}}&id={{info.0}}">{{ "next"|l10n(page_data.lang) }}</a>
|
|
{% else %}
|
|
<a class="pagination-next" href="/user/list?anchor={{anchor + n}}&is_desc={{is_desc}}">{{ "next"|l10n(page_data.lang) }}</a>
|
|
{% endmatch %}
|
|
{% endmatch %}
|
|
{% endif %}
|
|
</nav>
|
|
{% endblock %} |