{% extends 'admin/base.html.twig' %}
{% block title %}Пользователи{% endblock %}
{% block heading %}Пользователи{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3">
<form method="get" class="d-flex" action="{{ path('admin_users') }}">
<div class="position-relative topbar-search" style="width: 300px;">
<input type="text" name="q" value="{{ filters.q }}" class="form-control ps-4" placeholder="Поиск..." />
<i class="mdi mdi-magnify fs-16 position-absolute text-muted top-50 translate-middle-y ms-2"></i>
</div>
<button class="btn btn-primary ms-2">Искать</button>
{% if filters.q %}
<a class="btn btn-light ms-2" href="{{ path('admin_users') }}">Сброс</a>
{% endif %}
</form>
{% if pagination.total_pages > 1 %}
<nav>
<ul class="pagination mb-0">
{% if pagination.page > 1 %}
<li class="page-item"><a class="page-link" href="{{ path('admin_users', filters|merge({'page': pagination.page - 1})) }}">«</a></li>
{% endif %}
<li class="page-item active"><span class="page-link">{{ pagination.page }}</span></li>
{% if pagination.page < pagination.total_pages %}
<li class="page-item"><a class="page-link" href="{{ path('admin_users', filters|merge({'page': pagination.page + 1})) }}">»</a></li>
{% endif %}
</ul>
</nav>
{% endif %}
</div>
<div class="text-muted fs-13 mb-2">{{ pagination.from }}-{{ pagination.to }} из {{ pagination.total }}</div>
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead>
<tr>
<th>ID</th>
<th>Аватар</th>
<th>Логин</th>
<th>Email</th>
<th>Баланс</th>
<th>Рефералы</th>
<th>Сессия</th>
<th>IP</th>
<th>Зарегистрирован</th>
<th class="text-end">Действие</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td><img src="{{ user.img_url }}" class="thumb-md rounded-circle avatar-border admin-user-avatar" alt="" /></td>
<td>{{ user.login }}</td>
<td>{{ user.email }}</td>
<td><strong>{{ user.balance_label }}</strong></td>
<td>
<small>ref_id {{ user.ref_id }}</small><br />
<small>{{ user.refs }} refs</small>
</td>
<td><span class="badge {{ user.has_session ? 'bg-success-subtle text-success' : 'bg-secondary-subtle text-secondary' }}">{{ user.has_session ? 'активна' : 'нет' }}</span></td>
<td><small>{{ user.ip ?: 'нет' }}</small></td>
<td><small>{{ user.created_at }}</small></td>
<td class="text-end">
<a href="{{ path('admin_user_edit', {'id': user.id}) }}" class="btn btn-sm bg-primary-subtle">
Редактировать <i class="mdi mdi-pencil-outline fs-14 text-primary"></i>
</a>
</td>
</tr>
{% else %}
<tr><td colspan="10" class="text-center text-muted py-4">Пользователей пока нет.</td></tr>
{% endfor %}
</tbody>
</table>
</div>
{% if pagination.total_pages > 1 %}
<div class="d-flex justify-content-end align-items-center gap-2 mt-3">
{% if pagination.page > 1 %}
<a class="btn btn-light" href="{{ path('admin_users', filters|merge({'page': pagination.page - 1})) }}">Назад</a>
{% endif %}
<span class="text-muted">Страница {{ pagination.page }} из {{ pagination.total_pages }}</span>
{% if pagination.page < pagination.total_pages %}
<a class="btn btn-light" href="{{ path('admin_users', filters|merge({'page': pagination.page + 1})) }}">Дальше</a>
{% endif %}
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}