forked from MarseyWorld/MarseyWorld
117 lines
3.5 KiB
HTML
117 lines
3.5 KiB
HTML
{% extends "settings.html" %}
|
|
|
|
{% block pagetitle %}Block Settings - {{SITE_NAME}}{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
{% if error %}
|
|
<div class="alert alert-danger alert-dismissible fade show my-3" role="alert">
|
|
<i class="fas fa-exclamation-circle my-auto"></i>
|
|
<span>
|
|
{{error}}
|
|
</span>
|
|
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
|
|
<span aria-hidden="true"><i class="far fa-times"></i></span>
|
|
</button>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<div class="d-md-flex justify-content-between mb-3">
|
|
|
|
<div>
|
|
<h2 class="h5">Users you block</h2>
|
|
<p class="text-small text-muted mb-md-0">You have blocked the following users. They cannot reply to your content or notify you with a username mention.</p>
|
|
</div>
|
|
<div class="mt-auto">
|
|
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#blockmodal">Block user</button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
{% if v.blocking.first() %}
|
|
<div class="card mb-5">
|
|
<div class="overflow-x-auto"><table class="table table-hover rounded mb-0">
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<th scope="col">User</th>
|
|
<th scope="col">Unblock</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="text-muted">
|
|
{% for block in v.blocking %}
|
|
{% set user=block.target %}
|
|
<tr>
|
|
<td>
|
|
{% include "user_in_table.html" %}
|
|
</td>
|
|
|
|
<td>
|
|
<button type="button" class="btn btn-primary" onclick="post_toast(this,'/settings/unblock?username={{user.username}}&formkey={{v.formkey}}')">
|
|
Unblock
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
{% else %}
|
|
<td>There are no blocked users</td>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% else %}
|
|
<div class="text-center border-md rounded py-7">
|
|
<i class="fas fa-ghost text-gray-500 mb-3" style="font-size: 3.5rem;"></i>
|
|
<p class="font-weight-bold text-gray-500 mb-0">No blocked users</p>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal fade" id="blockmodal" tabindex="-1" role="dialog" aria-labelledby="blockmodal" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
|
<form class="m-auto" action="/settings/block" id="exile-form" method="post" onsubmit="return false;">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Block users</h5>
|
|
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true"><i class="far fa-times"></i></span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<input type="hidden" name="formkey" value="{{v.formkey}}">
|
|
<input autocomplete="off" type="text" name="username" placeholder="Enter username..." id="exile-username" class="form-control" maxlength=25 required>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-link text-muted" data-bs-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary" id="exileUserButton" onclick="block_user()">Block user</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="toast error" id="toast-exile-error" role="alert" aria-live="assertive" aria-atomic="true" data-bs-animation="true" data-bs-autohide="true" data-bs-delay="5000">
|
|
<div class="toast-body text-center">
|
|
<i class="fas fa-exclamation-circle text-danger mr-2"></i><span id="toast-error-message">Error. Please try again.</span>
|
|
</div>
|
|
</div>
|
|
|
|
<script defer src="{{'js/settings_blocks.js' | asset}}"></script>
|
|
|
|
{% endblock %}
|